Section: New Software and Platforms
Ott and Lem
lightweight executable mathematics
Functional Description
Ott and Lem are lightweight tools for writing, managing, and publishing large scale semantic definitions, where the scale makes it hard to keep a definition internally consistent, and to keep a tight correspondence between a definition and implementations.
The two tools are complementary. Ott focuses on higher-level programming language semantics. Lem is domain-specific language that resembles a pure subset of Objective Caml, supporting typical functional programming constructs and common logical mechanisms. Both tools can generate OCaml, HOL4, Coq, and Isabelle code. They also generate LaTeX code for inclusion of the language definition in scientific documents. Ott also supports a Lem backend for a tight integration between the two tools.
-
Participants: Francesco Zappa Nardelli, Scott Owens, Peter Sewell
-
URL: http://www.cl.cam.ac.uk/~pes20/ott/ and http://www.cl.cam.ac.uk/~pes20/lem/