Package convex.core.lang
Class Compiler
java.lang.Object
convex.core.lang.Compiler
Compiler class responsible for transforming forms (code as data) into an
Op tree for execution.
Phases in complete evaluation:
- Expansion (form -> AST)
- Compile (AST -> op)
- Execute (op -> result)
-
Field Summary
FieldsModifier and TypeFieldDescriptionInitial expander used for expansion of forms prior to compilation.Expander used for expansion of `quasiquote` forms.Expander used for expansion of `quote` forms. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
INITIAL_EXPANDER
Initial expander used for expansion of forms prior to compilation. Should work on both raw forms and syntax objects. Follows the "Expansion-Passing Style" approach of Dybvig, Friedman, and Haynes -
QUOTE_EXPANDER
Expander used for expansion of `quote` forms. Should work on both raw forms and syntax objects. Follows the "Expansion-Passing Style" approach of Dybvig, Friedman, and Haynes -
QUASIQUOTE_EXPANDER
Expander used for expansion of `quasiquote` forms. Should work on both raw forms and syntax objects. Follows the "Expansion-Passing Style" approach of Dybvig, Friedman, and Haynes
-
-
Constructor Details
-
Compiler
public Compiler()
-