This PR allows evaluating a second prelude (like the one in inferno-ml) in an environment that already has the first prelude (the core/builtin one), so that the second prelude can use ops and primitives defined in the first one.
It creates a new Prelude type (that subsumes the type alias ModuleMap) and refactors existing code to use it.
This PR allows evaluating a second prelude (like the one in
inferno-ml
) in an environment that already has the first prelude (the core/builtin one), so that the second prelude can use ops and primitives defined in the first one.It creates a new
Prelude
type (that subsumes the type aliasModuleMap
) and refactors existing code to use it.