Smart contracts are little programs that run on blockchain-like distributed ledger platforms. Typically, e.g., as on the Ethereum platform, such languages are extensions of general purpose languages, such as Javascript. As a result, the contracts written in these languages are hard to analyze and validate.
Some time ago, Nick Szabo wrote an essay exploring how a language for smart contracts could look like. The goal of this project is to go one step further to define a proper semantics and implementation of a language like this.
Deliverables: