Some Books I Have Read, and Recommend
Math
- Information Theory for Intelligent People by Simon DeDeo. This is a 13 page introduction to information theory. I first encountered entropy and the Kullback-Leibler divergence while studying reinforcement learning, and this paper gave me an intuitive understanding of what they mean and made them less intimidating.
Haskell
-
Programming in Haskell, 2nd Edition, by Graham Hutton. I recommend starting with this book if you already know another programming language and want to learn Haskell. I was especially fond of Chapter 9 which lead me down the rabbit hole of rewriting.
-
Thinking with Types by Sandy Maguire. This book teaches the many language extensions in the GHC Haskell compiler. Even if you don’t intend to do a lot of type level programming yourself, it’s nice to know what’s going on when you see weird squiggles and ticks in the type signatures of libraries.