Extending the Marlowe Programming Language

Marlowe is a smart contract programming language, developed by IOHK to write financial contracts on the blockchain. The simple design of Marlowe allows programmers to avoid common errors, and perform analysis on the contract’s behavior without needing to actually run the contract on the blockchain.

Faustus is an extension of the Marlowe programming language, created with the goal of increasing the usability for users of the language. Smart contracts written in Marlowe usually contain many duplicate pieces of code, increasing the time and cost of maintaining the smart contracts. Faustus adds the ability to define blocks of code for reuse later in the contract. The Faustus extension has the same advantages as using Marlowe, while also reducing the amount of work spent developing and maintaining contracts.

Team Members Involved:

Kegan McIlwaine

Dr. Jim Caldwell

Stone Olguin

Short Term Goals:

  1. Evaluate the current specification of the language for any improvements that can be made.


Long Term Goals:

  1. To create a smart contract programming language that has been formally verified to have the same benefits as the Marlowe smart contract language while being easier to use.


 Completed formal verification of the current version of Faustus.

Contact Us

Wyoming Advanced Blockchain Lab

1000 E. University Ave.

Dept. 3315/EERB

Laramie, WY 82071

Email: mike.borowczak@uwyo.edu

Find us on Instagram (Link opens a new window)Find us on Facebook (Link opens a new window)Find us on Twitter (Link opens a new window)Find us on LinkedIn (Link opens a new window)Find us on YouTube (Link opens a new window)