Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

News

Blog 4 months ago
An O(x)Caml book that runs
I am building a course, "Functional Programming with OCaml", for the NPTEL MOOC platform: twelve modules of recorded lectures. The course book is not a PDF and not a website with code listings you copy elsewhere. It is a website where the code runs, in yo
Read more
Report
Blog 5 months ago
Shrinking the OxCaml js_of_ocaml bundle: 285 MB to 4 MB
In the previous post on capsules, I cheated. The lecture I was adapting (from my CS6868 course on language abstractions for parallelism) used Await_capsule.Mutex.with_lock , the recommended non-deprecated way to acquire a capsule mutex, but the post shipp
Read more
Report
Blog 5 months ago
Capsules: compile-time lock discipline in OxCaml
In the previous post we fixed the racy gensym with Portable.Atomic . That worked because the shared state was a single integer with atomic primitives. What about state that needs a hash table, a multi-step update, or any structure where atomics aren't eno
Read more
Report
Blog 5 months ago
Data race freedom in OxCaml
A while back I wired up x-ocaml so this blog could embed live, editable OCaml notebooks. That post used a vanilla OCaml 5 toplevel. Today the toplevel running in your browser is built from OxCaml , the Jane Street fork of the compiler. That means we can p
Read more
Report
Blog 6 months ago
From Convergence to Confidence: Push-button verification for RDTs
What does it mean for a replicated data type to be correct ? For most of the literature, my own prior work included, the answer has been convergence: two replicas that have applied the same operations end up in the same state. I argued in my PaPoC 2026 ke
Read more
Report
Blog 11 months ago
Foundations for hacking on OCaml
How do you acquire the fundamental computer skills to hack on a complex systems project like OCaml? What's missing and how do you go about bridging the gap? There are many fundamental systems skills that go into working on a language like OCaml that only
Read more
Report
Blog 1 year ago
Testing x-ocaml, OCaml notebooks as a WebComponent
Can we have OCaml notebooks as pure client-side code? Can these notebooks have rich editor support (highlighting, formatting, types on hover, autocompletion, inline diagnostics, etc.)? Can you take packages from OPAM and use them in these notebooks? The a
Read more
Report
Blog 1 year ago
Linearity and uniqueness
In the last post , we looked at uniqueness mode and how uniqueness may be used to optimise. As we will see, uniqueness alone is insufficient in practice, and we also need a concept of linearity for uniqueness to be useful. Capturing unique values Let's st
Read more
Report
Blog 1 year ago
Uniqueness for Behavioural Types
Jane Street has been developing modal types for OCaml - an extension to the type system where modes track properties of values, such as their scope, thread sharing, and aliasing. These modes restrict which operations are permitted on values, enabling safe
Read more
Report
Show more news