An Introduction to Elm
This guide will:
- Show you how to make interactive apps with The Elm Architecture.
- Emphasize principles and patterns that generalize to programming in any language.
By the end I hope you will not only be able to create great web apps in Elm, but also understand the core ideas and patterns that make Elm nice to use.
Here is a little program that lets you increment and decrement a number:
Try it out in the online editor here.
Why a functional language?
You can get some benefits from programming in a functional style, but there are some things you can only get from a functional language like Elm:
- Friendly error messages.
- Reliable refactoring.
No combination of JS libraries can give you all of these guarantees. They come from the design of the language itself! And thanks to these guarantees, it is quite common for Elm programmers to say they never felt so confident while programming. Confident to add features quickly. Confident to refactor thousands of lines. But without the background anxiety that you missed something important!