Skip to main content


Lorentz is a stack-based embedded Domain Specific Language (eDSL) in Haskell that compiles to Michelson.

Some of its noteworthy features are:

  • An expressive type system, including product/sum types and parametric polymorphism.

  • Powerful type inference.

  • Type-safe mechanisms for writing smart contracts with an upgradeable storage and contract migrations.

  • The ability to easily share and reuse components of a contract as Haskell packages.

  • The ability to automatically generate documentation for your smart contract in Markdown format,

    and to keep it up-to-date with the contract's code as it evolves.

Lorentz Resources#