An Introduction to Elm

This is my book about Elm. You can read it online here!

I update it like a paper book, with a new edition periodically rather than lots of small changes. Maybe it will be a paper book someday, but I plan to retain ownership of the material such that the complete book is always available for free online.


About Suggestions

There are many ways to improve this book. Many of them require structural changes that would present concepts in a better order. Changes like this are quite difficult, especially in a collaborative way. I want the book to come out coherent more than I want it to address every possible concern.

If you want to make a PR, the kinds of PRs that are practical to handle include:

  • Fixing misspellings
  • Fixing broken links
  • Fixing typos in code

Make a PR as small as possible. Reviewing a typo is easy. Reviewing 10 typos is hard because 9 may be good. Now there is a bigger coordination overhead.

If you want to record an issue, make sure you share:

  • Your programming background
  • How you found the guide
  • Why you want to learn this language
  • The thing you found confusing

The answers do not have to be super elaborate. I just need to understand who is confused and why. As I learn more about the readers, it is possible to revamp the book that addresses their concerns in a coherent way. Ultimately I must pick an audience, so it fundamentally cannot work for everyone. Choices must be made!