[project @ 2000-07-13 15:44:40 by simonmar]
[ghc-hetmet.git] / ghc / compiler / prelude / PrelInfo.lhs
index ad67d07..94666c7 100644 (file)
@@ -41,13 +41,11 @@ import PrelNames    -- Prelude module names
 
 import PrimOp          ( PrimOp(..), allThePrimOps, primOpRdrName )
 import DataCon         ( DataCon, dataConId, dataConWrapId )
-import PrimRep         ( PrimRep(..) )
 import TysPrim         -- TYPES
 import TysWiredIn
 
 -- others:
 import RdrName         ( RdrName )
-import Var             ( varUnique, Id )
 import Name            ( Name, OccName, Provenance(..), 
                          NameSpace, tcName, clsName, varName, dataName,
                          mkKnownKeyGlobal,
@@ -61,7 +59,6 @@ import BasicTypes     ( Boxity(..) )
 import Unique          -- *Key stuff
 import UniqFM          ( UniqFM, listToUFM )
 import Util            ( isIn )
-import Panic           ( panic )
 \end{code}
 
 %************************************************************************
@@ -339,12 +336,18 @@ deriving_occ_info
     , (boundedClassKey,        [intTyCon_RDR])
     , (showClassKey,   [intTyCon_RDR, numClass_RDR, ordClass_RDR, compose_RDR, showString_RDR, 
                         showParen_RDR, showSpace_RDR, showList___RDR])
-    , (readClassKey,   [intTyCon_RDR, numClass_RDR, ordClass_RDR, append_RDR, 
+    , (readClassKey,   [intTyCon_RDR, numClass_RDR, ordClass_RDR, append_RDR,
+                         foldr_RDR, build_RDR,
+                             -- foldr and build required for list comprehension
+                             -- KSW 2000-06
                         lex_RDR, readParen_RDR, readList___RDR, thenM_RDR])
                             -- returnM (and the rest of the Monad class decl) 
                             -- will be forced in as result of depending
                             -- on thenM.   -- SOF 1/99
-    , (ixClassKey,     [intTyCon_RDR, numClass_RDR, and_RDR, map_RDR, enumFromTo_RDR, 
+    , (ixClassKey,     [intTyCon_RDR, numClass_RDR, and_RDR, map_RDR, enumFromTo_RDR,
+                         foldr_RDR, build_RDR,
+                             -- foldr and build required for list comprehension used
+                             -- with single constructor types  -- KSW 2000-06
                         returnM_RDR, failM_RDR])
                             -- the last two are needed to force returnM, thenM and failM
                             -- in before typechecking the list(monad) comprehension