


Ben Hutchison: Stream-oriented programming in Scala with FS2
This evening's topic is Stream-oriented programming in Scala with FS2 [https://fs2.io/].
The power of effectful Stream-based programming comes from its ability to abstract over several longstanding boundaries that have traditionally been difficult:
1. Between small collections of data that readily fit into memory, versus large or even infinite collections that do not
2. Between modelling events that have already happened, versus events that may happen in future (such as a stream of mouse movements)
Older programming approaches typically require differently structured APIs to handle the different cases, whereas streams give us a single abstraction sufficiently flexible to apply in all these cases.
In Nov 2024 Victor Dukhovni ran a session around streaming in Haskell. For contrast and to further explore the topic, I want to look at one of Scala's leading stream libs, FS2, which has been quite successful at gaining industrial adoption.
- Typical situations where streams excel
- What's common between Haskell & Scala implementations
- How are FS2 streams constructed internally
Arrive from 530pm for conversation & socialising, I'll begin my topic at 630. We'll probably go for dinner on Lygon st afterwards .
As always, newcomers most welcome. Reach me on 0407 990 094 on the night if you have any issues finding the venue.
