Memory Management with Stephen Dolan
Stephen Dolan works on Jane Street’s Tools and Compilers team where he focuses on the OCaml compiler. In this episode, Stephen and Ron take a trip down memory lane, discussing how to manage computer memory efficiently and safely. They consider trade-offs between reference counting and garbage collection, the surprising gains achieved by prefetching, and how new language features like local allocation and unboxed types could give OCaml users more control over their memory. Some links to topics that came up in the discussion: Stephen’s command-line JSON processor, jq: https://github.com/stedolan/jq Stephen’s Cambridge dissertation, “Algebraic Subtyping”: https://www.cs.tufts.edu/~nr/cs257/ar... and a protoype implementation of mlsub: https://github.com/stedolan/mlsub, a language based on those ideas. A post from Stephen on how to benchmark different memory allocators: https://blog.janestreet.com/memory-al... A Jane Street tech talk on “Unboxed Types for OCaml”: https://www.janestreet.com/tech-talks... An RFC in the OCaml RFC repo: https://github.com/ocaml/RFCs/blob/88... A paper from Stephen and KC Sivaramakrishnan (https://kcsrk.info/) called “Bounding Data Races in Space and Time”, which is all about a new and better memory model for Multicore OCaml: https://kcsrk.info/papers/pldi18-memo... Another paper describing the design of OCaml’s multicore GC: https://arxiv.org/pdf/2004.11663.pdf The Rust RFC for Higher-ranked trait bounds: https://rust-lang.github.io/rfcs/0387... You can find the transcript for this episode and all past episodes at signalsandthreads.com.

Unboxed Types for OCaml

The Network as a Program with Nate Foster

Google & AWS Veteran: What Top Tier Software Architects Do Differently

Co-Creator of Haskell: Useless vs Useful Languages, Rust vs C, Functional Programming | Simon Jones

Inside the Mind of Anthropic CEO Dario Amodei | The Circuit | Extended Interview

Why Testing Is Hard and How to Fix It with Will Wilson

The Future of Programming with Richard Eisenberg

What is an Operating System? with Anil Madhavapeddy

Jane and the Compiler

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Building the PERFECT Linux PC with Linus Torvalds

Something is jamming GPS over Europe. Here's what we found

Evolution of Financial Exchange Architectures

The Strange Math That Predicts (Almost) Anything

Building Tools for Traders with Ian Henry

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

The Only Unbreakable Law

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

Python, OCaml, and Machine Learning with Laurent Mazare

