ML 2024
who it's for
OCaml developers, language designers, compiler engineers, runtime engineers, programming-language researchers, library and tooling authors, systems programmers
topics
WebAssembly garbage-collection extension; OCaml to WebAssembly compilation; labeled tuple fields in OCaml; effects-and-handlers automatic differentiation; reverse-mode AD with mutable accumulators; pattern matching on mutable values; typed pattern generation for multi-stage programming; reformulation of the value restriction; practical evaluation of linear types; named-parameters generalized (Fram); asynchronous exceptions and interrupt design
| title | author | length |
|---|---|---|
| Wasm_of_ocaml | Jérôme Vouillon | 38m |
Wasm_of_ocaml converts OCaml bytecode to WebAssembly using the WebAssembly garbage‑collection extension (available in Chrome and Firefox, Safari soon), reuses… | ||
| Labeled Tuples (Informed Position) | Chris Casinghino, Ryan Tjoa | 24m |
Adds labels to tuple fields, implemented as an optional label on every field and landed in Jane Street’s OCaml branch, with a small compiler change (no row… | ||
| Automatic Differentiation via Effects and Handlers in OCaml | Jesse Sigal | 29m |
Implements four AD algorithms in OCaml 5.0 using effects and handlers to bubble up arithmetic and capture continuations, with a reverse-mode functor that pairs… | ||
| Pattern-matching on mutable values: danger! | Gabriel Scherer, Thomas Refis, Nicholas Roberts | 23m |
The OCaml pattern-matching compiler produces incorrect code in a corner case: matching on a value with mutable fields that are mutated during pattern-matching… | ||
| Safe Pattern Generation for Multi-Stage Programming | Ethan Range, Jeremy Yallop | 29m |
Design for typed generation of patterns whose shape is only known at staging time, implemented as a library on Metro camel. Core techniques are inductive code… | ||
| Rethinking the Value Restriction | Stephen Dolan | 31m |
Reformulates ML core with references and the value restriction and shows two standard assumptions fail: prenex polymorphism and let polymorphism are unsound… | ||
| Is there a use for linear types? | Guillaume Munch-Maccagnoni | 31m |
Argues that linear types and linear logic are different theories with different claims, and tests practical promises by tracing models, polarities and effect… | ||
| Fram: Named Parameters Pushed to the Limit | Patrycja Balik, Piotr Polesiuk, Piotr Polesiak | 24m |
Fram is an ML-family experimental language that pushes a single, named parameters generalized mechanism to encode many features rather than adding special… | ||
| Designing interrupts for ML and OCaml | Guillaume Munch-Maccagnoni, Leo White, Stephen Dolan | 27m |
Proposes a concrete design for OCaml asynchronous exceptions that introduces a new exception kind separate from ordinary catchable exceptions, plus a… | ||
| nothing matches | ||