Glossary

Marlowe

Moderate

Developed by Input Output Hong Kong (IOHK), Marlowe is an easy-to-use programming language for experts with no programming expertise or knowledge.

What Is Marlowe?

Marlowe is a programming language for financial contracts, designed to make it easy for non-programmers to write financial contracts, such as derivatives, loans, and other agreements. It also makes it easier for programmers to formally verify these contracts are correct.

The project was initiated by Input-Output Hong Kong (IOHK), the blockchain research and development company behind Cardano.  
Marlowe is part of IOHK's efforts to bring formal methods to smart contract programming, but it differs from previous approaches by being designed specifically for use in financial applications. To achieve this, its designers studied finance theory, particularly the work of Nobel Prize-winning economist, Kenneth Arrow, who pioneered much of the mathematical thinking behind modern finance. This resulted in a set of built-in abstractions based on real-world financial concepts, such as time and money, rather than more generic concepts like lists, functions, and variables found in other programming languages.

Marlowe is based on a theory of financial contracts that have been formalized in the Isabelle theorem prover. This gives it several unique features not found in other contract languages:

  • The ability to reason about the expected value of contracts.

  • The ability to formally verify properties of contracts.

In addition, Marlowe contracts can be executed on the Cardano blockchain. Users can try it live on Playground, which allows users to model and execute contracts without any knowledge of blockchain technology or smart contracts.

Marlowe was designed to be a simple and powerful tool for financial modeling. Its syntax has been kept as simple as possible so that both programmers and non-programmers can use it.

Marlowe can be used for a number of things, but it is particularly suited to the following:

  • Building interactive financial contracts

  • Defining games and protocols for decision-making processes

  • Simulating business processes, such as those involving finance or insurance

  • Modeling financial markets

  • Exploring ideas in game theory

It works in a sandbox environment, allowing all kinds of developers to write smart contracts on Cardano. 

Currently, Marlowe will run on Cardano, but it’s not tied to Cardano only. In the future, it can be used to write smart contracts on other blockchains as well.