My favorite book, by far, is Functional Programming in Scala. This book has you derive most of the concepts from scratch, to the point where even complex abstractions feel like obvious consequences of things you’ve already built.
If you want something more Haskell-focused, a good choice is Programming in Haskell.
My favorite book, by far, is Functional Programming in Scala. This book has you derive most of the concepts from scratch, to the point where even complex abstractions feel like obvious consequences of things you’ve already built.
If you want something more Haskell-focused, a good choice is Programming in Haskell.