OCaml at LexiFi
summary
Company codebase uses OCaml in production since 2000, about 900,000 lines, 1,500 modules, running OCaml 5 across Windows, Linux and the web. CI moves from 40 to 10 minutes using persistent Jenkins VMs and a binary cache. Tooling includes Dune, Merlin, gen_js_api, CSML for .NET bindings and flexdll; opam and PPX are mostly avoided. A maintained compiler fork adds type-reflection that synthesizes runtime types, enabling automated printing, XML schemas and derived native/web UIs — a productivity win used in production.
AI-written summary · about
chapters (17)
- 0:00Introduction and background
- 5:53Speaker's background and LexiFi
- 7:22LexiFi's role in OCaml development
- 10:14Internal tools and open-source contributions
- 11:21Codebase size and migration to OCaml 5
- 13:46Development environment and tooling
- 16:36Build systems and CI optimization
- 17:41Dune build system experience
- 19:27Library usage and conservative approach
- 22:17PPX usage and alternatives
- 25:50Advanced OCaml features in practice
- 28:01Debugging and printing values
- 28:43Numerical code and performance
- 31:11CSML and Windows UI bindings
- 33:00Runtime types and compiler fork
- 38:19Runtime reflection benefits
- 39:05Conclusion and Q&A
related talks
26mAn Invitation to OCaml
22mState of the OCaml Platform 2023
35mOCaml Package Management with (only!) Dune
41mA Decision Maker's Guide to Typed Functional Languages
22mEfficient OCaml compilation with Flambda 2
19mHomogeneous builds with OBuilder and OCaml
26mBuck2 for OCaml Users & Developers
25mGenerating a corpus of Hazel programs from ill-typed OCaml programs
