Spotlight on Manuel Chakravarty
Functional Smart Contracts
Functional programming and blockchains are a match made in heaven! The immutable and reproducible nature of distributed ledgers is mirrored in the semantic foundation of functional programming. Moreover, the concurrent and distributed operation calls for a programming model that carefully controls shared mutable state and side effects. Finally, the high financial stakes often associated with blockchains suggest the need for high assurance software and formal methods.
Nevertheless, most existing blockchains favor an object-oriented, imperative approach in both their implementation as well as in the contract programming layer that provides user-defined custom functionality on top of the basic ledger. On the one hand, this might appear surprising, given that it is widely understood that this style of programming is particularly risky in concurrent and distributed systems. On the other hand, blockchains are still in their infancy and little research has been conducted into associated programming language technology.
In this talk, I will explain the connection between blockchains and functional programming and argue that blockchains are a well-suited application area for functional programming techniques. I will illustrate this with evidence from the research-driven development of the Cardano blockchain and its contract programming platform, Plutus. Cardano and Plutus are implemented in Haskell and Rust, and the development process includes semi-formal specifications together with mechanized theorem proving to formalize key components.
Manuel M T Chakravarty works with Tweag I/O as a functional programming evangelist, architects blockchain languages at IOHK, and develops the interactive development environment Haskell for Mac—one of the first Swift apps on the Mac App Store. His interests span from functional programming, novel compiler technology & programming language theory over high-performance & distributed computing to blockchain technology. He used to be an associate professor at UNSW Sydney and contributed to both the design and implementation of the Haskell programming language as well as several Haskell tools and open source libraries, including multiple systems for data parallel programming of multicore CPUs and GPUs. Over the last three years, he focused on making functional programming more broadly accessible and on exploring its role in app development in Swift. Most importantly, he believes in the fruitful combination of theory and practice.
For more on Manuel, visit:
About Lambda World:
Lambda World takes place October 17th - 18th, in Cádiz, Spain and is hosted by 47 Degrees in conjunction with the Scala and Java communities of Spain. The event is located at the Palacio de Congresos, an old tobacco factory near the beach. You can find more details at Lambda.world