Source: Comdas – Shutterstock
- Cardano’s Domain Specific Language “Marlowe” is, according to IOHK, better for DeFi applications than Ethereum’s Solidity.
- Marlowe is “industrial scale” and will published with Goguen.
In a new blog post, Professor Simon Thompson, Senior Research Fellow at IOHK, introduced the Domain Specific Language (DSL) called “Marlowe”, which will be published with Cardano’s next era, Goguen. Marlowe is a programming language for “financial contracts”, but not for smart contracts in general. For this reason, it is also different from general-purpose blockchain languages such as Solidity of Ethereum and Bitcoin Script, Thompson said:
Marlowe is industry-scale. We have built Marlowe contracts based on examples from one of the leading projects for financial smart contracts, the Algorithmic Contract Types Unified Standards (Actus) system. Currently, these and other examples can be seen in the Marlowe Playground, a browser-based environment in which users can create, edit, simulate, and analyse Marlowe contracts, without having to install or pay for anything.
In other words, Marlowe is a decentralized finance (DeFi) platform that supports direct, peer-to-peer lending, contracts for difference (CFDs) and other similar instruments. The implementation of Marlowe on Cardano will be completed with Goguen, enabling users and organizations to execute self-written or pre-built DeFi contracts and transfer crypto assets according to the terms of the contract.
According to Thompson, Marlowe can also be used by financial institutions, for example, to develop and deploy customized tools for their customers. To provide off-chain data, Marlowe will have oracle services “so that contracts can access values directly from a stock market ‘ticker’ or a popular data feed such as Coinbase”.
Marlowe will initially run on Cardano’s blockchain, but it is tied to it and could run on other blockchains in the future. In addition, as Charles Hoskinson has pointed out several times in the past, Marlowe will be just one example of a DSL. According to Thompson, other DSLs could be created, for example for supply chain management, insurance and accounting, “using the experience gained from developing and building Marlowe on the Cardano platform”.
For other types of contracts, Cardano has Plutus, which is also published with Goguen and is virtually the backbone of Marlowe. Thus, every Marlowe contract is executed by a Plutus program, the Marlowe Interpreter.
Marlowe as DSL has several advantages over the implementation via Plutus or Solidity from Ethereum. For example, “certain types of faulty contracts” are completely eliminated by the framework. In addition, users can create the contracts using various methods:
Users can create their DeFi contracts in different ways: they can write them as text, but also use visual programming to create smart contracts by fitting together blocks that represent the different components. Users can also choose from a range of templates and customise them as needed.
Currently, Marlowe contracts can be written in Haskell or JavaScript or directly in Marlowe visually through the “Marlowe Playground”. As Thompson announced, the next few months will see further improvements to the Playground user experience and the activation of Marlowe on the Cardano blockchain.