Lcalcmodule Ast : sig ... endAbstract syntax tree for the lambda calculus
module Closure_conversion : sig ... endThis module performs environment-passing style closure conversion, relying on the existential TClosureEnv type and tuples for closure environments. The implementation is based on François Pottier's MPRI lesson. After closure conversion, closure hoisting is perform and all closures end up as toplevel definitions.
module From_dcalc : sig ... endTranslation from the default calculus to the lambda calculus. This translation uses an option monad to handle empty defaults terms. This transformation is one piece to permit to compile toward legacy languages that does not contains exceptions.
module Lift_positions : sig ... endThis modules does the following:
module Monomorphize : sig ... endmodule To_ocaml : sig ... end