Skip to content

AU-COBRA/lambda-box-extraction

Repository files navigation

lambda-box-extraction

A backend for compiling $\lambda_\square$ (LambdaBox) and $\lambda_\square^T$ (LambdaBox-typed) to webassembly, Rust and other languages. The compilation phases have been verified in the Coq proof assistant.

Setup

The backend requires OCaml 4.13 or later to run. The development also depends on Coq 8.19, and developer builds of MetaCoq and CertiCoq.

To set up a development environment run:

git clone https://github.com/AU-COBRA/lambda-box-extraction.git
cd lambda-box-extraction
opam switch create . 4.14.2 --repositories default,coq-released=https://coq.inria.fr/opam/released
eval $(opam env)
opam install . --deps-only

You can then build the project by running make.

Usage

For local development the tool can be called with:

dune exec lbox -- TARGETLANGUAGE FILE [--outfile FILE]

E.g.

dune exec lbox -- wasm prog.box --outfile prog.wasm

For general usage, the tool can be install with make install

lbox TARGETLANGUAGE FILE [--outfile FILE]

Target languages

TODO

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published