Streamly: Declarative Concurrency And Dataflow Programming In Haskell
summary
Streamly is a Haskell library that exposes list-like stream abstractions for declarative dataflow and concurrent programming. It supports generating, merging, chaining, mapping, zipping and consuming streams, with automatic scaling of concurrency based on consumption rate so developers need not manage threads, locks or synchronization. The library aims to replace special-case high-performance libraries (e.g., text/bytestring) by unifying lists, streaming, concurrency, logic and reactive styles while delivering C-like performance for backend and real-time dataflow workloads.
AI-written summary · about
chapters (18)
- 0:00Start
- 8:22Engineering Focused Library (Goals)
- 10:05Streamly Version
- 10:44Fundamental Operations (Conceptual)
- 12:29Core Modules
- 15:59Summing an Int Stream (Better Ergonomics)
- 23:57Sending output to multiple files (tee)
- 24:37Splitting a file (split)
- 26:50Word Classifier
- 29:53Word Size Histogram
- 31:49Debugging a Pipeline (trace/tap)
- 33:11Appending N Streams (cat dir/* outfile)
- 35:16Lookup words
- 36:42Word Lookup Server
- 40:37Non-determinism (Looping)
- 40:58Reactive Programming
- 46:14Streamly GHC Plugin For Fusion
- 47:28Roadmap
related talks
01h 01mWeb Programming and Streaming Data in Haskell - Part 2 of 2
59mWeb Programming and Streaming Data in Haskell - Part 1 of 2
01h 05mLawful Asynchronous Programming
41mConcurrent Stream Processing
37mBlazing-Fast Directory Tree Traversal: Haskell Streamly Beats Rust
01h 22mHaskell for Everyday Programmers
49mConcurrency and Streaming in the Age of Loom
30mCONQUERING CONCURRENCY WITH FUNCTIONAL PROGRAMMING
