--- /dev/null
+diff -ur BNFC-2.4.2.0/BNFC.cabal BNFC-2.4.2.0-ghc-7.2/BNFC.cabal
+--- BNFC-2.4.2.0/BNFC.cabal 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/BNFC.cabal 2011-10-28 14:30:05.093264132 +0200
+@@ -24,7 +24,7 @@
+ Extra-source-files: BNF.cf
+
+ Executable bnfc
+- Build-Depends: haskell98, base>=4 && <5, mtl, directory, array, process
++ Build-Depends: base>=4 && <5, mtl, directory, array, process
+ Main-is: Main.hs
+ HS-source-dirs: . formats
+ formats/haskell2
+diff -ur BNFC-2.4.2.0/CF.hs BNFC-2.4.2.0-ghc-7.2/CF.hs
+--- BNFC-2.4.2.0/CF.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/CF.hs 2011-10-28 14:34:50.556610344 +0200
+@@ -101,8 +101,8 @@
+ ) where
+
+ import Utils (prParenth,(+++))
+-import List (nub, intersperse, partition, sort,sort,group)
+-import Char
++import Data.List (nub, intersperse, partition, sort,sort,group)
++import Data.Char
+ import AbsBNF (Reg())
+
+ -- A context free grammar consists of a set of rules and some extended
+diff -ur BNFC-2.4.2.0/GetCF.hs BNFC-2.4.2.0-ghc-7.2/GetCF.hs
+--- BNFC-2.4.2.0/GetCF.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/GetCF.hs 2011-10-28 14:39:40.099956741 +0200
+@@ -20,17 +20,17 @@
+
+ module GetCF where
+
+-import Directory ( doesFileExist, renameFile )
+-import Monad ( when )
++import System.Directory ( doesFileExist, renameFile )
++import Control.Monad ( when )
+
+ import CF
+ import Utils
+ import ParBNF
+-import List(nub,partition)
++import Data.List(nub,partition)
+ import qualified AbsBNF as Abs
+ -- import LexBNF
+ import ErrM
+-import Char
++import Data.Char
+ import TypeChecker
+
+ readCF :: FilePath -> IO CF
+diff -ur BNFC-2.4.2.0/Main.hs BNFC-2.4.2.0-ghc-7.2/Main.hs
+--- BNFC-2.4.2.0/Main.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/Main.hs 2011-10-28 15:02:46.772214302 +0200
+@@ -41,9 +41,10 @@
+
+ import MultiView (preprocessMCF, mkTestMulti, mkMakefileMulti)
+
+-import System
++import System.Process
++import System.Environment
+ import System.Exit
+-import Char
++import Data.Char
+ import Data.List (elemIndex)
+
+ version = "2.4.2.0"
+diff -ur BNFC-2.4.2.0/MultiView.hs BNFC-2.4.2.0-ghc-7.2/MultiView.hs
+--- BNFC-2.4.2.0/MultiView.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/MultiView.hs 2011-10-28 14:38:04.706619104 +0200
+@@ -20,17 +20,17 @@
+
+ module MultiView where
+
+-import Directory ( doesFileExist, renameFile )
++import System.Directory ( doesFileExist, renameFile )
+
+ import qualified CF as CF
+ import Utils
+ import ParBNF
+ import PrintBNF
+-import List(nub,partition)
++import Data.List(nub,partition)
+ import AbsBNF
+ -- import LexBNF
+ import ErrM
+-import Char
++import Data.Char
+ import TypeChecker
+
+ preprocessMCF :: FilePath -> IO ([FilePath],String)
+diff -ur BNFC-2.4.2.0/ParBNF.hs BNFC-2.4.2.0-ghc-7.2/ParBNF.hs
+--- BNFC-2.4.2.0/ParBNF.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/ParBNF.hs 2011-10-28 14:35:43.716612743 +0200
+@@ -4,7 +4,7 @@
+ import AbsBNF
+ import LexBNF
+ import ErrM
+-import Array
++import Data.Array
+ #if __GLASGOW_HASKELL__ >= 503
+ import GHC.Exts
+ #else
+diff -ur BNFC-2.4.2.0/PrintBNF.hs BNFC-2.4.2.0-ghc-7.2/PrintBNF.hs
+--- BNFC-2.4.2.0/PrintBNF.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/PrintBNF.hs 2011-10-28 14:35:28.079945370 +0200
+@@ -4,7 +4,7 @@
+ -- pretty-printer generated by the BNF converter
+
+ import AbsBNF
+-import Char
++import Data.Char
+
+ -- the top-level printing method
+ printTree :: Print a => a -> String
+diff -ur BNFC-2.4.2.0/formats/CFtoLatex.hs BNFC-2.4.2.0-ghc-7.2/formats/CFtoLatex.hs
+--- BNFC-2.4.2.0/formats/CFtoLatex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/CFtoLatex.hs 2011-10-28 14:42:26.973297602 +0200
+@@ -22,7 +22,7 @@
+ import CF
+ import AbsBNF (Reg (..))
+ import Utils
+-import List (nub,intersperse)
++import Data.List (nub,intersperse)
+
+ cfToLatex :: String -> CF -> String
+ cfToLatex name cf = unlines [
+diff -ur BNFC-2.4.2.0/formats/CFtoTxt.hs BNFC-2.4.2.0-ghc-7.2/formats/CFtoTxt.hs
+--- BNFC-2.4.2.0/formats/CFtoTxt.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/CFtoTxt.hs 2011-10-28 14:42:32.619964525 +0200
+@@ -22,7 +22,7 @@
+ import CF
+ import AbsBNF (Reg (..))
+ import Utils
+-import List (nub,intersperse)
++import Data.List (nub,intersperse)
+
+ cfToTxt :: String -> CF -> String
+ cfToTxt name cf = unlines [
+diff -ur BNFC-2.4.2.0/formats/NamedVariables.hs BNFC-2.4.2.0-ghc-7.2/formats/NamedVariables.hs
+--- BNFC-2.4.2.0/formats/NamedVariables.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/NamedVariables.hs 2011-10-28 14:42:41.336631584 +0200
+@@ -38,8 +38,8 @@
+ module NamedVariables where
+
+ import CF
+-import Char (toLower)
+-import List (nub)
++import Data.Char (toLower)
++import Data.List (nub)
+
+ type IVar = (String, Int)
+ --The type of an instance variable
+diff -ur BNFC-2.4.2.0/formats/OOAbstract.hs BNFC-2.4.2.0-ghc-7.2/formats/OOAbstract.hs
+--- BNFC-2.4.2.0/formats/OOAbstract.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/OOAbstract.hs 2011-10-28 14:42:51.129965360 +0200
+@@ -44,8 +44,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+
+ -- A datastructure more appropriate than CF
+
+diff -ur BNFC-2.4.2.0/formats/c/CFtoBisonC.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoBisonC.hs
+--- BNFC-2.4.2.0/formats/c/CFtoBisonC.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoBisonC.hs 2011-10-28 14:45:15.879971891 +0200
+@@ -42,9 +42,9 @@
+ module CFtoBisonC (cf2Bison) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import NamedVariables hiding (varName)
+-import Char (toLower)
++import Data.Char (toLower)
+ import Utils ((+++), (++++))
+
+ --This follows the basic structure of CFtoHappy.
+diff -ur BNFC-2.4.2.0/formats/c/CFtoCAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCAbs.hs
+--- BNFC-2.4.2.0/formats/c/CFtoCAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCAbs.hs 2011-10-28 14:47:42.956645193 +0200
+@@ -43,8 +43,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+
+
+ --The result is two files (.H file, .C file)
+diff -ur BNFC-2.4.2.0/formats/c/CFtoCPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCPrinter.hs
+--- BNFC-2.4.2.0/formats/c/CFtoCPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCPrinter.hs 2011-10-28 14:44:50.559970748 +0200
+@@ -44,8 +44,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+
+ --Produces (.h file, .c file)
+ cf2CPrinter :: CF -> (String, String)
+diff -ur BNFC-2.4.2.0/formats/c/CFtoCSkel.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCSkel.hs
+--- BNFC-2.4.2.0/formats/c/CFtoCSkel.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoCSkel.hs 2011-10-28 14:45:03.536637999 +0200
+@@ -42,8 +42,8 @@
+ import CF
+ import Utils ( (+++) )
+ import NamedVariables
+-import List ( isPrefixOf )
+-import Char ( toLower, toUpper )
++import Data.List ( isPrefixOf )
++import Data.Char ( toLower, toUpper )
+
+ --Produces (.H file, .C file)
+ cf2CSkel :: CF -> (String, String)
+diff -ur BNFC-2.4.2.0/formats/c/CFtoFlexC.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoFlexC.hs
+--- BNFC-2.4.2.0/formats/c/CFtoFlexC.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CFtoFlexC.hs 2011-10-28 14:45:24.669972287 +0200
+@@ -41,7 +41,7 @@
+ import RegToFlex
+ -- import Utils((+++), (++++))
+ import NamedVariables
+-import List
++import Data.List
+
+ --The environment must be returned for the parser to use.
+ cf2flex :: String -> CF -> (String, SymEnv)
+diff -ur BNFC-2.4.2.0/formats/c/CTop.hs BNFC-2.4.2.0-ghc-7.2/formats/c/CTop.hs
+--- BNFC-2.4.2.0/formats/c/CTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c/CTop.hs 2011-10-28 14:57:06.603337290 +0200
+@@ -28,8 +28,8 @@
+ import CFtoLatex
+ -- import System
+ import GetCF
+-import Char
+-import System
++import Data.Char
++import System.Exit
+
+ makeC :: Bool -> String -> FilePath -> IO ()
+ makeC make name file = do
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpAbs.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpAbs.hs 2011-10-28 14:47:57.646645855 +0200
+@@ -44,8 +44,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+ import Data.Maybe
+ import CSharpUtils
+
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpAbstractVisitSkeleton.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpAbstractVisitSkeleton.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpAbstractVisitSkeleton.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpAbstractVisitSkeleton.hs 2011-10-28 14:48:01.649979370 +0200
+@@ -51,7 +51,7 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
++import Data.List
+ import OOAbstract hiding (basetypes)
+ import CSharpUtils
+ import CAbstoCSharpAbs
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpVisitSkeleton.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpVisitSkeleton.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CAbstoCSharpVisitSkeleton.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CAbstoCSharpVisitSkeleton.hs 2011-10-28 14:48:05.163312861 +0200
+@@ -41,7 +41,7 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
++import Data.List
+ import OOAbstract hiding (basetypes)
+ import CSharpUtils
+ import CAbstoCSharpAbs
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CFtoCSharpPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoCSharpPrinter.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CFtoCSharpPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoCSharpPrinter.hs 2011-10-28 14:48:10.306646427 +0200
+@@ -43,8 +43,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isSpace)
++import Data.List
++import Data.Char(toLower, toUpper, isSpace)
+ import Data.Maybe
+ import CSharpUtils
+
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CFtoGPLEX.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoGPLEX.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CFtoGPLEX.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoGPLEX.hs 2011-10-28 14:48:14.363313276 +0200
+@@ -42,7 +42,7 @@
+ import RegToGPLEX
+ import Utils((+++), (++++))
+ import NamedVariables
+-import List
++import Data.List
+ import CSharpUtils
+
+ --The environment must be returned for the parser to use.
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CFtoGPPG.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoGPPG.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CFtoGPPG.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CFtoGPPG.hs 2011-10-28 14:48:20.333313546 +0200
+@@ -39,9 +39,9 @@
+ module CFtoGPPG (cf2gppg) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import NamedVariables hiding (varName)
+-import Char (toLower,isUpper,isDigit)
++import Data.Char (toLower,isUpper,isDigit)
+ import Utils ((+++), (++++))
+ import TypeChecker
+ import ErrM
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CSharpTop.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CSharpTop.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CSharpTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CSharpTop.hs 2011-10-28 14:58:34.663341263 +0200
+@@ -48,10 +48,9 @@
+ import CFtoCSharpPrinter
+ import CFtoLatex
+ import CSharpUtils
+-import System
++import System.Environment
+ import GetCF
+-import Char
+-import System
++import System.Exit
+ import System.Directory
+ import System.IO
+ import System.Process
+diff -ur BNFC-2.4.2.0/formats/c-sharp/CSharpUtils.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CSharpUtils.hs
+--- BNFC-2.4.2.0/formats/c-sharp/CSharpUtils.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/CSharpUtils.hs 2011-10-28 14:50:02.039984801 +0200
+@@ -40,9 +40,9 @@
+ import CF
+ import Control.Monad.ST
+ -- Control.Monad.State
+-import Char (toLower)
++import Data.Char (toLower)
+ import Data.Maybe
+-import List
++import Data.List
+ import OOAbstract hiding (basetypes)
+
+ type Namespace = String
+diff -ur BNFC-2.4.2.0/formats/c-sharp/RegToGPLEX.hs BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/RegToGPLEX.hs
+--- BNFC-2.4.2.0/formats/c-sharp/RegToGPLEX.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/c-sharp/RegToGPLEX.hs 2011-10-28 14:48:52.096648312 +0200
+@@ -3,7 +3,7 @@
+ -- modified from RegToFlex
+
+ import AbsBNF
+-import Char
++import Data.Char
+
+ -- the top-level printing method
+ printRegGPLEX :: Reg -> String
+diff -ur BNFC-2.4.2.0/formats/cpp/CFtoBison.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoBison.hs
+--- BNFC-2.4.2.0/formats/cpp/CFtoBison.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoBison.hs 2011-10-28 14:46:35.719975492 +0200
+@@ -61,9 +61,9 @@
+ module CFtoBison (cf2Bison) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import NamedVariables hiding (varName)
+-import Char (toLower,isUpper)
++import Data.Char (toLower,isUpper)
+ import Utils ((+++), (++++))
+ import TypeChecker
+ import ErrM
+diff -ur BNFC-2.4.2.0/formats/cpp/CFtoCPPAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCPPAbs.hs
+--- BNFC-2.4.2.0/formats/cpp/CFtoCPPAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCPPAbs.hs 2011-10-28 14:46:41.279975744 +0200
+@@ -43,8 +43,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+
+
+ --The result is two files (.H file, .C file)
+diff -ur BNFC-2.4.2.0/formats/cpp/CFtoCPPPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCPPPrinter.hs
+--- BNFC-2.4.2.0/formats/cpp/CFtoCPPPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCPPPrinter.hs 2011-10-28 14:46:47.326642683 +0200
+@@ -25,8 +25,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+
+ --Produces (.H file, .C file)
+ cf2CPPPrinter :: CF -> (String, String)
+diff -ur BNFC-2.4.2.0/formats/cpp/CFtoCVisitSkel.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCVisitSkel.hs
+--- BNFC-2.4.2.0/formats/cpp/CFtoCVisitSkel.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoCVisitSkel.hs 2011-10-28 14:47:08.076643619 +0200
+@@ -42,8 +42,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+
+ --Produces (.H file, .C file)
+ cf2CVisitSkel :: CF -> (String, String)
+diff -ur BNFC-2.4.2.0/formats/cpp/CFtoFlex.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoFlex.hs
+--- BNFC-2.4.2.0/formats/cpp/CFtoFlex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CFtoFlex.hs 2011-10-28 14:47:13.686643872 +0200
+@@ -41,7 +41,7 @@
+ import RegToFlex
+ import Utils((+++), (++++))
+ import NamedVariables
+-import List
++import Data.List
+ import STLUtils
+
+ --The environment must be returned for the parser to use.
+diff -ur BNFC-2.4.2.0/formats/cpp/CPPTop.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/CPPTop.hs
+--- BNFC-2.4.2.0/formats/cpp/CPPTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/CPPTop.hs 2011-10-28 14:58:58.886675688 +0200
+@@ -27,10 +27,10 @@
+ import CFtoCVisitSkel
+ import CFtoCPPPrinter
+ import CFtoLatex
+-import System
++-- import System
+ import GetCF
+-import Char
+-import System
++import Data.Char
++import System.Exit
+
+ makeCPP :: Bool -> String -> FilePath -> IO ()
+ makeCPP make name file = do
+diff -ur BNFC-2.4.2.0/formats/cpp/RegToFlex.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp/RegToFlex.hs
+--- BNFC-2.4.2.0/formats/cpp/RegToFlex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp/RegToFlex.hs 2011-10-28 14:47:30.029977943 +0200
+@@ -3,7 +3,7 @@
+ -- modified from pretty-printer generated by the BNF converter
+
+ import AbsBNF
+-import Char
++import Data.Char
+
+ -- the top-level printing method
+ printRegFlex :: Reg -> String
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/CFtoBisonSTL.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoBisonSTL.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/CFtoBisonSTL.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoBisonSTL.hs 2011-10-28 14:49:38.733317083 +0200
+@@ -45,9 +45,9 @@
+ module CFtoBisonSTL (cf2Bison) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import NamedVariables hiding (varName)
+-import Char (toLower,isUpper,isDigit)
++import Data.Char (toLower,isUpper,isDigit)
+ import Utils ((+++), (++++))
+ import TypeChecker
+ import ErrM
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/CFtoCVisitSkelSTL.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoCVisitSkelSTL.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/CFtoCVisitSkelSTL.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoCVisitSkelSTL.hs 2011-10-28 14:49:33.259983502 +0200
+@@ -42,8 +42,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+ import OOAbstract
+ import STLUtils
+
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/CFtoSTLAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoSTLAbs.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/CFtoSTLAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoSTLAbs.hs 2011-10-28 14:49:27.763316588 +0200
+@@ -44,8 +44,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+ import STLUtils
+
+ --The result is two files (.H file, .C file)
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/CFtoSTLPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoSTLPrinter.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/CFtoSTLPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/CFtoSTLPrinter.hs 2011-10-28 14:49:19.833316230 +0200
+@@ -25,8 +25,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+ import STLUtils
+
+ --Produces (.H file, .C file)
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/STLTop.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/STLTop.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/STLTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/STLTop.hs 2011-10-28 14:57:18.803337840 +0200
+@@ -29,10 +29,10 @@
+ import CFtoCVisitSkelSTL
+ import CFtoSTLPrinter
+ import CFtoLatex
+-import System
++-- import System
+ import GetCF
+-import Char
+-import System
++import Data.Char
++import System.Exit
+ import STLUtils
+
+ makeSTL :: Bool -> Bool -> Maybe String -> String -> FilePath -> IO ()
+diff -ur BNFC-2.4.2.0/formats/cpp_stl/STLUtils.hs BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/STLUtils.hs
+--- BNFC-2.4.2.0/formats/cpp_stl/STLUtils.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/cpp_stl/STLUtils.hs 2011-10-28 14:49:03.476648825 +0200
+@@ -19,7 +19,7 @@
+
+ module STLUtils where
+
+-import Char
++import Data.Char
+
+ nsDefine :: Maybe String -> String -> String
+ nsDefine inPackage h = maybe h (\ns -> map toUpper ns ++ "_" ++ h) inPackage
+diff -ur BNFC-2.4.2.0/formats/f-sharp/FSharpTop.hs BNFC-2.4.2.0-ghc-7.2/formats/f-sharp/FSharpTop.hs
+--- BNFC-2.4.2.0/formats/f-sharp/FSharpTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/f-sharp/FSharpTop.hs 2011-10-28 14:56:37.926669329 +0200
+@@ -36,10 +36,10 @@
+ import GetCF
+ import Utils
+
+-import Char
++import Data.Char
+ import Data.Maybe (fromMaybe,maybe)
+-import System
+-import Monad(when)
++import System.Exit
++import Control.Monad(when)
+
+ -- naming conventions
+
+diff -ur BNFC-2.4.2.0/formats/haskell-gadt/CFtoAbstractGADT.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoAbstractGADT.hs
+--- BNFC-2.4.2.0/formats/haskell-gadt/CFtoAbstractGADT.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoAbstractGADT.hs 2011-10-28 14:50:13.799985332 +0200
+@@ -21,7 +21,7 @@
+
+ import CF
+ import Utils((+++),(++++))
+-import List(intersperse,nub)
++import Data.List(intersperse,nub)
+
+ import HaskellGADTCommon
+
+diff -ur BNFC-2.4.2.0/formats/haskell-gadt/CFtoPrinterGADT.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoPrinterGADT.hs
+--- BNFC-2.4.2.0/formats/haskell-gadt/CFtoPrinterGADT.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoPrinterGADT.hs 2011-10-28 14:50:20.019985612 +0200
+@@ -22,8 +22,8 @@
+ import CF
+ import Utils
+ import CFtoTemplate
+-import List (intersperse)
+-import Char(toLower)
++import Data.List (intersperse)
++import Data.Char(toLower)
+
+ import HaskellGADTCommon
+
+diff -ur BNFC-2.4.2.0/formats/haskell-gadt/CFtoTemplateGADT.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoTemplateGADT.hs
+--- BNFC-2.4.2.0/formats/haskell-gadt/CFtoTemplateGADT.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/CFtoTemplateGADT.hs 2011-10-28 14:50:24.599985819 +0200
+@@ -24,7 +24,7 @@
+
+ import CF
+ import Utils((+++))
+-import List (delete,groupBy)
++import Data.List (delete,groupBy)
+
+ import HaskellGADTCommon
+
+@@ -62,4 +62,4 @@
+ prCatTrans :: Cat -> [Constructor] -> [String]
+ prCatTrans cat cs = ["trans" ++ cat +++ "::" +++ cat +++ "-> Result",
+ "trans" ++ cat +++ "t = case t of"]
+- ++ map prConsCase cs
+\ No newline at end of file
++ ++ map prConsCase cs
+diff -ur BNFC-2.4.2.0/formats/haskell-gadt/HaskellGADTCommon.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/HaskellGADTCommon.hs
+--- BNFC-2.4.2.0/formats/haskell-gadt/HaskellGADTCommon.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/HaskellGADTCommon.hs 2011-10-28 14:50:28.319985987 +0200
+@@ -21,7 +21,7 @@
+
+ import CF
+
+-import Char
++import Data.Char
+
+ data Constructor = Constructor {
+ consCat :: Cat,
+diff -ur BNFC-2.4.2.0/formats/haskell-gadt/HaskellTopGADT.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/HaskellTopGADT.hs
+--- BNFC-2.4.2.0/formats/haskell-gadt/HaskellTopGADT.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell-gadt/HaskellTopGADT.hs 2011-10-28 15:00:58.286681076 +0200
+@@ -40,10 +40,10 @@
+ import GetCF
+ import Utils
+
+-import Char
++import Data.Char
+ import Data.Maybe (fromMaybe,maybe)
+-import System
+-import Monad(when)
++import System.Exit
++import Control.Monad(when)
+
+ -- naming conventions
+
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoAbstract.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAbstract.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoAbstract.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAbstract.hs 2011-10-28 14:50:42.843319975 +0200
+@@ -21,7 +21,7 @@
+
+ import CF
+ import Utils((+++),(++++))
+-import List(intersperse)
++import Data.List(intersperse)
+
+ -- to produce a Haskell module
+ cf2Abstract :: Bool -> String -> CF -> String
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoAlex.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAlex.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoAlex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAlex.hs 2011-10-28 14:50:46.526653475 +0200
+@@ -22,7 +22,7 @@
+
+ import CF
+ import RegToAlex
+-import List
++import Data.List
+
+ cf2alex :: String -> String -> CF -> String
+ cf2alex name errMod cf = unlines $ concat $ intersperse [""] [
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoAlex2.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAlex2.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoAlex2.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoAlex2.hs 2011-10-28 14:50:52.769987090 +0200
+@@ -33,11 +33,11 @@
+ module CFtoAlex2 (cf2alex2) where
+
+ import CF
+-import List
++import Data.List
+
+ -- For RegToAlex, see below.
+ import AbsBNF
+-import Char
++import Data.Char
+
+ cf2alex2 :: String -> String -> String -> Bool -> Bool -> CF -> String
+ cf2alex2 name errMod shareMod shareStrings byteStrings cf =
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoHappy.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoHappy.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoHappy.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoHappy.hs 2011-10-28 14:51:00.106654087 +0200
+@@ -26,8 +26,8 @@
+
+ import CF
+ --import Lexer
+-import List (intersperse, sort)
+-import Char
++import Data.List (intersperse, sort)
++import Data.Char
+
+ -- Type declarations
+
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoPrinter.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoPrinter.hs 2011-10-28 14:51:09.816654525 +0200
+@@ -22,8 +22,8 @@
+ import CF
+ import Utils
+ import CFtoTemplate
+-import List (intersperse)
+-import Char(toLower)
++import Data.List (intersperse)
++import Data.Char(toLower)
+
+ -- derive pretty-printer from a BNF grammar. AR 15/2/2002
+ cf2Printer :: Bool -> String -> String -> CF -> String
+diff -ur BNFC-2.4.2.0/formats/haskell2/CFtoTemplate.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoTemplate.hs
+--- BNFC-2.4.2.0/formats/haskell2/CFtoTemplate.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/CFtoTemplate.hs 2011-10-28 14:38:42.819954157 +0200
+@@ -23,8 +23,8 @@
+ ) where
+
+ import CF
+-import Char
+-import List (delete)
++import Data.Char
++import Data.List (delete)
+
+ type ModuleName = String
+ type Constructor = String
+diff -ur BNFC-2.4.2.0/formats/haskell2/HaskellTop.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/HaskellTop.hs
+--- BNFC-2.4.2.0/formats/haskell2/HaskellTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/HaskellTop.hs 2011-10-28 15:01:17.467580274 +0200
+@@ -40,10 +40,10 @@
+ import GetCF
+ import Utils
+
+-import Char
++import Data.Char
+ import Data.Maybe (fromMaybe,maybe)
+-import System
+-import Monad(when)
++import System.Exit
++import Control.Monad(when)
+
+ -- naming conventions
+
+diff -ur BNFC-2.4.2.0/formats/haskell2/RegToAlex.hs BNFC-2.4.2.0-ghc-7.2/formats/haskell2/RegToAlex.hs
+--- BNFC-2.4.2.0/formats/haskell2/RegToAlex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/haskell2/RegToAlex.hs 2011-10-28 14:51:30.906655477 +0200
+@@ -22,7 +22,7 @@
+ -- modified from pretty-printer generated by the BNF converter
+
+ import AbsBNF
+-import Char
++import Data.Char
+
+ -- the top-level printing method
+ printRegAlex :: Reg -> String
+diff -ur BNFC-2.4.2.0/formats/java/CFtoCup.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoCup.hs
+--- BNFC-2.4.2.0/formats/java/CFtoCup.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoCup.hs 2011-10-28 14:51:40.103322559 +0200
+@@ -38,7 +38,7 @@
+ module CFtoCup ( cf2Cup ) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import Data.Char (isUpper)
+ import NamedVariables
+ import TypeChecker -- We need to (re-)typecheck to figure out list instances in
+diff -ur BNFC-2.4.2.0/formats/java/CFtoJLex.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJLex.hs
+--- BNFC-2.4.2.0/formats/java/CFtoJLex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJLex.hs 2011-10-28 14:51:44.849989439 +0200
+@@ -42,7 +42,7 @@
+ import RegToJLex
+ import Utils ( (+++) )
+ import NamedVariables
+-import List
++import Data.List
+
+ --The environment must be returned for the parser to use.
+ cf2jlex :: String -> String -> CF -> (String, SymEnv)
+diff -ur BNFC-2.4.2.0/formats/java/CFtoJavaAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaAbs.hs
+--- BNFC-2.4.2.0/formats/java/CFtoJavaAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaAbs.hs 2011-10-28 14:51:50.013323006 +0200
+@@ -47,8 +47,8 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables hiding (IVar, getVars, varName)
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+
+ --Produces abstract data types in Java.
+ --These follow Appel's "non-object oriented" version.
+diff -ur BNFC-2.4.2.0/formats/java/CFtoJavaPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaPrinter.hs
+--- BNFC-2.4.2.0/formats/java/CFtoJavaPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaPrinter.hs 2011-10-28 14:51:55.646656593 +0200
+@@ -48,8 +48,8 @@
+ import CF
+ import NamedVariables
+ import Utils ( (+++) )
+-import List
+-import Char ( toLower )
++import Data.List
++import Data.Char ( toLower )
+
+ --Produces the PrettyPrinter class.
+ --It will generate two methods "print" and "show"
+diff -ur BNFC-2.4.2.0/formats/java/CFtoJavaSkeleton.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaSkeleton.hs
+--- BNFC-2.4.2.0/formats/java/CFtoJavaSkeleton.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoJavaSkeleton.hs 2011-10-28 14:52:01.343323517 +0200
+@@ -21,8 +21,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower)
++import Data.List
++import Data.Char(toLower)
+
+
+ cf2JavaSkeleton :: String -> String -> CF -> String
+diff -ur BNFC-2.4.2.0/formats/java/CFtoVisitSkel.hs BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoVisitSkel.hs
+--- BNFC-2.4.2.0/formats/java/CFtoVisitSkel.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/CFtoVisitSkel.hs 2011-10-28 14:52:06.073323730 +0200
+@@ -42,8 +42,8 @@
+ import CF
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper)
++import Data.List
++import Data.Char(toLower, toUpper)
+
+ --Produces a Skeleton using the Visitor Design Pattern.
+ --Thus the user can choose which Skeleton to use.
+diff -ur BNFC-2.4.2.0/formats/java/JavaTop.hs BNFC-2.4.2.0-ghc-7.2/formats/java/JavaTop.hs
+--- BNFC-2.4.2.0/formats/java/JavaTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/JavaTop.hs 2011-10-28 15:00:30.163346474 +0200
+@@ -37,8 +37,10 @@
+ -------------------------------------------------------------------
+ -- Dependencies.
+ -------------------------------------------------------------------
+-import Directory ( createDirectory )
+-import IO ( try, isAlreadyExistsError )
++import System.Directory ( createDirectory )
++import System.IO
++import System.IO.Error
++-- ( try, isAlreadyExistsError )
+
+ import Utils
+ import CF
+@@ -49,10 +51,10 @@
+ import CFtoJavaSkeleton
+ import CFtoVisitSkel
+ import CFtoLatex
+-import System
++import System.Exit
+ import GetCF ( tryReadCF, writeFileRep )
+-import Char
+-import List(intersperse)
++import Data.Char
++import Data.List(intersperse)
+
+ -------------------------------------------------------------------
+ -- | Build the Java output.
+diff -ur BNFC-2.4.2.0/formats/java/RegToJLex.hs BNFC-2.4.2.0-ghc-7.2/formats/java/RegToJLex.hs
+--- BNFC-2.4.2.0/formats/java/RegToJLex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java/RegToJLex.hs 2011-10-28 14:52:17.229990901 +0200
+@@ -3,7 +3,7 @@
+ -- modified from pretty-printer generated by the BNF converter
+
+ import AbsBNF
+-import Char
++import Data.Char
+
+ -- the top-level printing method
+ printRegJLex :: Reg -> String
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoAbstractVisitor.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoAbstractVisitor.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoAbstractVisitor.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoAbstractVisitor.hs 2011-10-28 14:52:25.139991258 +0200
+@@ -24,8 +24,8 @@
+ import CFtoJavaAbs15 (typename)
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isDigit)
++import Data.List
++import Data.Char(toLower, toUpper, isDigit)
+
+ cf2AbstractVisitor :: String -> String -> CF -> String
+ cf2AbstractVisitor packageBase packageAbsyn cf =
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoAllVisitor.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoAllVisitor.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoAllVisitor.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoAllVisitor.hs 2011-10-28 14:52:30.846658182 +0200
+@@ -24,8 +24,8 @@
+ import CFtoJavaAbs15 (typename)
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isDigit)
++import Data.List
++import Data.Char(toLower, toUpper, isDigit)
+
+ cf2AllVisitor :: String -> String -> CF -> String
+ cf2AllVisitor packageBase packageAbsyn cf =
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoComposVisitor.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoComposVisitor.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoComposVisitor.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoComposVisitor.hs 2011-10-28 14:52:36.249991759 +0200
+@@ -24,8 +24,8 @@
+ import CFtoJavaAbs15 (typename)
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isDigit)
++import Data.List
++import Data.Char(toLower, toUpper, isDigit)
+
+ cf2ComposVisitor :: String -> String -> CF -> String
+ cf2ComposVisitor packageBase packageAbsyn cf =
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoCup15.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoCup15.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoCup15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoCup15.hs 2011-10-28 14:52:44.713325474 +0200
+@@ -40,7 +40,7 @@
+ module CFtoCup15 ( cf2Cup ) where
+
+ import CF
+-import List (intersperse, isPrefixOf)
++import Data.List (intersperse, isPrefixOf)
+ import NamedVariables
+ import Utils ( (+++) )
+ import TypeChecker -- We need to (re-)typecheck to figure out list instances in
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoFoldVisitor.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoFoldVisitor.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoFoldVisitor.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoFoldVisitor.hs 2011-10-28 14:52:49.933325710 +0200
+@@ -24,8 +24,8 @@
+ import CFtoJavaAbs15 (typename)
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isDigit)
++import Data.List
++import Data.Char(toLower, toUpper, isDigit)
+
+ cf2FoldVisitor :: String -> String -> CF -> String
+ cf2FoldVisitor packageBase packageAbsyn cf =
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoJLex15.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoJLex15.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoJLex15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoJLex15.hs 2011-10-28 14:52:54.106659231 +0200
+@@ -43,7 +43,7 @@
+ import RegToJLex
+ import Utils ( (+++) )
+ import NamedVariables
+-import List
++import Data.List
+
+ --The environment must be returned for the parser to use.
+ cf2jlex :: String -> String -> CF -> (String, SymEnv)
+--- BNFC-2.4.2.0/formats/java1.5/CFtoJavaAbs15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoJavaAbs15.hs 2011-10-28 14:54:05.833329134 +0200
+@@ -48,9 +48,9 @@
+ import CF
+ import Utils((+++),(++++))
+ import NamedVariables hiding (IVar, getVars, varName)
+-import List
+-import Char(toLower, isDigit)
+-import Maybe(catMaybes,fromMaybe)
++import Data.List
++import Data.Char(toLower, isDigit)
++import Data.Maybe(catMaybes,fromMaybe)
+
+ --Produces abstract data types in Java.
+ --These follow Appel's "non-object oriented" version.
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoJavaPrinter15.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoJavaPrinter15.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoJavaPrinter15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoJavaPrinter15.hs 2011-10-28 14:53:04.176659685 +0200
+@@ -51,8 +51,8 @@
+ import CF
+ import NamedVariables
+ import Utils ( (+++) )
+-import List
+-import Char ( toLower, isSpace )
++import Data.List
++import Data.Char ( toLower, isSpace )
+
+ --Produces the PrettyPrinter class.
+ --It will generate two methods "print" and "show"
+diff -ur BNFC-2.4.2.0/formats/java1.5/CFtoVisitSkel15.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoVisitSkel15.hs
+--- BNFC-2.4.2.0/formats/java1.5/CFtoVisitSkel15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/CFtoVisitSkel15.hs 2011-10-28 14:53:09.309993250 +0200
+@@ -44,8 +44,8 @@
+ import CFtoJavaAbs15 (typename)
+ import Utils ((+++), (++++))
+ import NamedVariables
+-import List
+-import Char(toLower, toUpper, isDigit)
++import Data.List
++import Data.Char(toLower, toUpper, isDigit)
+
+ --Produces a Skeleton using the Visitor Design Pattern.
+ --Thus the user can choose which Skeleton to use.
+diff -ur BNFC-2.4.2.0/formats/java1.5/JavaTop15.hs BNFC-2.4.2.0-ghc-7.2/formats/java1.5/JavaTop15.hs
+--- BNFC-2.4.2.0/formats/java1.5/JavaTop15.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/java1.5/JavaTop15.hs 2011-10-28 14:59:35.690010683 +0200
+@@ -38,8 +38,9 @@
+ -------------------------------------------------------------------
+ -- Dependencies.
+ -------------------------------------------------------------------
+-import Directory ( createDirectory )
+-import IO ( try, isAlreadyExistsError )
++import System.Directory ( createDirectory )
++import System.IO
++-- ( try, isAlreadyExistsError )
+
+ import Utils
+ import CF
+@@ -54,10 +55,10 @@
+ import CFtoFoldVisitor
+ import CFtoAllVisitor
+ import CFtoLatex
+-import System
++import System.Exit
+ import GetCF ( tryReadCF, writeFileRep )
+-import Char
+-import List(intersperse)
++import Data.Char
++import Data.List(intersperse)
+
+ -------------------------------------------------------------------
+ -- | Build the Java output.
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlAbs.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlAbs.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlAbs.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlAbs.hs 2011-10-28 14:42:12.693296959 +0200
+@@ -23,7 +23,7 @@
+
+ import CF
+ import Utils((+++),(++++))
+-import List(intersperse)
++import Data.List(intersperse)
+ import OCamlUtil
+
+ -- to produce an OCaml module
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlLex.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlLex.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlLex.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlLex.hs 2011-10-28 14:43:09.089966170 +0200
+@@ -22,8 +22,8 @@
+
+ module CFtoOCamlLex (cf2ocamllex) where
+
+-import List
+-import Char
++import Data.List
++import Data.Char
+
+ import CF
+ import AbsBNF
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlPrinter.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlPrinter.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlPrinter.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlPrinter.hs 2011-10-28 14:41:13.969960976 +0200
+@@ -24,8 +24,8 @@
+ import CF
+ import Utils
+ import CFtoTemplate
+-import List (intersperse)
+-import Char(toLower,isDigit)
++import Data.List (intersperse)
++import Data.Char(toLower,isDigit)
+ import OCamlUtil
+
+ -- derive pretty-printer from a BNF grammar. AR 15/2/2002
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlShow.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlShow.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlShow.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlShow.hs 2011-10-28 14:40:47.476626448 +0200
+@@ -26,8 +26,8 @@
+ import CF
+ import Utils
+ import CFtoTemplate
+-import List (intersperse)
+-import Char(toLower,isDigit)
++import Data.List (intersperse)
++import Data.Char(toLower,isDigit)
+ import OCamlUtil
+
+ cf2show :: String -> String -> CF -> String
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlTemplate.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlTemplate.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlTemplate.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlTemplate.hs 2011-10-28 14:41:29.796628357 +0200
+@@ -25,8 +25,8 @@
+ ) where
+
+ import CF
+-import Char
+-import List (delete)
++import Data.Char
++import Data.List (delete)
+ import Utils((+++))
+ import OCamlUtil
+
+diff -ur BNFC-2.4.2.0/formats/ocaml/CFtoOCamlYacc.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlYacc.hs
+--- BNFC-2.4.2.0/formats/ocaml/CFtoOCamlYacc.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/CFtoOCamlYacc.hs 2011-10-28 14:41:56.553296231 +0200
+@@ -27,8 +27,8 @@
+ where
+
+ import CF
+-import List (intersperse,nub)
+-import Char
++import Data.List (intersperse,nub)
++import Data.Char
+
+ import Utils ((+++))
+ import OCamlUtil
+diff -ur BNFC-2.4.2.0/formats/ocaml/OCamlTop.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/OCamlTop.hs
+--- BNFC-2.4.2.0/formats/ocaml/OCamlTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/OCamlTop.hs 2011-10-28 14:56:52.490003319 +0200
+@@ -35,10 +35,10 @@
+ import GetCF
+ import Utils
+
+-import Char
++import Data.Char
+ import Data.Maybe (fromMaybe,maybe)
+-import System
+-import Monad(when)
++import System.Exit
++import Control.Monad(when)
+
+ -- naming conventions
+
+diff -ur BNFC-2.4.2.0/formats/ocaml/OCamlUtil.hs BNFC-2.4.2.0-ghc-7.2/formats/ocaml/OCamlUtil.hs
+--- BNFC-2.4.2.0/formats/ocaml/OCamlUtil.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/ocaml/OCamlUtil.hs 2011-10-28 14:40:31.863292410 +0200
+@@ -21,7 +21,7 @@
+
+ import CF
+ import Utils
+-import Char (toLower, toUpper)
++import Data.Char (toLower, toUpper)
+
+ -- Translate Haskell types to OCaml types
+ -- Note: OCaml (data-)types start with lowercase letter
+diff -ur BNFC-2.4.2.0/formats/profile/CFtoHappyProfile.hs BNFC-2.4.2.0-ghc-7.2/formats/profile/CFtoHappyProfile.hs
+--- BNFC-2.4.2.0/formats/profile/CFtoHappyProfile.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/profile/CFtoHappyProfile.hs 2011-10-28 14:53:28.246660771 +0200
+@@ -25,8 +25,8 @@
+
+ import CF
+ --import Lexer
+-import List (intersperse)
+-import Char
++import Data.List (intersperse)
++import Data.Char
+
+ -- Type declarations
+
+diff -ur BNFC-2.4.2.0/formats/profile/ProfileTop.hs BNFC-2.4.2.0-ghc-7.2/formats/profile/ProfileTop.hs
+--- BNFC-2.4.2.0/formats/profile/ProfileTop.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/profile/ProfileTop.hs 2011-10-28 15:00:45.843347181 +0200
+@@ -36,9 +36,9 @@
+ import GetCF
+ import Utils
+
+-import Char
+-import System
+-import Monad(when)
++import Data.Char
++import System.Exit
++import Control.Monad(when)
+
+ -- naming conventions
+
+diff -ur BNFC-2.4.2.0/formats/xml/CFtoXML.hs BNFC-2.4.2.0-ghc-7.2/formats/xml/CFtoXML.hs
+--- BNFC-2.4.2.0/formats/xml/CFtoXML.hs 2010-09-15 16:26:38.000000000 +0200
++++ BNFC-2.4.2.0-ghc-7.2/formats/xml/CFtoXML.hs 2011-10-28 14:38:23.549953287 +0200
+@@ -24,8 +24,8 @@
+ import GetCF (writeFileRep)
+ import Utils
+ import CFtoTemplate
+-import List (intersperse, nub)
+-import Char(toLower)
++import Data.List (intersperse, nub)
++import Data.Char(toLower)
+
+ type Coding = Bool ---- change to at least three values
+