Not specifically about Haskell, but I read some lecture notes on this topic yesterday (by Michael Schwartzbach, PDF here:
http://lara.epfl.ch/web2010/_media/sav08:schwartzbach.pdf). The notes do a good job of explaining how you set up lattices for various kinds of analyses, and how calculating fixed points over those lattices can yield various sorts of interesting information. Most of the examples are based on a simple imperative language, but much of the analysis is applicable to Haskell as well.