ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Thu 15 Sep 2022 11:20 - 11:40 at Štih - Implementation of Functional Languages Chair(s): Matija Pretnar

We propose a new API and implementation for managing garbage collector (GC) roots for the OCaml foreign-function interface (FFI), which offers:

  • better performance than existing APIs (local or global roots);
  • efficient support for OCaml 5 with a more multicore-friendly design, with per-domain data structures
  • a reasoning based on resource-management idioms, enabling an easier FFI for Rust

Our contributions include a C library called Boxroot which is already in use in several OCaml-Rust interfacing libraries.

We believe that this approach generalizes beyond OCaml, to other FFI situations where a language with GC interacts with a language without pervasive GC, especially those that emphasize move semantics for resource handling (typically C++ or Rust); or even to future language explorations in mixing memory management techniques.

Thu 15 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

11:00 - 12:30
Implementation of Functional LanguagesML at Štih
Chair(s): Matija Pretnar University of Ljubljana, Slovenia
11:00
20m
Talk
A New Match Compiler for Standard ML of New Jersey
ML
David MacQueen University of Chicago (Emeritus)
File Attached
11:20
20m
Talk
Boxroot, fast movable GC roots for a better FFI
ML
Pre-print
11:40
20m
Talk
Unboxed types for OCaml
ML
Richard A. Eisenberg Jane Street, Stephen Dolan Jane Street, Leo White Jane Street
12:00
20m
Talk
What About the Integer Numbers?
ML
Daan Leijen Microsoft Research
Link to publication File Attached