Uniting Church and State: FP and OO Together
summary
Describes using Church encoding (refunctionalisation) to turn an algebraic-data FP stream into an object-style receiver-based stream so a multi-TB time-series engine for Maana goes from pull-style allocation-heavy data results to per-node receivers. Implements a streaming API like Monix/Akka Streams/Reactive Extensions, applies a partial CPS transform, and measures a simple benchmark dropping 530 ms to 387 ms (≈1.4× faster). Code and examples live on the GitHub referenced from the Scala Days Copenhagen 2017 recording.
AI-written summary · about
chapters (12)
- 0:00Start
- 0:43Audience Participation
- 9:31Avoiding Side-Effects
- 10:31Church Encoding
- 14:21Requirements
- 16:49Pool Based Model
- 17:32Control Information
- 21:01Benchmarks
- 22:58Summary
- 24:52Free Structure Type Classes
- 26:44Extensibility
- 28:14Add New Actions
related talks
44mTaking the plunge - a deep dive into streaming with fs2
48mObject Functional Programming
38mFP vs OO: Choose Two
19mScala for the Rest of Us
01h 00mWhat The Functional Programming
38mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 5 of 6
42mOXES, TAPIRS AND STTPS
31mFUNCTIONAL EVENT-DRIVEN ARCHITECTURE
