Module mil::types

source · []
Expand description

Project level types such as the abstract syntax tree and intermediate representations.

Structs

Push is inherent in the language and so not a variant of BuiltIn.

Enums

Primitive operations that are accessible in the mil language front-end.

Primitive operations as the are represented internally in the AST. Most notably, symbols are replaced with locations in memory. ExpandedBuiltins are directly compilable to MelVM opcodes.

Abstract syntax tree of mil. This is evaluated into a MelExpr which can be compiled directly to the MelVM.

The lower level representation of a program that is directly compilable into a binary for the MelVM.

Reserved identities for values available in every MelVM script. u8 represents the corresponding location on the heap.

Non-value-returning syntax.

An expression where all applications are on BuiltIn operators. Variables are also mangled to distinguish scope. It is the generated by applying all defined functions to an Expr.

Non-value-returning syntax.

Lisp evaluator fundamental data types. These are used by the compiler, not by MelVM.

Type Definitions

An index for a location on the MelVM heap.

Symbolic name for an expression

Internal data type for tracking variable ids.