Hacker News new | comments | show | ask | jobs | submit login

I agree. FRP is, sadly, a siren song (for the most part). I was enchanted by it back in 2011 when I began studying the source code for Flapjax[1] (the development of which goes back to 2006!).

What I learned the hard way -- both trying to develop a "next gen" derivative and using it in my own projects -- is that it's all too easy to underestimate the pain of getting trapped in the monad, over and over again.

FRP is not the answer. Clojure/Script's core.async is a better way to do reactive programming, and yet... a declarative and structural DSL which allows for little bits of imperative glue code with contracts and highly controlled effects, and which allows disparate components to "automagically" pass immutable messages without extra plumbing, that is the future. It's what I want to use for own projects, and I hope others will enjoy it as well. Work is in progress. David Harel[2] showed the way over two decades ago[3].

[1] https://github.com/brownplt/flapjax/

[2] http://www.wisdom.weizmann.ac.il/~harel/papers.html

[3] http://www.wisdom.weizmann.ac.il/~harel/reactive_systems.htm...




Glad to hear someone else use "siren call" to describe this :-)

Interesting references to statecharts, I remember reading about them in the late 90ies and not much coming out of it. (Note that link [3] above is to an out-of-print book that can now be downloaded)

How do you see constraints relating to this?


Oh, will you elaborate on the pitfalls? :)

I have just started using C# with RX extensions to do some ui work, and so far I liked it. But I have never utilized RX directly on managing event-streams, mostly for binding changing data to various ways of displaying it.

Second thing, I don't think I have been "trapped in the monad", and as far as I can see, C# devs are quite fond of the pattern (i.e., isn't Task a monad, Observable as well?)

Thanks!


So, I've been thinking about this, and the reality is that I'm not as familiar with C# and Rx as I should be to pass judgment.

How common is it to use "await" in conjunction with Rx? Your answer will provide needed insight.

I've mainly wrestled with the FRP paradigm in the context of JavaScript, both server-side and in browsers. So I should have qualified my previous observation accordingly.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: