package catala

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

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:

  • Scalc.From_lambda

Backends

Related modules:

  • Scalc.To_python Formats a lambda calculus program into a valid Python program
OCaml

Innovation. Community. Security.