Functional Modelling of Contractual Workflows in DAML
The Australian Security Exchange (ASX)'s CHESS replacement will be one of the most institutionally significant deployments of pure FP in the world. The CHESS settlement and registry system tracks the ownership of $1.5 trillion of the Australian economy on a daily basis. Its replacement is being developed by Digital Asset in DAML, and is due for completion in 2021.
Running on a distributed ledger technology (DLT), DAML is a smart contract language inspired by Haskell. It shares much of Haskell's pure core; however, it removes the infamous IO type, and instead provides a dedicated and restricted ledger-interaction type. This type, and the underlying ledger model it encapsulates, captures DAML's first-class control of authorisation and privacy.
This presentation introduces the DLT architecture style. It will explain the strengths and weaknesses of DLT, especially when modelling contractual workflows. It will demonstrate the use of DAML language to implement multi-party workflows that include authorisation and privacy requirements on the DLT platform developed by Digital Asset.
An attendee will come away with an understanding of how DLT is a distinct architectural style, a taste of DAML as a programming language, and an insight into the platform and language behind the highest profile functional programming project in Australia.
 CHESS: Clearing House Electronic Subregister System (https://www.asx.com.au/research/chess_brochure.pdf)
 Digital Asset Modelling Language (https://daml.com)
Outline/Structure of the Talk
Introduction to Digital Ledger Technology as an Architectural Style (5-min)
Introduction to DAML as a Contractual Workflow Language & DAML Modeling (5-min)
DAML Coding Examples (15-min)
- How DLT is a distinct architectural style
- A taste of DAML as a programming language
- An understanding of the nature of multi-party authorization and privacy challenges imposed by contractual workflows, and how DLT and DAML assists in solving them
Anyone interested in the technology behind a world-first, large-scale, Australian FP project
Prerequisites for Attendees
The introduction to the DLT Architectural Style will try not to assume any specific background.
The DAML and contractual workflow discussions will assume a basic familiarity with the concept of legal contracts and basic contract formation.
Coding examples will assume a basic familiarity with Haskell syntax and introductory concepts (Monad, Functor, Monoid).