Elm in Action, by Richard Feldman. ISBN 978-1617294044. (Amazon, Manning)
This is a great introduction to the Elm language. It starts from basic concepts, and uses a running example of a photo browser to demonstrate many concepts: elm constructs, talking to servers and JavaScript, unit testing, and ending with single-page applications.
I found every chapter to be “just enough more”, bringing on new constructs to move forward. I appreciated that the author dropped little nuggets here and there, such as useful refactorings.
If you’re new to Elm and/or functional programming, this will be a great starting point.