I have written a book that teaches practical functional programming starting with basic fundamental topics and ending with concurrent programs that use streaming concepts and lots of I/O: “Grokking Functional Programming”.

Grokking Functional Programming

Code repository

The book comes with a self-sustaining code repository. Go ahead and check it out on GitHub @ and read the there to learn how the code repository should be used with the book.