The Smart Undertake project started at Mission Hack 2018 hackathon. The intention of the project is to turn words into smart contracts, basically to using Haskell's Grammatical Framework to generate Solidity a language that compiles to the Ethereum virtual machine.

Aside from myself, the team included:

  • Two smart contract experts (Elaine Feng and Horace Yu)
  • Two legal experts (Paul Holden and Stephen Pederson)


The vision was to enable lawyers to understand and write smart contracts in English or any other human language. Similar to COBOL, where `ADD GIN TO VERMOUTH GIVING MARTINI` is a valid statement. It is also similar to NLIDB (Natural Language Interfaces to Databases), that goes from human language to SQL.

The technology used, GF, is:

  • A grammar formalism
  • A set of grammars for 16 languages
  • A reference compiler and set of interpreters


The project has a small semantic grammar to handle a particular type of contracts.

See the GitHub project for details. The slides from a talk are also available, together with a Web demo.

'The feedback received so far is that the extra level of indirection added by the GF compiler will make contracts less secure and it is thus not recommended.'