package catala

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

Module LcalcSource

Sourcemodule Ast : sig ... end

Abstract syntax tree for the lambda calculus

Sourcemodule Closure_conversion : sig ... end

This 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.

Sourcemodule Compile_with_exceptions : sig ... end

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

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.

Sourcemodule From_dcalc : sig ... end
Sourcemodule Monomorphize : sig ... end
Sourcemodule To_ocaml : sig ... end

Formats a lambda calculus program into a valid OCaml program

OCaml

Innovation. Community. Security.