Who This Book is For

This book assumes you have a basic understanding of programming, but no prior knowledge of Elm or functional programming is required. Nor do you need any mathematical background. If you have dabbled in a programming language before, you should have no trouble learning Elm with this book.

Listed below are a few additional things you need to have basic familiarity with to be able to follow along and fully understand the concepts presented in this book.

Command Line

If you have never used command line tools before, I recommend going through Michael Hartl’s friendly introductory tutorial on the topic.


If you have never used HTML or CSS before, Jeremy Thomas has a great tutorial for learning the basics.

How to read this book

I recommend reading this book in sequential order. Each chapter builds upon the chapter before it. I highly recommend that you try things out as you go through the book by typing each line of code into elm-repl (which we will cover in Chapter 2) or your favorite source code editor. Execute the code to see what output you get. This is a very practical book. You won’t get the most out of it if you just read it passively.

Back to top

New chapters are coming soon!

Sign up for the Elm Programming newsletter to get notified!

* indicates required