David Barbour wrote:
Heinrich Apfelmus wrote:
Even then, events and behaviors are "one abstraction level too low". In my
opinion, you are better off with a library/approach geared directly towards
incremental computations.

I believe behaviors are precisely the 'right' abstraction if the goal is to
model variables in a computation changing over time. But I agree that, if
the libraries aren't taking advantage of the implicit optimization
opportunities, you are better off finding libraries that do.

I agree that behaviors are the right abstraction if you only want to know what result is being calculated, not how it is going to be calculated.

Unfortunately, the "how" is important for incremental computations because there is no single canonical way to implement efficient updates. It often depends on which functions are expensive, which can actually be decoupled, and so on. I don't know any good abstraction for specifying the "how"; I do know that FRP doesn't help much with that.


Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to