Understanding Elm
srid.ca
srid.ca
I agree with the initial learning curve being a bit steep. But once you get the hang of it you tend to see similar concepts in React.js and Haskell (of course - Elm is inspired from Haskell) and a bunch of other places.
Edit: It is rather frustrating right now, since even the basic hello world examples didn't work anymore, because Text lost some functionality.
[0]: https://github.com/bitemyapp/learnhaskell#yorgeys-cis194-cou... [1]: https://github.com/srid/chronicle/commit/4a6c18147bf1596b234... [2]: https://github.com/srid/chronicle/commit/fb040b9e3268d7d843e...
The other benefit is static typing with option types leading to nearly no runtime error! For example, when I did a substantial refactoring[a] of my code, aside from fixing type errors there were no runtimes errors when the new app was run. This is basically unthinkable when writing in plain JavaScript.
[a]: https://github.com/srid/chronicle/commit/f81d6d9c04e75fbd9e7...
Finally, large Elm programs benefit from componentization[x] of the model and related structures (actions, view, request, run). This is something I plan to blog about later on.
I have some nostalgia for PINE, being a UW alum. Perhaps I will call my next reactive programming language Pine (well...maybe not).