Becoming functional [steps for transforming into a functional programmer] - Backfield, Joshua (O'Reilly Media, 2014)
Becoming Functional will help you through the sometimes alien world of functional programming. Many functional programming books begin by focusing on the more difficult concepts such as recursion and immutability. This book lets you dive right in to functional programming by teaching the most useful implementation concepts first.