Elm in the real world

“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:

  1. Elm restricts the way you program, resulting in maintainable code no matter what.
  2. 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…”