6 ms·
Show HN: Frpjs – Functional reactive programming library for JavaScript
- s986s 11y agoVery similar to lazy js[1]. Perhaps its of interest to you to get involved in that or pull some of their work [1] http://danieltao.com/lazy.js/ http://danieltao.com/lazy.js/
- LukeHoersten 11y agoFRP is very popular in Haskell. Reflex has had some success in production: https://github.com/reflex-frp/reflex https://github.com/reflex-frp/reflex
- santrajan 11y agoThis is implemented in pure vanilla JavaScript.
- deleted 11y ago[deleted]
- ajithranka 11y agoHere are some examples using frpjs: http://moonbug.in/frpjs-examples/ http://moonbug.in/frpjs-examples/
- wrong_variable 11y agoOne problem I notice with both RXJS and even this one is that in reactive programming a lot of (filter - select) is used. Doing (filter - select) for large views seems an inefficiency - no different than the old way where we walk the DOM trees.
- EvanPlaice 11y agoIncremental DOM updates cause layout thrashing which, when comlared to making a few additional passes over a set, is a couple of orders of magnitude more expensive. The point is, walk/filter the data completely prior to updating the view. Immutable sets may also 'seem' inefficient but compare-by-reference works a of a lot faster than change propogation with compare-by-deeply-nested-values. In CompSci terms, multiple passes are still O(n) and the data sets aren't large enough for micro-optimizations to matter. Compared to O(holy shit) of triggering many cascading DOM updates, it's a huge improvement. 'Seems' isn't a good enough metric to justify optimization.
- wrong_variable 11y agoI am curious to know what you mean by Incremental DOM updates. Are you talking about changing values of DOM elements,etc. Or are you talking about destroying elements in DOM and creating new ones ?
- EvanPlaice 11y agoWhat's are the benefits of this lib over RxJS, Redux, and Flux. This isn't a criticism. Raher there are aready some well established FRP libs in JS. What's unique about this offering that would make users want to adopt it?
- santrajan 11y agoRxJS uses the observer pattern and is not really FRP in the Haskell sense of things.
- EvanPlaice 11y ago#NoTrueScotsman
- sotojuan 11y agoI don't think either Redux or Flux are related to FRP at all. That said, your point still stands. RxJS has very smart people behind it and at least one big company that uses it heavily (Netflix). Its newest releases include modularized loading for smaller bundle builds.
- adarsh_why 11y agoNice :)