ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Fri 6 Sep 2024 11:45 - 12:30 at Meeting 4 - Algebraic Data Types and Performance

Now integrated in mainstream languages, Algebraic Data Types (ADTs) have established themselves as a nice way to reason about data structures and their manipulation using \emph{pattern matching}. However, their use in low-level programming remains limited despite efforts, notably from the Rust community. Recently, Ribbit propose to let programmers express the precise memory layout of a given Algebraic Data Type, while still enjoying high-level programming constructs. Their compilation procedure covers efficient pattern matching, but leaves out constructors and struggles with arbitrarily mangled memory layouts.

We extend Ribbit with a new capability: generating arbitrary morphisms between memory representations of ADTs, and use this capability to compile complex code. We extend Ribbit to emit CFG-style programs with explicit memory allocation and full support for recursive types.

Slides (memorphisms.pdf)419KiB

Fri 6 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Algebraic Data Types and PerformanceFProPer at Meeting 4
11:00
45m
Talk
Tail Modulo Async/Await
FProPer
Vivien GACHET LIP, Lyon, France, Gabriel Radanne Inria, Ludovic Henrio University of Lyon - ENS Lyon - UCBL - CNRS - Inria - LIP
File Attached
11:45
45m
Talk
Ribbit with Memory Morphisms
FProPer
Thaïs Baudon ENS de Lyon & LIP, Gabriel Radanne Inria, Laure Gonnord Université Grenoble-Alpes - Grenoble INP - LCIS
Pre-print Media Attached File Attached