From: simonpj Date: Fri, 7 Sep 2001 12:34:04 +0000 (+0000) Subject: [project @ 2001-09-07 12:34:03 by simonpj] X-Git-Tag: Approximately_9120_patches~1014 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;ds=sidebyside;h=b8711eeb6fd513fb604ee2027ac51ce86d247bf4;hp=f16df743b288e7619c3eb412e9358135c26525be;p=ghc-hetmet.git [project @ 2001-09-07 12:34:03 by simonpj] ------------------- 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. --- diff --git a/ghc/compiler/prelude/PrelNames.lhs b/ghc/compiler/prelude/PrelNames.lhs index d774e74..a0d34b5 100644 --- a/ghc/compiler/prelude/PrelNames.lhs +++ b/ghc/compiler/prelude/PrelNames.lhs @@ -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} %************************************************************************ diff --git a/ghc/compiler/typecheck/TcType.lhs b/ghc/compiler/typecheck/TcType.lhs index 4d6d761..a62e698 100644 --- a/ghc/compiler/typecheck/TcType.lhs +++ b/ghc/compiler/typecheck/TcType.lhs @@ -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