A 🧵 about our PL research on typed functional programming and efficient data representation:
We have a paper accepted (conditionally) to ECOOP this year that we’ll hopefully be able to post online soon. It is part of our ongoing research project called Gibbon, which is focused on type-safe programming with serialized data—that is, programs that operate on data compacted in memory, rather than traditional pointer-based data structures. Basically, changing the data representation to make tree traversals/transforms much more efficient, and using types to make it safe.
Since I’ve been thinking about it recently, I thought I’d write up a thread about our PLDI 2019 paper, which lays out a lot of the foundation for this project. It was a few years ago and some people here might not have seen it.
LoCal: A Language for Programs Operating on Serialized Data
In it is a story about how we used types and programming language design to code tree traversals that are purely functional and type safe, and that are also as fast or often faster than idiomatic C/C++!
https://dl.acm.org/doi/10.1145/3314221.3314631