Cabal build system works well!
There's a common standard for packaging Haskell libraries now, called Cabal (Common Architecture for Building Applications and Libraries). Basically, the application/library designer creates a simpe project specification that says which modules are to be provided, what executables to create, etc., and puts that together with a little Haskell code that just calls into the Cabal library to do the heavy lifting. Then you, the user, just unpack the tarball, do:
ghc -package Cabal Setup.lhs -o setup setup configure setup build setup install
Voila, the package is installed. This is really nice, since people in Haskell-land have sometimes been a little too Unix-centric, so their packages wouldn't build on my Windows box. However, every Cabalized package I've installed so far has gone smoothly. If you develop a Haskell package or application, PLEASE package it with Cabal! Windows users (and probably everyone else for that matter) thank you!