<i>The Haskell Road</i> rocks my world. It’s an amazing book, especially for programmers who want to become better at discrete math. (No Haskell experience is required, and no math beyond high school algebra.) I read about six chapters in a weekend (ouch!), and my understanding of logic, relations and functions improved dramatically.<p>In general, doing abstract math in Haskell makes it a lot more accessible to me. In particular, it’s nice knowing the types of all the equations.
I have spent the last year or so having false starts on learning Haskell; I would reach an impasse as soon as I start asking "what will I use this for." Once I decided to learn Haskell as a companion language for learning more math and computer science, I was actually able to stay on track.<p>If you have any other books along the lines of this one to recommend I am all ears. The time I have spent on these sorts of academic pursuits have paid off incredibly well in the real world of programming for a living day-to-day.
I have this book on my shelf, waiting for me to finish all the other books I'm reading at the moment. But probably the motivating comments in this post will help me get there faster.