“Elm is a beginner friendly functional reactive programming language for building web frontend. Choosing Elm for a customer project made my job nicer than ever and helped maintain project velocity during months of development. This boils down to two things, in my opinion:
- Elm restricts the way you program, resulting in maintainable code no matter what.
- There are no runtime exceptions so debugging is way less of an issue.
At the Reactive 2015 conference, where I gave a lightning talk on stateless web UI rendering, many people asked me: “How hard is it to debug compiled Elm code on the browser?” I was more than a little confused by these questions, until I remembered what it’s like to write JavaScript. You make a change, switch to browser, set up debugging stops, click on a few things in the app, check the debugger and go “Uhhh… How did that happen? Maybe I should console.log
something?”
Writing Elm, on the other hand, is like this: you make a change, check the superbcompiler errors, fix them. Next. Of course, you should then switch to the browser and check that it actually does what you wanted, but the point is: you don’t spend half the time coding digging through the debugger…”
http://futurice.com/blog/elm-in-the-real-world