A Safe Language for Programming with Money
I will discuss the design and implementation of Move, a new language for programming with money and other digital assets. Move allows programmers to define custom resource types with semantics inspired by linear logic. We have formalized the semantics of Move and proven that all Move programs enjoy resource safety, a value conservation guarantee similar to (e.g) conservation of mass. We are using Move to implement high-assurance currency issuance, payments, access control, and governance in the Libra blockchain.
Bio: Sam is a research scientist at Novi and a Libra Maintainer. He is interested in applying techniques from programming languages research to build simple, safe, and compositional systems. He is the originator of the Move project and works primarily on Move language design and verification. He previously worked on the Infer static analyzer at Facebook. He earned his PhD in computer science from the University of Colorado at Boulder in 2015 with a dissertation on flexible goal-directed abstract interpretation.