Recently I was reading Conal Elliott's draft paper
Simply Efficient Functional Reactivity.
It's a great paper and his
blog has a lot more information and a good introduction to FRP and what makes it interesting; better than I can write. Many implementations of FRP pay a big performance penalty communicating "nothing happened" between parts of the
(
Read more... )
Comments 8
Reply
- Jake
Reply
newtype Future a = Fut (Time -> Maybe (Time, a)); this type for future is a function that takes the current time and returns the time the event occurred (if in the past) or Nothing (if in the future). Of course, if you pass in a time that is actually in the future, the function is free to block until that time occurs--in that case it's just slow to compute.
But it has the same problem; in order to figure out the state of the world you need to work back through all the dependencies, and that means updating each event on each time change. The goal of the data-driven system is that updates to ( ... )
Reply
What makes you say that? The only function that is dependent on the global time variable is the fire function.
Reply
Reply
Leave a comment