Efficient Parallel Functional Programming with Effects
summary
Extends the MPL/Maple compiler for Parallel ML to track and pin entangled objects and install read barriers on mutable objects, proving entanglement management costs O(ε) where ε is total entangled size so disentangled objects pay zero overhead. Implements a lock-free concurrent collector, runs 8 benchmarks across C++, Go, Java, OCaml and Maple on 72 cores, shows Maple within 2× of C++, roughly 2× faster than Go/Java and 6× faster than OCaml, averages ~30× speedup on 72 cores and space footprint close to C++ — practical and competitive.
AI-written summary · about
chapters (11)
- 0:00Parallel functional programming intro
- 1:11Why FP suits parallelism
- 2:34Memory challenges in parallel
- 6:09Hierarchical heap for GC
- 8:13Cross pointers in threads
- 10:19Performance vs other languages
- 12:28Tracking entangled objects
- 14:11Overhead of entangled objects
- 15:17Efficiency benchmarks
- 16:00Why Maple performs well
- 16:45Q&A








