reflex-frp / reflex

Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.
https://reflex-frp.org
BSD 3-Clause "New" or "Revised" License
1.07k stars 149 forks source link

Reflex inner workings documentation #171

Open eskimor opened 6 years ago

eskimor commented 6 years ago

I would like to gather a deeper understanding on how reflex works under the hood. Any pointers on how to get started, would be greatly appreciated. Is there some documentation on this available or some initial design documents or a recorded talk or something?

Many thanks in advance!

ali-abrar commented 6 years ago

One way to become more familiar with the inner workings is by writing a "host". See, e.g., https://github.com/reflex-frp/reflex-platform/blob/develop/examples/host.hs for a simple example. This doesn't do a whole lot, but extending something like this to support performEvent or postBuild might be instructive.

ali-abrar commented 6 years ago

But I definitely agree more docs are needed!

eskimor commented 6 years ago

Thank you for the tip! :-)