Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons and Insights
summary
Since 2021 Haskell runs as the orchestration layer across Linux boxes, coordinating sensors, FPGAs, CUDA kernels and C FFI components; teams report zero-copy FPGA→PCIe→process for shared buffers, Cabal handling C/C++ builds, and Nixos+Nyx for deployment and CUDA dependency isolation. Software-level concurrency relies on STM as highest ROI (including hardware/time-based waits), incremental binary framing for TCP, progressive fallbacks (gRPC→HTTP2→HTTP1→TCP→file-descriptor hooks), and experiments show dependent types help API/dimensional checks while advanced type features sometimes add complexity.
AI-written summary · about
chapters (10)
- 0:00Embedded Haskell in real-time systems
- 3:51Embedded Haskell in practice
- 5:59Linux and NixOS integration
- 7:02Instrumentation and monitoring
- 8:27Progressive failure handling
- 10:11STM for concurrency
- 11:38Control flow and resource management
- 12:40Language features tried
- 14:03Closing thoughts and future
- 15:30Q&A
related talks
29mProgramming machine learning algorithms in hardware, sanely, using Haskell and Rust!
27mHasTEE: Programming Trusted Execution Environments with Haskell
53mIntro to Haskell for Erlangers
54mQ & A Session With Functional Conf Speakers
31mWhy Haskell is a Terrible Choice for Startups (And Why We Picked It Anyway)
44mUnderstanding Distributed Calculi in Haskell
01h 32mKeynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded Systems
36mIt's Embedded Rust Time
