Cover Image for Ben Hutchison: Stream-oriented programming in Scala with FS2
Cover Image for Ben Hutchison: Stream-oriented programming in Scala with FS2
Avatar for Melbourne Compose group
Melbourne Compose is a monthly meetup for practitioners of typed functional programming, including the Haskell & Scala languages
7 Went

Ben Hutchison: Stream-oriented programming in Scala with FS2

Registration
Past Event
Welcome! To join the event, please register below.
About Event

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.

Location
Kathleen Syme Library and Community Centre
251 Faraday St, Carlton VIC 3053, Australia
Avatar for Melbourne Compose group
Melbourne Compose is a monthly meetup for practitioners of typed functional programming, including the Haskell & Scala languages
7 Went