Higher-order, Typed, Inferred, Strict: ML Family Workshop 2023
2023-09-08
Seattle, United States
who it's for
ML language implementers, OCaml developers, compiler engineers, runtime engineers, programming language researchers, tool and library authors, performance engineers
topics
resource polymorphism for ML; LLVM backend for SML/NJ; semi-explicit polymorphic parameters; Standard ML prettyprinter library; Perceus RC runtime for OCaml; immutable-to-mutable array optimizations; ReML explicit effects and regions; OCaml to WebAssembly compilation; layout polymorphism and unboxed layouts; Flambda 2 forward value analysis; Salto abstract interpreter for OCaml exceptions
| title | author | length |
|---|---|---|
| Resource polymorphism: proposal for integrating first-class resources into ML | Guillaume Munch-Maccagnoni | 33m |
Proposal adds a type-level destructor to ML types and a finite kind system so values can be owned, moved and dropped, enabling first-class resources… | ||
| Modernizing Standard ML of New Jersey: A Status Report | David MacQueen, John Reppy | 34m |
Project modernizes Standard ML of New Jersey by porting to 64‑bit (stable Dec 2019), shrinking the codebase (basis library ~225k LOC, runtime ~25k C + 1.5k… | ||
| Semi-explicit polymorphic parameters | Leo White | 28m |
Reuses Garrigue and Remy’s semi-explicit ideas to add labeled types for polymorphic parameters, gives formal typing rules and implements them in an OCaml… | ||
| A New Standard ML Prettyprinter Library, An Experience Report | David MacQueen | 29m |
A new Standard ML prettyprinter library claims a simpler, more predictable design by synthesizing PPML and Hughes/Wadler ideas, implemented as modules in a… | ||
| Exploring Perceus For OCaml | Elton Pinto, Daan Leijen | 28m |
Prototype implements Perceus as an OCaml 4.14 backend and replaces the runtime GC so no GC runs in benchmarks; exceptions and mutable refs are not yet… | ||
| Immutable Arrays Help Mutating Arrays More Efficiently | Sven-Bodo Scholz | 32m |
Claim: keeping arrays immutable lets the compiler reshape and specialize high-level array code into very efficient mutable implementations. Uses rank… | ||
| Programming with Explicit Effects in ReML | Martin Elsman | 31m |
ReML is a statically typed ML dialect that lets programmers annotate where values live and what effects occur so region-based allocation and deallocation… | ||
| Wasocaml: a compiler from OCaml to WebAssembly | Léo Andrès, Pierre Chambart | 29m |
Wasocaml compiles OCaml (from the Flambda stage) to WebAssembly GC and ships a working prototype runtime that uses Wasm features like structs and subtyping… | ||
| Layout Polymorphism: Using static computation to allow efficient polymorphism over... | Richard A. Eisenberg | 30m |
Design introduces unboxed layouts for OCaml (32‑ and 64‑bit floats, 64‑bit ints, product layouts) and compiles polymorphic code by layout monomorphisation… | ||
| Flambda 2 Types: An abstract domain for static analysis of functional programs (mo... | Vincent LAVIRON, Pierre Chambart, Mark Shinwell | 29m |
Flambda 2 implements a forward value analysis as an abstract domain inside the OCaml optimizer, mapping variables to compact value summaries (integers… | ||
| The Design and Implementation of an Abstract Interpreter for OCaml Programs: A Pre... | Benoît Montagu | 34m |
A static analyser called Salto analyser implements an abstract interpreter for OCaml that claims to precisely detect which exceptions can be raised and when… | ||
| nothing matches | ||