Learn Elm

Seedling 🌱
Planted Aug 22, 2021 - Last tended Sep 26, 2023
There are lots of learning materials for Elm, but sometimes it's hard to find them, or know which one is right for you.
Here's our guide to help you on your way!
Looking to learn something more specific? Ask in one of the
Community forums
.

Common starting points

With some prior programming experience, especially JavaScript:

Free

•
The
official Elm guide
, the best starting place for most people for concepts and syntax
•
🇫🇷
Une introduction à Elm
- French community translation
•
Beginning Elm
- Pawan Poudel
•
Introduction to Elm, v2
- Richard Feldman - (
Frontend Masters
subscription)
•
Advanced Elm
- Richard Feldman - (
Frontend Masters
subscription)
•
Building Web Apps with Elm
- Pragmatic Studio
•
Declarative UIs without CSS with elm-ui
- Flavio Corpa (egghead.io)
•
Elm - The Complete Guide
- Carlos Saltos (Udemy)
•
Elm for React Devs
- Dwight (Patreon)
These books all go into more detail for real-world Elm usage on projects.
•
Elm in Action
(eBook/print) - Richard Feldman
•
•
Programming Elm
(eBook) - Jeremy Fairbank
•
Web Applications with Elm
(eBook) - Wolfgang Loder
In French:
•
Elm par la pratique
(eBook) - Pascal Le Merrer
Other books:
•
Why Elm?
- Matthew Griffith
•
elm-ui: The CSS Escape Plan
(eBook) - Alex Korban

With no programming experience:

There is unfortunately no known English material in this area! We hope there will be soon. Know of something?
Let us know
.
In Portuguese:

Exercises

•
Join
Exercism's Elm Track
for access to 54 exercises grouped into 8 Elm Concepts, with automatic analysis of your code and personal mentoring. (Free)

References

•
Elm Cookbook
- Jeremy Fairbank, the author of the Book Programming Elm, noticed that there is no Elm cookbook, that would serve as a follow-up to a beginners book. This book aims to fill this empty spot.
•
Elm Types Glossary
- There's a lot of type terminology and jargon going around when discussing types in Elm. This glossary attempts to list some of the most common type terms along with synonyms, terms from other language communities, examples, and links to more detailed articles on each topic.
•
Elm Patterns
- A collection of common patterns for Elm.

Meta guides

Other "Learn Elm" collections:

Help from real people

The
#beginners
channel in the
Elm Slack
is full of notoriously helpful people!
Be kind, ask questions, and try to recognize
XY problems
.
Read the full
Elm Code of Conduct
as well!

Guides for older Elm versions

•
Elm 0.17 -
Start Using Elm to Build Web Applications
- Murphy Randle (egghead.io)