Module Lcalc

module Ast : sig ... end

Abstract syntax tree for the lambda calculus

module Closure_conversion : sig ... end
module Compile_with_exceptions : sig ... end

Translation from the default calculus to the lambda calculus. This translation uses exceptions to handle empty default terms.

module Compile_without_exceptions : sig ... end

Translation 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 From_dcalc : sig ... end
module To_ocaml : sig ... end

Formats a lambda calculus program into a valid OCaml program