lorentz: EDSL for the Michelson Language

[ language, library, mit ] [ Propose Tags ]

Lorentz is a powerful meta-programming tool which allows one to write Michelson contracts directly in Haskell. It has the same instructions as Michelson, but operates on Haskell values and allows one to use Haskell features.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.7.0, 0.7.1, 0.8.0, 0.9.0, 0.9.1, 0.10.0, 0.11.0, 0.12.0, 0.12.1, 0.13.0, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0
Change log CHANGES.md
Dependencies base-noprelude (>=4.7 && <5), bimap, bytestring, constraints (>=0.11), containers, data-default, first-class-families (>=0.5.0.0), fmt, formatting, ghc-prim, hspec, HUnit, interpolate, lens, morley, morley-prelude (>=0.3.0), named, optparse-applicative, pretty-terminal, QuickCheck, singletons, tasty, template-haskell, text, unordered-containers, vinyl [details]
License AGPL-3.0-or-later
Copyright 2019-2020 Tocqueville Group
Author camlCase, Serokell, Tocqueville Group
Maintainer Serokell <hi@serokell.io>
Category Language
Home page https://gitlab.com/morley-framework/morley
Bug tracker https://gitlab.com/morley-framework/morley/issues
Source repo head: git clone git@gitlab.com:morley-framework/morley.git
Uploaded by gromak at 2020-02-26T12:51:47Z
Distributions
Reverse Dependencies 4 direct, 0 indirect [details]
Downloads 4883 total (68 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-02-26 [all 1 reports]

Readme for lorentz-0.1.0

[back to package description]

Morley Lorentz EDSL

Lorentz is a powerful meta-programming tool which allows one to write Michelson contracts directly in Haskell.

Haskell's type checker and automatic type inference facilitate contracts implementation and reduce boilerplate related to types. Adoption of Algebraic Data Types makes work with complex objects safe and convenient. Later Lorentz contract can be dumped as a plain textual Michelson contract using functions from Michelson.Printer.

You can find Lorentz instructions in Lorentz modules.

Examples of using Lorentz eDSL reside in the morley-ledgers package. For more information, refer to that package's README.