Real World Haskell

When I learned Haskell, there were hardly any books on the subject at all, and those that did exist weren’t really targeting professional software developers. So I wound up learning primarily from academic papers, which was a struggle, as you might imagine. I am happy to report that the need for that sort of thing is now officially over.

realworldhaskell

Real World Haskell is an excellent book. It covers all the basics, it covers common application development areas such as web, GUI, and database programming, and it covers real world needs like unit testing and performance profiling. It’s worth the price just for the coverage of monads and monad transformers.

A working copy of the book was online while it was being written, and many, many people (self included) contributed feedback along the way, which the authors graciously accepted and used to improve the book. So I had read parts of the book online already before I ever picked up the book in the book store. Still, I was surprised to see how much there was that I hadn’t read before, and also at how much more compelling it was in book form. Even if you’ve read the online version, you might still want to go buy the book.

The authors bring a great deal of knowledge and experience to the work, and I was very grateful for their observations and advice on Haskell software engineering and good style. The book is filled with little flashes of insight, and some very elegant code. If you want to be serious about Haskell, you want this book.


Why Isn’t Cabal Installed with GHC?

Given that installing Haskell packages is painless with Cabal and often exasperating without it, why isn’t it just included by default in a GHC install? Seems like an easy step to take that would make a huge difference to the user community, especially new users. Are we supposed to use the new (beta) Haskell Platform


A Beginner’s Guide to R

I’ve been looking for tools for data analysis lately, and remembered R, a language primarily geared toward statistics and graphing. R is a little bit unusual in how it works compared to other languages, so a quick skim of the manual wasn’t giving me a good understanding. A book was called for. Most of the


How to Measure Anything

 
We find no sense in talking about something unless we specify how we measure it; a definition by the method of measuring a quantity is the one sure way of avoiding talking nonsense… – Sir Hermann Bondi

This book was a great read and completely changed the way I think about


Tech Note: Finding All the Assemblies Available to Your Application

I sometimes have .Net library code that needs to work both in web applications and in console or service applications. The differences between the two environments, even for a library, are sometimes surprising. For example, I recently needed to find all the assemblies available to (i.e., in the same folder with) the application. My first


Clarity

It’s been a long time since I’ve posted. One reason is that work has been taking large portion of my time, which is a good thing, generally. However, since I’ve been spending almost all of time I have available for programming on work, and that work is all proprietary, there’s been little material available to