Statement calculus

This representation is the sixth in the compilation chain (see Architecture). Its main difference with the previous default calculus is the switch to a statement-based language. This representation does not assume any scoping rules in the language, every local variable has a unique id.

The module describing the abstract syntax tree is:

Compilation from lambda calculus

Scalc.From_lambda Performs the classical translation from an expression-based language to a statement-based language. Union types are eliminated in favor of tagged unions.

Related modules:

Backends

Related modules: