Designing interrupts for ML and OCaml
summary
Proposes a concrete design for OCaml asynchronous exceptions that introduces a new exception kind separate from ordinary catchable exceptions, plus a distinction between raising and non‑raising asynchronous events. Provides a prototype masking prototype (5 years old) and resource‑management combinators to avoid invalid state on interrupts, notes compatibility constraints with multicore, C stack callbacks and JS/WASM hosts, and recommends auditing the standard library and migrating toward panic or checked exception semantics.
AI-written summary · about
chapters (10)
- 0:00Welcome
- 0:23Interrupts in ML and OCaml
- 3:39Motivations for interrupts
- 7:36Current interrupt approaches
- 11:07Errors versus exceptions
- 13:15Structured interrupts in ML
- 15:42OCaml interrupt requirements
- 18:39Prototype and future work
- 20:10Research directions
- 21:36Q&A
related talks
18mBackwards-Compatible Row-Based Exceptions in ML
26mAn Invitation to OCaml
19mImplementing OCaml APIs in Coq
01h 11mProgramming language memory models: Problems, solutions, and directions
29mMetaOCaml Theory and Implementation
28mA Mechanically Verified Garbage Collector for OCaml
01h 02mMelocoton: A Program Logic for Verified Interoperability Between OCaml and C (I...
17mUnboxed types for OCaml
