16 - Richard Eisenberg on OCaml, Effective AI, Teaching FP and Hiring for Fundamentals
Jun 5, 2026 • 1h 40m
Video
Audio
About this episode
Richard Eisenberg is a language designer and compiler engineer for OCaml at Jane Street and a core contributor to the Haskell language. He focuses on static type systems and functional programming to make software more reliable, while maintaining ease of use and runtime efficiency. Richard has also taught various computer science topics to both university and high school students, and he holds a PhD from the University of Pennsylvania.
You can find Richard's work at https://richarde.dev/
0:00 Intro 0:56 Teaching CS to high school students 3:20 Turning down Microsoft for a teaching career 8:26 PhD, faculty life, and joining Jane Street 12:32 Algorithms and FP for high schoolers in the age of AI 17:08 How Richard uses LLMs day-to-day 22:29 Jane Street's internal AI experimentation 23:08 OCaml in the age of AI: open sourcing and error messages 29:31 Making illegal states unrepresentable: how far is too far 38:11 Formal verification and LLMs 42:08 Effect handlers in OCaml 44:03 Rust-style ownership and data race freedom in OxCaml 51:06 Why Jane Street chose OCaml 57:54 OCaml vs Haskell: purity, mutability, and physical equality 58:47 Onboarding engineers to OCaml at Jane Street 1:00:01 Hiring for fundamentals, not OCaml experience 1:07:07 Screening for good programming taste 1:10:47 Training vs hiring: the chicken-and-egg problem 1:15:31 Why OCaml hasn't gone mainstream 1:25:08 Dynamic languages: Python, JavaScript, and their place 1:28:15 Rust, C++, Scala: languages Richard finds interesting 1:33:08 Research at Jane Street: papers, peer review, and process 1:36:17 Contributing back to open source ecosystems 1:37:46 Dependent types in Haskell: motivation and the long road