Four Years of Embedded Haskell in Critical Real-Time Systems - Lessons and Insights
ACM SIGPLAN via YouTube
Overview
Coursera Spring Sale
40% Off Coursera Plus Annual!
Grab it
Explore a comprehensive conference presentation examining four years of production experience using Haskell in critical real-time embedded systems. Learn from Justin Le's practical insights on deploying Haskell as the primary language for coordinating concurrent workloads across diverse hardware including machines, sensors, FPGAs, and CUDA devices since 2021. Discover how familiar Haskell idioms like STM channels, locks, resource-scoping patterns, streaming combinators, and incremental serialization effectively handled concurrency, scheduling, and resource control in memory-constrained environments with strict correctness requirements. Examine experimental trials with advanced language features including dependent types, linear types, and JIT-style techniques, understanding where they enforced critical invariants like dimensional checks in data pipelines versus where they introduced unnecessary complexity. Gain practical patterns and heuristics for building reliable systems through key lessons: simple Haskell scales effectively, types enforce essential invariants, abstractions can obscure latency concerns, and advanced type features provide mixed value propositions. Understand how Haskell's core strengths—immutability, strong typing, laziness, resource scoping, and type-level reasoning—supported rapid iteration while maintaining system reliability across hardware refreshes and OS upgrades. Acquire a broader perspective on functional programming's viability in resource-constrained, high-reliability environments and practical guidance for considering Haskell in embedded project contexts.
Syllabus
[Haskell'25] Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons and Insights
Taught by
ACM SIGPLAN