Skip to main content

Functional reactive programming with propagators

UB4.136 | Day 2 | 12:00 - 12:30 | Speakers: David Thompson

Functional reactive programming with propagators
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

Functional reactive programming (FRP) is a declarative programming paradigm that is most commonly used in interactive applications where imperative, event-driven, callback-laden code quickly becomes overwhelming and difficult to reason about. The reduction in cognitive overhead comes at a price, however. Popular reactive systems are limited to one-way data flow (a directed acyclic graph) which limits the types of problems these systems can solve elegantly. Fortunately, a way to remove this limitation has been known for over 15 years! Alexey Radul's 2009 PhD thesis "Propagation Networks: A Flexible and Expressive Substrate for Computation" tells us how. In this talk, I'll use Guile Scheme to demonstrate how an FRP system built on the propagator model allows for cyclic dependencies without user-visible glitches whilst keeping implementation complexity low.

Speakers

David Thompson

David is the CTO at the Spritely Institute, a US-based nonprofit working on decentralized networking technology for safe collaboration. At Spritely, he works on Goblins, a capability-secure distributed programming environment, and Hoot, a Scheme to WebAssembly compiler and general-purpose WebAssembly toolchain. He is a longtime contributor to the Guile and Guix projects and the author of software such as Haunt, a purely functional static site generator.


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.