Books

I'm the author of three books, all of which are freely available online.

Creative Scala

An introduction to functional programming and generative art, aimed at people new to programming. Creative Scala is heavily inspired by HtDP, and like HtDP strives to present programming as a systematic process.

Essential Scala

An introduction to Scala for experienced developers, Essential Scala revolves around four core techniques in effective Scala programming: algebraic data types, structural recursion, sequencing computations, and type classes.

Scala with Cats

This book covers core functional programming abstractions such as monoids and monads, and shows how they can be used in the small and in the large.