5 ms·
This is exactly the Same as Elm, without the type system to help you out.
by jergason 11y ago
This is exactly the Same as Elm, without the type system to help you out.
- sbensu 11y agoYeah, and without Signals to make things like mouse position transparent. I started using CSP in Cljs + React applications, but I find signals to be a better abstraction for UIs.
- erokar 11y agoAgree. ReactJS was inspired by Elm as far as I know, Purescript has a framework purescript-signal that is inspired by Elm, ClojureScript has Zelkova that is inspired by Elm, and on it goes. Makes it more and more tempting to just go straigth to the source and simply use Elm.
- insin 11y ago> Makes it more and more tempting to just go straigth to the source and simply use Elm. Redux was inspired by Elm's update concept, not React. I was on that train of thought too after using Redux had the side effect of giving me a conceptual understanding of how the update step works in Elm, but I found that "simply" really isn't the right word if your experience is primarily with imperative languages. e.g. building an app starting from HTML5 history and routing built on top of it is just another API if you already know JavaScript, but it's an entire new set of concepts to learn if you're not au fait with functional programming, as I quickly discovered!
- seanmcdirmid 11y agoI think React predates Elm, and FRP has been around since 1995. React also isn't very FRP, it has more of the feeling of an immediate-mode GUI.
- tlrobinson 11y ago(FYI Wikipedia says Elm was released in 2012 and React in 2013, but that doesn't mean Facebook/Instagram weren't working on it before. Also Asana has been doing similar things since ~2009.
- seanmcdirmid 11y agoThere isn't much new in React; they just got the timing right and went with a very solid design that was innovative enough. It really does look a lot like SOL and other immediate mode UI frameworks, with a touch of optimization for the web and some better identity management. But I don't get why people call it FRP though, its notion of components and composition is completely different from what originated in the original Hudak/Elliott work on Fran with higher order function compositions over signals (react is much more object based and much less functional). With Elm, the lineage is obvious, but for React it just seems like a misapplied label.
- jarpineh 11y agoHigher level concepts in area so rife with incidental complexity like programming tend to get lost in the details of the implementation. Patterns and abstract concepts like FRP can only be understood by with implementation. Ideas tend to bend before working code, then again with an example app you enthusiastically write for your blog, and then again when someone bases her next project on that (not to mention HN discussions...). I like to learn thing this way, and not care that much about what the alphabet soup entails. Try to find what is a proper JavaScript MVC framework. And then write the first one yourself ;) I'm currently reading Clojure Reactive Programming, which differentiates from FRP using another term, CES for Compositional Event Systems, and goes to some length into history of these concepts, like higher order FRP, First Order FRP, Arrowized FRP, and of course Observer pattern and Data Flow programming. There is also Elm's creator's presentation at Strange Loop last year of the same topic: https://www.youtube.com/watch?v=Agu6jipKfYw https://www.youtube.com/watch?v=Agu6jipKfYw
- seanmcdirmid 11y agoI saw Evan's talk at Splash, and while it was good, I think the history is far more complex and nuanced than you can fit into a one hour keynote! When I hear CES I think component-entity systems (also popular in Clojure), but they have been rebranded as entity component systems (to not conflict with event systems), while Rx (Erik Meijer) would be more of where compositional event systems came from. I have my own system that supports side effects with transactional semantics (see http://research.microsoft.com/en-us/um/people/smcdirm/apx/index.html http://research.microsoft.com/en-us/um/people/smcdirm/apx/in... for the latest). I try to keep my bibliography straight since the questions will always be asked (how does your work compare to X?).
- Keats 11y agoIs there any open-source classic app (ie talking with a server etc) in Elm? It looks quite interesting and one of my colleagues used it a bit some times ago (https://news.ycombinator.com/item?id=9068685 https://news.ycombinator.com/item?id=9068685) and liked it.
- a-saleh 11y agoHm, if you mean website, the elm-lang's site itself and the package search is written in elm. There is the usual todo app as well. Not sure about something like an chat application though. I am planning to work through the [1] to see if I should switch from the clojure-script/reagent combo on my next side project :) [1] https://github.com/evancz/elm-architecture-tutorial https://github.com/evancz/elm-architecture-tutorial