[project @ 2004-08-26 15:44:50 by simonpj]
[ghc-hetmet.git] / ghc / compiler / prelude / PrelNames.lhs
index f719c4e..893fed2 100644 (file)
@@ -91,25 +91,6 @@ isUnboundName name = name `hasKey` unboundKey
 
 %************************************************************************
 %*                                                                     *
-\subsection{Built-in-syntax names
-%*                                                                     *
-%************************************************************************
-
-Built-in syntax names are parsed directly into Exact RdrNames.
-This predicate just identifies them. 
-
-\begin{code}
-isBuiltInSyntaxName :: Name -> Bool
-isBuiltInSyntaxName n
-  =  isTupleKey uniq
-  || uniq `elem` [listTyConKey, nilDataConKey, consDataConKey,
-                 funTyConKey, parrTyConKey]
-  where
-     uniq = nameUnique n
-\end{code}
-
-%************************************************************************
-%*                                                                     *
 \subsection{Known key Names}
 %*                                                                     *
 %************************************************************************
@@ -123,6 +104,7 @@ basicKnownKeyNames :: [Name]
 basicKnownKeyNames
  = genericTyConNames
  ++ monadNames
+ ++ typeableClassNames
  ++ [  -- Type constructors (synonyms especially)
        ioTyConName, ioDataConName,
        runIOName,
@@ -151,7 +133,6 @@ basicKnownKeyNames
        realFracClassName,              -- numeric
        realFloatClassName,             -- numeric
        dataClassName, 
-       typeableClassName,
 
        -- Numeric stuff
        negateName, minusName, 
@@ -447,7 +428,7 @@ showSpace_RDR           = varQual_RDR pREL_SHOW_Name FSLIT("showSpace")
 showParen_RDR           = varQual_RDR pREL_SHOW_Name FSLIT("showParen") 
 
 typeOf_RDR     = varQual_RDR tYPEABLE_Name FSLIT("typeOf")
-mkTypeRep_RDR  = varQual_RDR tYPEABLE_Name FSLIT("mkAppTy")
+mkTypeRep_RDR  = varQual_RDR tYPEABLE_Name FSLIT("mkTyConApp")
 mkTyConRep_RDR = varQual_RDR tYPEABLE_Name FSLIT("mkTyCon")
 
 undefined_RDR = varQual_RDR pREL_ERR_Name FSLIT("undefined")
@@ -554,11 +535,24 @@ floatingClassName  = clsQual  pREL_FLOAT FSLIT("Floating") floatingClassKey
 realFloatClassName = clsQual  pREL_FLOAT FSLIT("RealFloat") realFloatClassKey
 
 -- Class Ix
-ixClassName       = clsQual pREL_ARR FSLIT("Ix") ixClassKey
+ixClassName = clsQual pREL_ARR FSLIT("Ix") ixClassKey
+
+-- Class Typeable
+typeableClassName  = clsQual tYPEABLE FSLIT("Typeable") typeableClassKey
+typeable1ClassName = clsQual tYPEABLE FSLIT("Typeable1") typeable1ClassKey
+typeable2ClassName = clsQual tYPEABLE FSLIT("Typeable2") typeable2ClassKey
+typeable3ClassName = clsQual tYPEABLE FSLIT("Typeable3") typeable3ClassKey
+typeable4ClassName = clsQual tYPEABLE FSLIT("Typeable4") typeable4ClassKey
+typeable5ClassName = clsQual tYPEABLE FSLIT("Typeable5") typeable5ClassKey
+typeable6ClassName = clsQual tYPEABLE FSLIT("Typeable6") typeable6ClassKey
+typeable7ClassName = clsQual tYPEABLE FSLIT("Typeable7") typeable7ClassKey
+
+typeableClassNames =   [ typeableClassName, typeable1ClassName, typeable2ClassName
+                       , typeable3ClassName, typeable4ClassName, typeable5ClassName
+                       , typeable6ClassName, typeable7ClassName ]
 
--- Class Typeable and Data
-typeableClassName = clsQual tYPEABLE FSLIT("Typeable") typeableClassKey
-dataClassName     = clsQual gENERICS FSLIT("Data")     dataClassKey
+-- Class Data
+dataClassName = clsQual gENERICS FSLIT("Data") dataClassKey
 
 -- Error module
 assertErrorName          = varQual pREL_ERR FSLIT("assertError") assertErrorIdKey
@@ -705,7 +699,6 @@ methName cls occ uniq
 boundedClassKey                = mkPreludeClassUnique 1 
 enumClassKey           = mkPreludeClassUnique 2 
 eqClassKey             = mkPreludeClassUnique 3 
-typeableClassKey       = mkPreludeClassUnique 4
 floatingClassKey       = mkPreludeClassUnique 5 
 fractionalClassKey     = mkPreludeClassUnique 6 
 integralClassKey       = mkPreludeClassUnique 7 
@@ -719,7 +712,16 @@ realClassKey               = mkPreludeClassUnique 14
 realFloatClassKey      = mkPreludeClassUnique 15
 realFracClassKey       = mkPreludeClassUnique 16
 showClassKey           = mkPreludeClassUnique 17
-ixClassKey             = mkPreludeClassUnique 20
+ixClassKey             = mkPreludeClassUnique 18
+
+typeableClassKey       = mkPreludeClassUnique 20
+typeable1ClassKey      = mkPreludeClassUnique 21
+typeable2ClassKey      = mkPreludeClassUnique 22
+typeable3ClassKey      = mkPreludeClassUnique 23
+typeable4ClassKey      = mkPreludeClassUnique 24
+typeable5ClassKey      = mkPreludeClassUnique 25
+typeable6ClassKey      = mkPreludeClassUnique 26
+typeable7ClassKey      = mkPreludeClassUnique 27
 \end{code}
 
 %************************************************************************
@@ -802,7 +804,7 @@ objectTyConKey                              = mkPreludeTyConUnique 83
 eitherTyConKey                         = mkPreludeTyConUnique 84
 
 ---------------- Template Haskell -------------------
---     USES TyConUniques 100-119
+--     USES TyConUniques 100-129
 -----------------------------------------------------
 
 unitTyConKey = mkTupleTyConUnique Boxed 0
@@ -971,7 +973,7 @@ choiceAIdKey        = mkPreludeMiscIdUnique 123 -- |||
 loopAIdKey     = mkPreludeMiscIdUnique 124
 
 ---------------- Template Haskell -------------------
---     USES IdUniques 200-299
+--     USES IdUniques 200-399
 -----------------------------------------------------
 \end{code}