Reflex Outside the Browser

Presented on September 2, 2019 at Compose Melbourne (invited speaker)
Slides | Handout | Code

Functional Reactive Programming (FRP) is often introduced by discussing events and behaviors, and how to transform and mix them. But once you understand the primitives, what do you do with them? Where do the first events come from, and how do you wire these parts into a larger whole?

FRP promises benefits in more domains than just user interfaces, so let’s take a look at Reflex outside its most common habitat of web frontends. There’s now a fairly up-to-date version of Reflex on Hackage, so we can play with it right away and leave GHCjs, Reflex-DOM, special build tools, and the custom nix frameworks for later.

An FRP network of events and behaviors runs inside a library called a “host”, which interfaces between the FRP network and the outside world. Using an interactive OpenGL program as our example, we’ll explore how a slightly larger reactive program hangs together, and how it uses the host’s features to do what it needs to do.

Copyright © 2019 Jack Kelly
Site generated by Hakyll (source)