[project @ 2001-09-07 12:34:03 by simonpj]
authorsimonpj <unknown>
Fri, 7 Sep 2001 12:34:04 +0000 (12:34 +0000)
committersimonpj <unknown>
Fri, 7 Sep 2001 12:34:04 +0000 (12:34 +0000)
-------------------
Newtypes and ccalls
     [addendum]
-------------------

MERGE WITH STABLE BRANCH

I accidentally omitted these two wibbles from my previous commit.
I've added PrelNames.unitTyConKey, and used it in TcType and DsCCall.

ghc/compiler/prelude/PrelNames.lhs
ghc/compiler/typecheck/TcType.lhs

index d774e74..a0d34b5 100644 (file)
@@ -44,7 +44,8 @@ import RdrName          ( RdrName, mkOrig, mkUnqual )
 import UniqFM
 import Unique    ( Unique, Uniquable(..), hasKey,
                    mkPreludeMiscIdUnique, mkPreludeDataConUnique,
-                   mkPreludeTyConUnique, mkPreludeClassUnique
+                   mkPreludeTyConUnique, mkPreludeClassUnique,
+                   mkTupleTyConUnique
                  ) 
 import BasicTypes ( Boxity(..), Arity )
 import UniqFM    ( UniqFM, listToUFM )
@@ -752,6 +753,8 @@ usManyTyConKey                              = mkPreludeTyConUnique 78
 crossTyConKey                          = mkPreludeTyConUnique 79
 plusTyConKey                           = mkPreludeTyConUnique 80
 genUnitTyConKey                                = mkPreludeTyConUnique 81
+
+unitTyConKey = mkTupleTyConUnique Boxed 0
 \end{code}
 
 %************************************************************************
index 4d6d761..a62e698 100644 (file)
@@ -132,7 +132,7 @@ import OccName              ( OccName, mkDictOcc )
 import NameSet
 import PrelNames       -- Lots (e.g. in isFFIArgumentTy
 import TysWiredIn      ( ptrTyCon, funPtrTyCon, addrTyCon, unitTyCon )
-import Unique          ( Unique, Uniquable(..), mkTupleTyConUnique )
+import Unique          ( Unique, Uniquable(..) )
 import SrcLoc          ( SrcLoc )
 import Util            ( cmpList, thenCmp )
 import Maybes          ( maybeToBool, expectJust )
@@ -559,7 +559,7 @@ isIntegerTy    = is_tc integerTyConKey
 isIntTy        = is_tc intTyConKey
 isAddrTy       = is_tc addrTyConKey
 isBoolTy       = is_tc boolTyConKey
-isUnitTy       = is_tc (mkTupleTyConUnique Boxed 0)
+isUnitTy       = is_tc unitTyConKey
 
 is_tc :: Unique -> Type -> Bool
 -- Newtypes are opaque to this