I've been working on a project, now at <a href="http://www.knode.io" rel="nofollow">http://www.knode.io</a> for quite some time. It went from Rails to an Elixir back end with an Angular 1 frontend, then a brief experiment with an Angular 2 frontend, and finally to an Elm frontend. It is a complex project with JS interop using ports to render (a) mathematical text and (b) Asciidoc. Plus, there is a Latex-to-Html parser-differ-renderer package that I wrote entirely in Elm (2K of code).<p>I couldn't be happier with Elm in this project. Many major refactors: instead of the usual white-knuckle experience with prior languages/frameworks, it was, like, zen.
I really liked Elm a lot, but the issue for me was that composing components is a shit show. You have to add variants to the root Msg type for every single subpage and have it dispatch to the right update/view functions.<p>I'm really excited about a project inspired by Elm called Yew but allows you compose components much more naturally and easily.<p><a href="https://github.com/DenisKolodin/yew" rel="nofollow">https://github.com/DenisKolodin/yew</a>
I built <a href="https://bellpluscat.com/" rel="nofollow">https://bellpluscat.com/</a> entirely in Elm. It's a database in your browser kinda like a simpler Airtable. It uses Google Drive as it's backend.<p>Elm let me a single programmer build this in a couple weeks with no runtime issues even after major refactoring to add new features. It was such a pleasure to work on.
Are the elm overlords still hell bent on "thou shalt program our way or not at all"<p>Because that kind of dogmatism is a complete show stopper for languages that want to be deployed on even medium term projects.
Working on an elm project now and a few months in I believe I might see the main wart if elm which is the amount of boilerplate required. I suppose that should shock no one because elm might be many things but feature rich is not one of them. I still like it though. And boilerplate might be easier to read than some bad abstraction. Still it ends up less dry than I would have liked.
Unfortunately, I am unable to read the article on my phone. The code examples do not render properly. They extend off the left and right sides clipping most of the code. Some sort of word wrap or shrinkage might be better.