
"Vasili I. Galchin"
Graham Lyle has written some seriously beautiful code ....
That would be Graham _Klyne_.
1) I strongly suspect that in Swish 0.2.1 that some of Graham's libaries are already superseded by the Haskell prelude , e.g. HUnit, Parsec(!!!), his Sort directory/library
Graham includes in his source distribution a full (but out-of-date) copy of Parsec and HUnit. I would recommend to remove them, and depend on released Hackage versions (probably both 1.0 or thereabouts). The Sort library came from Ralf Hinze http://www.informatik.uni-bonn.de/~ralf/software.html It has not been cabalised or uploaded to Hackage.
{-# OPTIONS -fglasgow-exts #-}
Should become {-# LANGUAGE ... #-} where the "..." needs to be determined by experimentation.
import Control.Monad.Identity import Control.Monad.Reader import Control.Monad.State
These are in package mtl.
import Data.FiniteMap
Data.FiniteMap no longer exists - it was superseded by Data.Map. The two APIs are similar, except that the order of arguments is generally reversed. Regards, Malcolm