Package net.hydromatic.morel.compile
Validates programs
(represented as
AstNode),
deduces their type,
and compiles them into code that can be evaluated.-
Interface Summary Interface Description CompiledStatement Statement that has been compiled and is ready to be run from the REPL.Compiler.Action Something that needs to happen when a declaration is evaluated.Macro A function that is 'called' at compile time, and generates an expanded parse tree.TypeResolver.TypeEnv Type environment. -
Class Summary Class Description Compiler Compiles an expression to code that can be evaluated.Compiler.ComparableSingletonList<E extends java.lang.Comparable<E>> A comparable singleton list.Compiler.LinkCode A piece of code that is references another piece of code.Compiles Helpers forCompilerandTypeResolver.Environment Environment for validation/compilation.Environments Helpers forEnvironment.Environments.EmptyEnvironment Empty environment.Environments.SubEnvironment Environment that inherits from a parent environment and adds one binding.Pretty Prints values.Pretty.NamedVal Wrapper that indicates that a value should be printed "name = value".Pretty.TypedVal Wrapper that indicates that a value should be printed "val name = value : type".TypeResolver Resolves the type of an expression.TypeResolver.BindTypeEnv A type environment that consists of a type environment plus one binding.TypeResolver.EmptySubst Empty substitution.TypeResolver.PlusSubst Substitution that adds one (type, variable) assignment to a parent substitution.TypeResolver.Resolved Result of validating a declaration.TypeResolver.Subst Substitution.TypeResolver.TermToTypeConverter Visitor that converts type terms into actual types.TypeResolver.TermVariable Pair consisting of a term and a variable.TypeResolver.TypeMap The result of type resolution, a map from AST nodes to types. -
Enum Summary Enum Description BuiltIn Built-in constants and functions.TypeResolver.EmptyTypeEnv Empty type environment. -
Exception Summary Exception Description CompileException An error occurred during compilation.