Software development

Helsinki FRP Pioneers 6.5.2015

Functional reactive programming is a highly declarative way to write event driven systems. No more observer pattern! No more bugs. Functional reactive programming is a paradigm shift, it revolutionizes the way people write event driven code. Sodium FRP library and the coming FRP book by Manning will start this revolution on a wide scale. This group is meant for people who don't want to suffer anymore from the six plagues of the observer pattern and want to be among the pioneers who embrace this simple but powerful shift in thinking.

FRP Lounge: Arrows and Fixed Points

Annankatu 34 B, 8th floor

More details on the Meetup page.

Tentative program: 

18.00-18.30 André Staltz - "What if the user was a function?"


"Virtual DOM rendering, unidirectional data flow, and reactive programming are popular UI techniques in JavaScript, yet it is not widely understood why they are beneficial. We will take a fresh new look at the essence of all user interfaces, derive patterns and gather insights, then build an abstraction that is as natural as possible. If we can afford to look at the user as just another function in our computation, then we end up with a cyclic composition of functions, which can be expressed as a fixed point over event streams. In this talk we will see how event streams as fixed points (and in FRP) are a powerful side effect-free pattern to express any kind of conversation-like interaction." 

18.30-18.45 Coffee break 

18.45-19.30 Open discussion (with projector) of the paper "Functional Reactive Programming, Continued" by Henrik Nilsson, Antony Courtney, John Peterson 

Please let me know if you would like to give a presentation about this paper. 


Functional Reactive Programming (FRP) extends a host programming language with a notion of time flow. Arrowized FRP (AFRP) is a version of FRP embedded in Haskell based on the arrow combinators. AFRP is a powerful synchronous dataflow programming language with hybrid modeling capabilities, combining advanced synchronous dataflow features with the higher-order lazy functional abstractions of Haskell. In this paper, we describe the AFRP programming style and our Haskell-based implementation. Of particular interest are the AFRP combinators that support dynamic collections and continuation-based switching. We show how these combinators can be used to express systems with an evolving structure that are difficult to model in more traditional dataflow languages.

19.30- 21.00 FRP Lounge

For more information, contact:

Andre Medeiros User Interface Engineer