PoP Seminar Talk
Making OCaml Safe for Performance Engineering
Co-head of Technology at Jane Street
Tuesday, 18 April, 2023; 3:00pm
Host: Jan Hoffmann
Over the last couple of years, Jane Street has greatly increased its investment in OCaml, and has started developing major extensions to the OCaml’s type system, with the primary goal of making OCaml a better language for writing high-performance systems.
In this talk, I’ll attempt to provide a developer’s-eye view of these changes. We’ll cover two major directions of innovation: first, the addition of modal types to OCaml, which opens up a variety of ambitious features, like memory-safe stack-allocation; type-level tracking of effects, and data-race freedom guarantees for multicore code. The second is the addition of a kind system to OCaml, which will provide more control over the representation of memory, in particular allowing for structured data to be represented in a cache-and-prefetch-friendly tabular form. Together, these features pull together some of the most important features for writing high performance code in Rust, while maintaining the relative simplicity of programming in OCaml.
In all of this, I’ll focus less on the type theory, and more on how these features are surfaced to users, the practical problems that they help us solve, and the place in the design space of programming languages that this leaves us in.
Yaron Minsky got his BA in Mathematics from Princeton and his PhD in Computer Science from Cornell, where he studied distributed systems. He joined Jane Street in 2003, where he started out developing quantitative trading strategies, going on to found the firm’s quantitative research group. He introduced OCaml to the company and managed the transition to using OCaml for all of its core infrastructure, turning Jane Street into the world’s largest industrial user of the language. In the meantime, he’s been involved in many different aspects of Jane Street’s technology stack, including trading and risk systems, machine learning infrastructure, developer tools, and user-interface toolkits. Yaron has lectured, blogged and written about programming for years, with articles published in Communications of the ACM and the Journal of Functional Programming, and is co-author of the book Real World OCaml.