[ML'26] Functional Programming with Serialized Data

ACM SIGPLAN
142 views •

Functional Programming with Serialized Data (Video, ML 2026) Michael Vollmer (University of Kent) Abstract: In many high-level programming language implementations, the runtime system dictates an object layout that the compiler must stick to. When a human programmer wants to optimize a program, however, one of their primary levers of performance is changing data representation. For example, an HPC programmer knows how to pack a regular tree into a byte array for more efficient access. Unfortunately, this is error-prone, making it an undesirable way to achieve performance optimization at the expense of safety and readability. Furthermore, whenever a program receives data from the network or disk, rigid insistence on a particular heap layout causes an impedance mismatch we know as deserialization. Data represented in memory has pointers and arbitrary, sparse layout, while data on disk is packed contiguously, so data must be transformed from one form to another and back. Programming with serialized data is a technique for unifying the in-memory and on-disk representations of data, where the serialized form is used for both. This technique allows data processing programs to skip the deserialization/reserialization steps by operating directly on the data in its serialized form, and it also represents a principled approach to optimizing programs by compacting data representations and therefore increasing locality and minimizing indirection. Presentation at the ML 2026 workshop, August 28, 2026, https://icfp26.sigplan.org/home/mlfamilyworkshop-2026 Sponsored by ACM SIGPLAN.

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close