Excellent article and it got me going with OpenGL and Haskell but there is a small mistake that prevents the successful compilation at the point "3.1 Animation" in the revised Display.hs, function 'idle' ...
idle angle = do a <- get angle angle $=! a+0.1 postRedisplay Nothing
To get it to work on Ubuntu with ghc 6.12.3 I had to change it by enclosing the update in parentheses like so,
idle angle = do a <- get angle angle $=! (a+0.1) postRedisplay Nothing
Hope that helps somebody else! EmacsTheViking