diff --git a/Main.hs b/Main.hs
index 93499d8..69d65a0 100644
--- a/Main.hs
+++ b/Main.hs
@@ -19,10 +19,8 @@ with this program. If not, see .
-- | Driver for the compiler.
module Main (main) where
-import Control.Monad.Error
import Control.Monad.Identity
import Control.Monad.State
-import Control.Monad.Writer
import Data.Either
import Data.Generics
import Data.Maybe
diff --git a/backends/GenerateCBased.hs b/backends/GenerateCBased.hs
index b7c175a..5e66954 100644
--- a/backends/GenerateCBased.hs
+++ b/backends/GenerateCBased.hs
@@ -19,10 +19,8 @@ with this program. If not, see .
-- | The function dictionary and various types and helper functions for backends based around C
module GenerateCBased where
-import Control.Monad.Error
import Control.Monad.Reader
import Control.Monad.State
-import Control.Monad.Writer
import Data.Generics
import System.IO
diff --git a/backends/GenerateCTest.hs b/backends/GenerateCTest.hs
index acf2729..ed81fc2 100644
--- a/backends/GenerateCTest.hs
+++ b/backends/GenerateCTest.hs
@@ -31,10 +31,8 @@ with this program. If not, see .
-- do a similar trick.
module GenerateCTest (tests) where
-import Control.Monad.Error
import Control.Monad.State
import Control.Monad.Reader
-import Control.Monad.Writer hiding (tell)
import Data.Generics
import Data.List (isInfixOf, intersperse)
import Data.Maybe (fromMaybe)
diff --git a/common/TestHarness.hs b/common/TestHarness.hs
index 7997041..f89ffc6 100644
--- a/common/TestHarness.hs
+++ b/common/TestHarness.hs
@@ -34,8 +34,6 @@ The file is terminated by a single percent on its own line.
module TestHarness (automaticTest, automaticTimeTest) where
import Control.Monad.Error
-import Control.Monad.State
-import Control.Monad.Writer
import Data.List
import Data.Maybe
import System.IO
diff --git a/common/TestUtils.hs b/common/TestUtils.hs
index f8f5e24..aea2f80 100644
--- a/common/TestUtils.hs
+++ b/common/TestUtils.hs
@@ -38,9 +38,7 @@ If they are not equal, it shows them (using 'show') with the given message prefi
module TestUtils where
-import Control.Monad.Error
import Control.Monad.State
-import Control.Monad.Writer
import Data.Generics
import qualified Data.Map as Map
import System.Time
diff --git a/frontends/ParseOccam.hs b/frontends/ParseOccam.hs
index 6a9c7ae..48522d5 100644
--- a/frontends/ParseOccam.hs
+++ b/frontends/ParseOccam.hs
@@ -21,7 +21,6 @@ module ParseOccam (parseOccamProgram) where
import Control.Monad (liftM, when)
import Control.Monad.State (MonadState, modify, get, put)
-import Control.Monad.Writer (tell)
import Data.List
import qualified Data.Map as Map
import Data.Maybe
diff --git a/frontends/RainTypesTest.hs b/frontends/RainTypesTest.hs
index a4d4887..74965e9 100644
--- a/frontends/RainTypesTest.hs
+++ b/frontends/RainTypesTest.hs
@@ -20,8 +20,6 @@ with this program. If not, see .
module RainTypesTest where
import Control.Monad.State
-import Control.Monad.Error
-import Control.Monad.Writer
import Data.Generics
import Test.HUnit hiding (State)
diff --git a/pass/Pass.hs b/pass/Pass.hs
index 1c6d77b..26b5e0d 100644
--- a/pass/Pass.hs
+++ b/pass/Pass.hs
@@ -19,10 +19,7 @@ with this program. If not, see .
-- | Common definitions for passes over the AST.
module Pass where
-import Control.Monad.Error
-import Control.Monad.Reader
import Control.Monad.State
-import Control.Monad.Writer
import Data.Generics
import Data.List
import qualified Data.Set as Set
diff --git a/pass/Properties.hs b/pass/Properties.hs
index d9799c9..2370574 100644
--- a/pass/Properties.hs
+++ b/pass/Properties.hs
@@ -58,7 +58,7 @@ module Properties
)
where
-import Control.Monad.Writer
+import Control.Monad
import Data.Generics
import Data.Int
import Data.List