/simplicity

Simplicity is a blockchain programming language designed as an alternative to Bitcoin script.

Primary LanguageTclMIT LicenseMIT

Simplicity

Simplicity is a blockchain programming language designed as an alternative to Bitcoin script.

The language and implementation is still under development.

Contents

This project contains

  • A Haskell implementation of Simplicity's language semantics, type inference engine, serialization functions, and some example Simplicity code.
  • A Coq implementation of Simplicity's formal denotational and operational semantics.

Documentation

Detailed documentation can be found in the Simplicity.tm TeXmacs file. A recent PDF version can be found in the pdf branch.

Build

Software artifacts can be built using Nix. To build the Haskell project, run nix-build -A haskell. To build the Coq project, run nix-build -A coq.

Contact

Interested parties are welcome to join the Simplicity mailing list. Issues and pull-requests can be made through GitHub's interface.