KEYNOTE: FP Meets OS: The Case Of I/O
summary
Argues that I/O forces knowledge of hardware and OS, then shows concrete implementations and tradeoffs: device-level techniques like DMA and interrupts versus OS interfaces like select/poll, blocking/nonblocking, AIO and modern io_uring; functional-language encodings from London streams to Haskell’s continuation and stream encodings and the IO monad, plus Scala/OCaml examples and effect libraries; demonstrates which approaches map efficiently to kernels, which compose, and where surprising bottlenecks or complexity actually appear.
AI-written summary · about
chapters (7)
- 0:00Functional programming and I/O
- 9:42History of input and output
- 18:28FP languages tackle I/O
- 31:27Monads and modern I/O models
- 34:21IO monad in Haskell and Scala
- 36:08Effect systems and handlers
- 39:23Summary








