Also also, if you're interested in meeting the Elm community in person, we've just announced the speaker lineup for Elm in the Spring, a new 1-day conference in Chicago in April -- we're really excited :D :D :D
We've been using Elm in production for the last year to power an app used by 100,000 public school students in the US, and it's been fantastic.
The Elm language and framework really do live up to their promise: it's a delightful development experience. Despite rewriting our entire 4-year-old UI we've had remarkably few bugs despite multiple large refactors. The whole team was new to Elm when we started, and now everyone's an advocate.
Re: components, I'd echo what others have said. Because the view code can't have side effects, components become much simpler and a whole category of the problems we've had in one of our Javascript apps just don't happen. You sometimes will want to separate out logic for subsystems in your update function, but that's pretty well supported.
Also, if you're interested in working in Elm and making a measurable difference in student learning, we're hiring!
FWIW, the post is a slightly cleaned up version of an actual conversation I had with my husband. (I'm K, he's M.) It's not a format I'm likely to reuse (or have used before), but it fit the occasion and captured very well our feelings of surprise at learning how CSS parses selectors.
Plus, it's always fun to try out new formats, even -- or maybe especially -- if they don't stick.
It's not every day you can experience all the astonishment of overturning a fundamental assumption without any of the pain of forced changes. I enjoyed that conversation. (I'm Alex K, btw.)
Thanks for all the comments, everyone! Very cool to have that post picked up by Hacker News.
https://www.elminthespring.org/