summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2020-02-03 13:19:11 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2020-02-03 13:19:11 +0000
commit7a93f14c982133d933029c0ae2c584e382e8ad37 (patch)
treebfea44f0709a43c5e394b8e61884527534a6fe3f
parent87368d1dc38c710bca96d1a129785b7d6e565ac2 (diff)
downloadhaskell-wip/tything-wired-in.tar.gz
-rw-r--r--compiler/basicTypes/MkId.hs26
-rw-r--r--compiler/basicTypes/Name.hs69
-rw-r--r--compiler/coreSyn/MkCore.hs21
-rw-r--r--compiler/prelude/TysPrim.hs98
-rw-r--r--compiler/prelude/TysWiredIn.hs142
-rw-r--r--compiler/typecheck/TcTypeNats.hs22
-rw-r--r--utils/genprimopcode/Main.hs2
7 files changed, 180 insertions, 200 deletions
diff --git a/compiler/basicTypes/MkId.hs b/compiler/basicTypes/MkId.hs
index 49e5115097..14a3cd85ec 100644
--- a/compiler/basicTypes/MkId.hs
+++ b/compiler/basicTypes/MkId.hs
@@ -1215,7 +1215,7 @@ mkPrimOpId prim_op
ty = mkSpecForAllTys tyvars (mkVisFunTys arg_tys res_ty)
name = mkWiredInName gHC_PRIM (primOpOcc prim_op)
(mkPrimOpIdUnique (primOpTag prim_op))
- (AnId id) UserSyntax
+ UserSyntax
id = mkGlobalId (PrimOpId prim_op) name ty info
info = noCafIdInfo
@@ -1325,20 +1325,20 @@ another gun with which to shoot yourself in the foot.
unsafeCoerceName, nullAddrName, seqName,
realWorldName, voidPrimIdName, coercionTokenName,
magicDictName, coerceName, proxyName :: Name
-unsafeCoerceName = mkWiredInIdName gHC_PRIM (fsLit "unsafeCoerce#") unsafeCoerceIdKey unsafeCoerceId
-nullAddrName = mkWiredInIdName gHC_PRIM (fsLit "nullAddr#") nullAddrIdKey nullAddrId
-seqName = mkWiredInIdName gHC_PRIM (fsLit "seq") seqIdKey seqId
-realWorldName = mkWiredInIdName gHC_PRIM (fsLit "realWorld#") realWorldPrimIdKey realWorldPrimId
-voidPrimIdName = mkWiredInIdName gHC_PRIM (fsLit "void#") voidPrimIdKey voidPrimId
-coercionTokenName = mkWiredInIdName gHC_PRIM (fsLit "coercionToken#") coercionTokenIdKey coercionTokenId
-magicDictName = mkWiredInIdName gHC_PRIM (fsLit "magicDict") magicDictKey magicDictId
-coerceName = mkWiredInIdName gHC_PRIM (fsLit "coerce") coerceKey coerceId
-proxyName = mkWiredInIdName gHC_PRIM (fsLit "proxy#") proxyHashKey proxyHashId
+unsafeCoerceName = mkWiredInIdName gHC_PRIM (fsLit "unsafeCoerce#") unsafeCoerceIdKey
+nullAddrName = mkWiredInIdName gHC_PRIM (fsLit "nullAddr#") nullAddrIdKey
+seqName = mkWiredInIdName gHC_PRIM (fsLit "seq") seqIdKey
+realWorldName = mkWiredInIdName gHC_PRIM (fsLit "realWorld#") realWorldPrimIdKey
+voidPrimIdName = mkWiredInIdName gHC_PRIM (fsLit "void#") voidPrimIdKey
+coercionTokenName = mkWiredInIdName gHC_PRIM (fsLit "coercionToken#") coercionTokenIdKey
+magicDictName = mkWiredInIdName gHC_PRIM (fsLit "magicDict") magicDictKey
+coerceName = mkWiredInIdName gHC_PRIM (fsLit "coerce") coerceKey
+proxyName = mkWiredInIdName gHC_PRIM (fsLit "proxy#") proxyHashKey
lazyIdName, oneShotName, noinlineIdName :: Name
-lazyIdName = mkWiredInIdName gHC_MAGIC (fsLit "lazy") lazyIdKey lazyId
-oneShotName = mkWiredInIdName gHC_MAGIC (fsLit "oneShot") oneShotKey oneShotId
-noinlineIdName = mkWiredInIdName gHC_MAGIC (fsLit "noinline") noinlineIdKey noinlineId
+lazyIdName = mkWiredInIdName gHC_MAGIC (fsLit "lazy") lazyIdKey
+oneShotName = mkWiredInIdName gHC_MAGIC (fsLit "oneShot") oneShotKey
+noinlineIdName = mkWiredInIdName gHC_MAGIC (fsLit "noinline") noinlineIdKey
------------------------------------------------
proxyHashId :: Id
diff --git a/compiler/basicTypes/Name.hs b/compiler/basicTypes/Name.hs
index bd77964488..53f7a5b0ea 100644
--- a/compiler/basicTypes/Name.hs
+++ b/compiler/basicTypes/Name.hs
@@ -49,7 +49,7 @@ module Name (
mkInternalName, mkClonedInternalName, mkDerivedInternalName,
mkSystemVarName, mkSysTvName,
mkFCallName,
- mkExternalName, mkWiredInName, mkWiredInNameTuple,
+ mkExternalName, mkWiredInName,
-- ** Manipulating and deconstructing 'Name's
nameUnique, setNameUnique,
@@ -65,7 +65,7 @@ module Name (
isTyVarName, isTyConName, isDataConName,
isValName, isVarName,
isWiredInName, isWiredIn, isBuiltInSyntax,
- isHoleName, isWiredInTuple,
+ isHoleName,
nameIsLocalOrFrom, nameIsHomePackage,
nameIsHomePackageImport, nameIsFromExternalPackage,
stableNameCmp,
@@ -86,10 +86,7 @@ module Name (
import GhcPrelude
-import {-# SOURCE #-} TyCoRep( TyThing )
-
import OccName
-import BasicTypes
import Module
import SrcLoc
import Unique
@@ -128,7 +125,7 @@ data Name = Name {
data NameSort
= External Module
- | WiredIn Module !(Maybe (Boxity, Int)) BuiltInSyntax
+ | WiredIn Module BuiltInSyntax
-- A variant of External, for wired-in things
| Internal -- A user-defined Id or TyVar
@@ -138,17 +135,17 @@ data NameSort
-- OccName is very uninformative (like 's')
instance Outputable NameSort where
- ppr (External _) = text "external"
- ppr (WiredIn _ _ _) = text "wired-in"
- ppr Internal = text "internal"
- ppr System = text "system"
+ ppr (External {}) = text "external"
+ ppr (WiredIn {}) = text "wired-in"
+ ppr Internal = text "internal"
+ ppr System = text "system"
instance NFData Name where
rnf Name{..} = rnf n_sort
instance NFData NameSort where
rnf (External m) = rnf m
- rnf (WiredIn m t b) = rnf m `seq` t `seq` b `seq` ()
+ rnf (WiredIn m b) = rnf m `seq` b `seq` ()
rnf Internal = ()
rnf System = ()
@@ -223,24 +220,19 @@ isExternalName :: Name -> Bool
isSystemName :: Name -> Bool
isWiredInName :: Name -> Bool
-isWiredInName (Name {n_sort = WiredIn _ _ _}) = True
+isWiredInName (Name {n_sort = WiredIn {}}) = True
isWiredInName _ = False
isWiredIn :: NamedThing thing => thing -> Bool
isWiredIn = isWiredInName . getName
-isWiredInTuple :: Name -> Maybe (NameSpace, (Boxity, Arity))
-isWiredInTuple (Name {n_sort = WiredIn _ i _
- ,n_occ = o}) = (occNameSpace o,) <$> i
-isWiredInTuple _ = Nothing
-
isBuiltInSyntax :: Name -> Bool
-isBuiltInSyntax (Name {n_sort = WiredIn _ _ BuiltInSyntax}) = True
+isBuiltInSyntax (Name {n_sort = WiredIn _ BuiltInSyntax}) = True
isBuiltInSyntax _ = False
-isExternalName (Name {n_sort = External _}) = True
-isExternalName (Name {n_sort = WiredIn _ _ _}) = True
-isExternalName _ = False
+isExternalName (Name {n_sort = External {}}) = True
+isExternalName (Name {n_sort = WiredIn {}}) = True
+isExternalName _ = False
isInternalName name = not (isExternalName name)
@@ -252,9 +244,9 @@ nameModule name =
pprPanic "nameModule" (ppr (n_sort name) <+> ppr name)
nameModule_maybe :: Name -> Maybe Module
-nameModule_maybe (Name { n_sort = External mod}) = Just mod
-nameModule_maybe (Name { n_sort = WiredIn mod _ _}) = Just mod
-nameModule_maybe _ = Nothing
+nameModule_maybe (Name { n_sort = External mod}) = Just mod
+nameModule_maybe (Name { n_sort = WiredIn mod _}) = Just mod
+nameModule_maybe _ = Nothing
nameIsLocalOrFrom :: Module -> Name -> Bool
-- ^ Returns True if the name is
@@ -287,8 +279,8 @@ nameIsHomePackage :: Module -> Name -> Bool
-- True if the Name is defined in module of this package
nameIsHomePackage this_mod
= \nm -> case n_sort nm of
- External nm_mod -> moduleUnitId nm_mod == this_pkg
- WiredIn nm_mod _ _ -> moduleUnitId nm_mod == this_pkg
+ External nm_mod -> moduleUnitId nm_mod == this_pkg
+ WiredIn nm_mod _ -> moduleUnitId nm_mod == this_pkg
Internal -> True
System -> False
where
@@ -378,19 +370,12 @@ mkExternalName uniq mod occ loc
n_occ = occ, n_loc = loc }
-- | Create a name which is actually defined by the compiler itself
-mkWiredInName :: HasCallStack => Module -> OccName -> Unique -> TyThing -> BuiltInSyntax -> Name
-mkWiredInName mod occ uniq _t built_in
+mkWiredInName :: HasCallStack => Module -> OccName -> Unique -> BuiltInSyntax -> Name
+mkWiredInName mod occ uniq built_in
= Name { n_uniq = uniq,
- n_sort = WiredIn mod Nothing built_in,
+ n_sort = WiredIn mod built_in,
n_occ = occ, n_loc = wiredInSrcSpan }
-mkWiredInNameTuple :: Boxity -> Arity -> Module -> OccName -> Unique -> Name
-mkWiredInNameTuple boxity arity mod occ uniq
- = Name { n_uniq = uniq,
- n_sort = WiredIn mod (Just (boxity, arity)) BuiltInSyntax,
- n_occ = occ, n_loc = wiredInSrcSpan }
-
-
-- | Create a name brought into being by the compiler
mkSystemName :: Unique -> OccName -> Name
mkSystemName uniq occ = mkSystemNameAt uniq occ noSrcSpan
@@ -456,7 +441,7 @@ stableNameCmp (Name { n_sort = s1, n_occ = occ1 })
sort_cmp (External m1) (External m2) = m1 `stableModuleCmp` m2
sort_cmp (External {}) _ = LT
sort_cmp (WiredIn {}) (External {}) = GT
- sort_cmp (WiredIn m1 _ _) (WiredIn m2 _ _) = m1 `stableModuleCmp` m2
+ sort_cmp (WiredIn m1 _) (WiredIn m2 _) = m1 `stableModuleCmp` m2
sort_cmp (WiredIn {}) _ = LT
sort_cmp Internal (External {}) = GT
sort_cmp Internal (WiredIn {}) = GT
@@ -545,10 +530,10 @@ pprName :: Name -> SDoc
pprName (Name {n_sort = sort, n_uniq = uniq, n_occ = occ})
= getPprStyle $ \ sty ->
case sort of
- WiredIn mod _ builtin -> pprExternal sty uniq mod occ True builtin
- External mod -> pprExternal sty uniq mod occ False UserSyntax
- System -> pprSystem sty uniq occ
- Internal -> pprInternal sty uniq occ
+ WiredIn mod builtin -> pprExternal sty uniq mod occ True builtin
+ External mod -> pprExternal sty uniq mod occ False UserSyntax
+ System -> pprSystem sty uniq occ
+ Internal -> pprInternal sty uniq occ
-- | Print the string of Name unqualifiedly directly.
pprNameUnqualified :: Name -> SDoc
@@ -671,7 +656,7 @@ nameSortStableString :: NameSort -> String
nameSortStableString System = "$_sys"
nameSortStableString Internal = "$_in"
nameSortStableString (External mod) = moduleStableString mod
-nameSortStableString (WiredIn mod _ _) = moduleStableString mod
+nameSortStableString (WiredIn mod _) = moduleStableString mod
{-
************************************************************************
diff --git a/compiler/coreSyn/MkCore.hs b/compiler/coreSyn/MkCore.hs
index a261a98451..c7bf2717d9 100644
--- a/compiler/coreSyn/MkCore.hs
+++ b/compiler/coreSyn/MkCore.hs
@@ -744,22 +744,21 @@ nonExhaustiveGuardsErrorName, noMethodBindingErrorName :: Name
typeErrorName :: Name
absentSumFieldErrorName :: Name
-recSelErrorName = err_nm "recSelError" recSelErrorIdKey rEC_SEL_ERROR_ID
-absentErrorName = err_nm "absentError" absentErrorIdKey aBSENT_ERROR_ID
+recSelErrorName = err_nm "recSelError" recSelErrorIdKey
+absentErrorName = err_nm "absentError" absentErrorIdKey
absentSumFieldErrorName = err_nm "absentSumFieldError" absentSumFieldErrorIdKey
- aBSENT_SUM_FIELD_ERROR_ID
-runtimeErrorName = err_nm "runtimeError" runtimeErrorIdKey rUNTIME_ERROR_ID
-recConErrorName = err_nm "recConError" recConErrorIdKey rEC_CON_ERROR_ID
-patErrorName = err_nm "patError" patErrorIdKey pAT_ERROR_ID
-typeErrorName = err_nm "typeError" typeErrorIdKey tYPE_ERROR_ID
+runtimeErrorName = err_nm "runtimeError" runtimeErrorIdKey
+recConErrorName = err_nm "recConError" recConErrorIdKey
+patErrorName = err_nm "patError" patErrorIdKey
+typeErrorName = err_nm "typeError" typeErrorIdKey
noMethodBindingErrorName = err_nm "noMethodBindingError"
- noMethodBindingErrorIdKey nO_METHOD_BINDING_ERROR_ID
+ noMethodBindingErrorIdKey
nonExhaustiveGuardsErrorName = err_nm "nonExhaustiveGuardsError"
- nonExhaustiveGuardsErrorIdKey nON_EXHAUSTIVE_GUARDS_ERROR_ID
+ nonExhaustiveGuardsErrorIdKey
-err_nm :: String -> Unique -> Id -> Name
-err_nm str uniq id = mkWiredInIdName cONTROL_EXCEPTION_BASE (fsLit str) uniq id
+err_nm :: String -> Unique -> Name
+err_nm str uniq = mkWiredInIdName cONTROL_EXCEPTION_BASE (fsLit str) uniq
rEC_SEL_ERROR_ID, rUNTIME_ERROR_ID, rEC_CON_ERROR_ID :: Id
pAT_ERROR_ID, nO_METHOD_BINDING_ERROR_ID, nON_EXHAUSTIVE_GUARDS_ERROR_ID :: Id
diff --git a/compiler/prelude/TysPrim.hs b/compiler/prelude/TysPrim.hs
index acf71c999a..92bdede119 100644
--- a/compiler/prelude/TysPrim.hs
+++ b/compiler/prelude/TysPrim.hs
@@ -189,60 +189,58 @@ exposedPrimTyCons
#include "primop-vector-tycons.hs-incl"
]
-mkPrimTc :: FastString -> Unique -> TyCon -> Name
-mkPrimTc fs unique tycon
+mkPrimTc :: FastString -> Unique -> Name
+mkPrimTc fs unique
= mkWiredInName gHC_PRIM (mkTcOccFS fs)
unique
- (ATyCon tycon) -- Relevant TyCon
UserSyntax
-mkBuiltInPrimTc :: FastString -> Unique -> TyCon -> Name
-mkBuiltInPrimTc fs unique tycon
+mkBuiltInPrimTc :: FastString -> Unique -> Name
+mkBuiltInPrimTc fs unique
= mkWiredInName gHC_PRIM (mkTcOccFS fs)
unique
- (ATyCon tycon) -- Relevant TyCon
BuiltInSyntax
charPrimTyConName, intPrimTyConName, int8PrimTyConName, int16PrimTyConName, int32PrimTyConName, int64PrimTyConName, wordPrimTyConName, word32PrimTyConName, word8PrimTyConName, word16PrimTyConName, word64PrimTyConName, addrPrimTyConName, floatPrimTyConName, doublePrimTyConName, statePrimTyConName, proxyPrimTyConName, realWorldTyConName, arrayPrimTyConName, arrayArrayPrimTyConName, smallArrayPrimTyConName, byteArrayPrimTyConName, mutableArrayPrimTyConName, mutableByteArrayPrimTyConName, mutableArrayArrayPrimTyConName, smallMutableArrayPrimTyConName, mutVarPrimTyConName, mVarPrimTyConName, tVarPrimTyConName, stablePtrPrimTyConName, stableNamePrimTyConName, compactPrimTyConName, bcoPrimTyConName, weakPrimTyConName, threadIdPrimTyConName, eqPrimTyConName, eqReprPrimTyConName, eqPhantPrimTyConName, voidPrimTyConName :: Name
-charPrimTyConName = mkPrimTc (fsLit "Char#") charPrimTyConKey charPrimTyCon
-intPrimTyConName = mkPrimTc (fsLit "Int#") intPrimTyConKey intPrimTyCon
-int8PrimTyConName = mkPrimTc (fsLit "Int8#") int8PrimTyConKey int8PrimTyCon
-int16PrimTyConName = mkPrimTc (fsLit "Int16#") int16PrimTyConKey int16PrimTyCon
-int32PrimTyConName = mkPrimTc (fsLit "Int32#") int32PrimTyConKey int32PrimTyCon
-int64PrimTyConName = mkPrimTc (fsLit "Int64#") int64PrimTyConKey int64PrimTyCon
-wordPrimTyConName = mkPrimTc (fsLit "Word#") wordPrimTyConKey wordPrimTyCon
-word8PrimTyConName = mkPrimTc (fsLit "Word8#") word8PrimTyConKey word8PrimTyCon
-word16PrimTyConName = mkPrimTc (fsLit "Word16#") word16PrimTyConKey word16PrimTyCon
-word32PrimTyConName = mkPrimTc (fsLit "Word32#") word32PrimTyConKey word32PrimTyCon
-word64PrimTyConName = mkPrimTc (fsLit "Word64#") word64PrimTyConKey word64PrimTyCon
-addrPrimTyConName = mkPrimTc (fsLit "Addr#") addrPrimTyConKey addrPrimTyCon
-floatPrimTyConName = mkPrimTc (fsLit "Float#") floatPrimTyConKey floatPrimTyCon
-doublePrimTyConName = mkPrimTc (fsLit "Double#") doublePrimTyConKey doublePrimTyCon
-statePrimTyConName = mkPrimTc (fsLit "State#") statePrimTyConKey statePrimTyCon
-voidPrimTyConName = mkPrimTc (fsLit "Void#") voidPrimTyConKey voidPrimTyCon
-proxyPrimTyConName = mkPrimTc (fsLit "Proxy#") proxyPrimTyConKey proxyPrimTyCon
-eqPrimTyConName = mkPrimTc (fsLit "~#") eqPrimTyConKey eqPrimTyCon
-eqReprPrimTyConName = mkBuiltInPrimTc (fsLit "~R#") eqReprPrimTyConKey eqReprPrimTyCon
-eqPhantPrimTyConName = mkBuiltInPrimTc (fsLit "~P#") eqPhantPrimTyConKey eqPhantPrimTyCon
-realWorldTyConName = mkPrimTc (fsLit "RealWorld") realWorldTyConKey realWorldTyCon
-arrayPrimTyConName = mkPrimTc (fsLit "Array#") arrayPrimTyConKey arrayPrimTyCon
-byteArrayPrimTyConName = mkPrimTc (fsLit "ByteArray#") byteArrayPrimTyConKey byteArrayPrimTyCon
-arrayArrayPrimTyConName = mkPrimTc (fsLit "ArrayArray#") arrayArrayPrimTyConKey arrayArrayPrimTyCon
-smallArrayPrimTyConName = mkPrimTc (fsLit "SmallArray#") smallArrayPrimTyConKey smallArrayPrimTyCon
-mutableArrayPrimTyConName = mkPrimTc (fsLit "MutableArray#") mutableArrayPrimTyConKey mutableArrayPrimTyCon
-mutableByteArrayPrimTyConName = mkPrimTc (fsLit "MutableByteArray#") mutableByteArrayPrimTyConKey mutableByteArrayPrimTyCon
-mutableArrayArrayPrimTyConName= mkPrimTc (fsLit "MutableArrayArray#") mutableArrayArrayPrimTyConKey mutableArrayArrayPrimTyCon
-smallMutableArrayPrimTyConName= mkPrimTc (fsLit "SmallMutableArray#") smallMutableArrayPrimTyConKey smallMutableArrayPrimTyCon
-mutVarPrimTyConName = mkPrimTc (fsLit "MutVar#") mutVarPrimTyConKey mutVarPrimTyCon
-mVarPrimTyConName = mkPrimTc (fsLit "MVar#") mVarPrimTyConKey mVarPrimTyCon
-tVarPrimTyConName = mkPrimTc (fsLit "TVar#") tVarPrimTyConKey tVarPrimTyCon
-stablePtrPrimTyConName = mkPrimTc (fsLit "StablePtr#") stablePtrPrimTyConKey stablePtrPrimTyCon
-stableNamePrimTyConName = mkPrimTc (fsLit "StableName#") stableNamePrimTyConKey stableNamePrimTyCon
-compactPrimTyConName = mkPrimTc (fsLit "Compact#") compactPrimTyConKey compactPrimTyCon
-bcoPrimTyConName = mkPrimTc (fsLit "BCO") bcoPrimTyConKey bcoPrimTyCon
-weakPrimTyConName = mkPrimTc (fsLit "Weak#") weakPrimTyConKey weakPrimTyCon
-threadIdPrimTyConName = mkPrimTc (fsLit "ThreadId#") threadIdPrimTyConKey threadIdPrimTyCon
+charPrimTyConName = mkPrimTc (fsLit "Char#") charPrimTyConKey
+intPrimTyConName = mkPrimTc (fsLit "Int#") intPrimTyConKey
+int8PrimTyConName = mkPrimTc (fsLit "Int8#") int8PrimTyConKey
+int16PrimTyConName = mkPrimTc (fsLit "Int16#") int16PrimTyConKey
+int32PrimTyConName = mkPrimTc (fsLit "Int32#") int32PrimTyConKey
+int64PrimTyConName = mkPrimTc (fsLit "Int64#") int64PrimTyConKey
+wordPrimTyConName = mkPrimTc (fsLit "Word#") wordPrimTyConKey
+word8PrimTyConName = mkPrimTc (fsLit "Word8#") word8PrimTyConKey
+word16PrimTyConName = mkPrimTc (fsLit "Word16#") word16PrimTyConKey
+word32PrimTyConName = mkPrimTc (fsLit "Word32#") word32PrimTyConKey
+word64PrimTyConName = mkPrimTc (fsLit "Word64#") word64PrimTyConKey
+addrPrimTyConName = mkPrimTc (fsLit "Addr#") addrPrimTyConKey
+floatPrimTyConName = mkPrimTc (fsLit "Float#") floatPrimTyConKey
+doublePrimTyConName = mkPrimTc (fsLit "Double#") doublePrimTyConKey
+statePrimTyConName = mkPrimTc (fsLit "State#") statePrimTyConKey
+voidPrimTyConName = mkPrimTc (fsLit "Void#") voidPrimTyConKey
+proxyPrimTyConName = mkPrimTc (fsLit "Proxy#") proxyPrimTyConKey
+eqPrimTyConName = mkPrimTc (fsLit "~#") eqPrimTyConKey
+eqReprPrimTyConName = mkBuiltInPrimTc (fsLit "~R#") eqReprPrimTyConKey
+eqPhantPrimTyConName = mkBuiltInPrimTc (fsLit "~P#") eqPhantPrimTyConKey
+realWorldTyConName = mkPrimTc (fsLit "RealWorld") realWorldTyConKey
+arrayPrimTyConName = mkPrimTc (fsLit "Array#") arrayPrimTyConKey
+byteArrayPrimTyConName = mkPrimTc (fsLit "ByteArray#") byteArrayPrimTyConKey
+arrayArrayPrimTyConName = mkPrimTc (fsLit "ArrayArray#") arrayArrayPrimTyConKey
+smallArrayPrimTyConName = mkPrimTc (fsLit "SmallArray#") smallArrayPrimTyConKey
+mutableArrayPrimTyConName = mkPrimTc (fsLit "MutableArray#") mutableArrayPrimTyConKey
+mutableByteArrayPrimTyConName = mkPrimTc (fsLit "MutableByteArray#") mutableByteArrayPrimTyConKey
+mutableArrayArrayPrimTyConName= mkPrimTc (fsLit "MutableArrayArray#") mutableArrayArrayPrimTyConKey
+smallMutableArrayPrimTyConName= mkPrimTc (fsLit "SmallMutableArray#") smallMutableArrayPrimTyConKey
+mutVarPrimTyConName = mkPrimTc (fsLit "MutVar#") mutVarPrimTyConKey
+mVarPrimTyConName = mkPrimTc (fsLit "MVar#") mVarPrimTyConKey
+tVarPrimTyConName = mkPrimTc (fsLit "TVar#") tVarPrimTyConKey
+stablePtrPrimTyConName = mkPrimTc (fsLit "StablePtr#") stablePtrPrimTyConKey
+stableNamePrimTyConName = mkPrimTc (fsLit "StableName#") stableNamePrimTyConKey
+compactPrimTyConName = mkPrimTc (fsLit "Compact#") compactPrimTyConKey
+bcoPrimTyConName = mkPrimTc (fsLit "BCO") bcoPrimTyConKey
+weakPrimTyConName = mkPrimTc (fsLit "Weak#") weakPrimTyConKey
+threadIdPrimTyConName = mkPrimTc (fsLit "ThreadId#") threadIdPrimTyConKey
{-
************************************************************************
@@ -392,7 +390,7 @@ openBetaTy = mkTyVarTy openBetaTyVar
-}
funTyConName :: Name
-funTyConName = mkPrimTyConName (fsLit "->") funTyConKey funTyCon
+funTyConName = mkPrimTyConName (fsLit "->") funTyConKey
-- | The @(->)@ type constructor.
--
@@ -510,16 +508,16 @@ tYPETyCon = mkKindTyCon tYPETyConName
-- If you edit these, you may need to update the GHC formalism
-- See Note [GHC Formalism] in coreSyn/CoreLint.hs
-tYPETyConName = mkPrimTyConName (fsLit "TYPE") tYPETyConKey tYPETyCon
+tYPETyConName = mkPrimTyConName (fsLit "TYPE") tYPETyConKey
-mkPrimTyConName :: FastString -> Unique -> TyCon -> Name
+mkPrimTyConName :: FastString -> Unique -> Name
mkPrimTyConName = mkPrimTcName BuiltInSyntax
-- All of the super kinds and kinds are defined in Prim,
-- and use BuiltInSyntax, because they are never in scope in the source
-mkPrimTcName :: BuiltInSyntax -> FastString -> Unique -> TyCon -> Name
-mkPrimTcName built_in_syntax occ key tycon
- = mkWiredInName gHC_PRIM (mkTcOccFS occ) key (ATyCon tycon) built_in_syntax
+mkPrimTcName :: BuiltInSyntax -> FastString -> Unique -> Name
+mkPrimTcName built_in_syntax occ key
+ = mkWiredInName gHC_PRIM (mkTcOccFS occ) key built_in_syntax
-----------------------------
-- | Given a RuntimeRep, applies TYPE to it.
diff --git a/compiler/prelude/TysWiredIn.hs b/compiler/prelude/TysWiredIn.hs
index 475d2c0421..ed97b2d524 100644
--- a/compiler/prelude/TysWiredIn.hs
+++ b/compiler/prelude/TysWiredIn.hs
@@ -239,28 +239,26 @@ wiredInTyCons = [ -- Units are not treated like other tuples, because they
, liftedTypeKindTyCon
]
-mkWiredInTyConName :: BuiltInSyntax -> Module -> FastString -> Unique -> TyCon -> Name
-mkWiredInTyConName built_in modu fs unique tycon
+mkWiredInTyConName :: BuiltInSyntax -> Module -> FastString -> Unique -> Name
+mkWiredInTyConName built_in modu fs unique
= mkWiredInName modu (mkTcOccFS fs) unique
- (ATyCon tycon) -- Relevant TyCon
built_in
-mkWiredInDataConName :: BuiltInSyntax -> Module -> FastString -> Unique -> DataCon -> Name
-mkWiredInDataConName built_in modu fs unique datacon
+mkWiredInDataConName :: BuiltInSyntax -> Module -> FastString -> Unique -> Name
+mkWiredInDataConName built_in modu fs unique
= mkWiredInName modu (mkDataOccFS fs) unique
- (AConLike (RealDataCon datacon)) -- Relevant DataCon
built_in
-mkWiredInIdName :: Module -> FastString -> Unique -> Id -> Name
-mkWiredInIdName mod fs uniq id
- = mkWiredInName mod (mkOccNameFS Name.varName fs) uniq (AnId id) UserSyntax
+mkWiredInIdName :: Module -> FastString -> Unique -> Name
+mkWiredInIdName mod fs uniq
+ = mkWiredInName mod (mkOccNameFS Name.varName fs) uniq UserSyntax
-- See Note [Kind-changing of (~) and Coercible]
-- in libraries/ghc-prim/GHC/Types.hs
eqTyConName, eqDataConName, eqSCSelIdName :: Name
-eqTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "~") eqTyConKey eqTyCon
-eqDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "Eq#") eqDataConKey eqDataCon
-eqSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "eq_sel") eqSCSelIdKey eqSCSelId
+eqTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "~") eqTyConKey
+eqDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "Eq#") eqDataConKey
+eqSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "eq_sel") eqSCSelIdKey
{- Note [eqTyCon (~) is built-in syntax]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -289,51 +287,51 @@ eqTyCon_RDR = nameRdrName eqTyConName
-- See Note [Kind-changing of (~) and Coercible]
-- in libraries/ghc-prim/GHC/Types.hs
heqTyConName, heqDataConName, heqSCSelIdName :: Name
-heqTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "~~") heqTyConKey heqTyCon
-heqDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "HEq#") heqDataConKey heqDataCon
-heqSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "heq_sel") heqSCSelIdKey heqSCSelId
+heqTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "~~") heqTyConKey
+heqDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "HEq#") heqDataConKey
+heqSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "heq_sel") heqSCSelIdKey
-- See Note [Kind-changing of (~) and Coercible] in libraries/ghc-prim/GHC/Types.hs
coercibleTyConName, coercibleDataConName, coercibleSCSelIdName :: Name
-coercibleTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Coercible") coercibleTyConKey coercibleTyCon
-coercibleDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "MkCoercible") coercibleDataConKey coercibleDataCon
-coercibleSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "coercible_sel") coercibleSCSelIdKey coercibleSCSelId
+coercibleTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Coercible") coercibleTyConKey
+coercibleDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "MkCoercible") coercibleDataConKey
+coercibleSCSelIdName = mkWiredInIdName gHC_TYPES (fsLit "coercible_sel") coercibleSCSelIdKey
charTyConName, charDataConName, intTyConName, intDataConName :: Name
-charTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Char") charTyConKey charTyCon
-charDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "C#") charDataConKey charDataCon
-intTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Int") intTyConKey intTyCon
-intDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "I#") intDataConKey intDataCon
+charTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Char") charTyConKey
+charDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "C#") charDataConKey
+intTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Int") intTyConKey
+intDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "I#") intDataConKey
boolTyConName, falseDataConName, trueDataConName :: Name
-boolTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Bool") boolTyConKey boolTyCon
-falseDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "False") falseDataConKey falseDataCon
-trueDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "True") trueDataConKey trueDataCon
+boolTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Bool") boolTyConKey
+falseDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "False") falseDataConKey
+trueDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "True") trueDataConKey
listTyConName, nilDataConName, consDataConName :: Name
-listTyConName = mkWiredInTyConName BuiltInSyntax gHC_TYPES (fsLit "[]") listTyConKey listTyCon
-nilDataConName = mkWiredInDataConName BuiltInSyntax gHC_TYPES (fsLit "[]") nilDataConKey nilDataCon
-consDataConName = mkWiredInDataConName BuiltInSyntax gHC_TYPES (fsLit ":") consDataConKey consDataCon
+listTyConName = mkWiredInTyConName BuiltInSyntax gHC_TYPES (fsLit "[]") listTyConKey
+nilDataConName = mkWiredInDataConName BuiltInSyntax gHC_TYPES (fsLit "[]") nilDataConKey
+consDataConName = mkWiredInDataConName BuiltInSyntax gHC_TYPES (fsLit ":") consDataConKey
maybeTyConName, nothingDataConName, justDataConName :: Name
maybeTyConName = mkWiredInTyConName UserSyntax gHC_MAYBE (fsLit "Maybe")
- maybeTyConKey maybeTyCon
+ maybeTyConKey
nothingDataConName = mkWiredInDataConName UserSyntax gHC_MAYBE (fsLit "Nothing")
- nothingDataConKey nothingDataCon
+ nothingDataConKey
justDataConName = mkWiredInDataConName UserSyntax gHC_MAYBE (fsLit "Just")
- justDataConKey justDataCon
+ justDataConKey
wordTyConName, wordDataConName, word8TyConName, word8DataConName :: Name
-wordTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Word") wordTyConKey wordTyCon
-wordDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "W#") wordDataConKey wordDataCon
-word8TyConName = mkWiredInTyConName UserSyntax gHC_WORD (fsLit "Word8") word8TyConKey word8TyCon
-word8DataConName = mkWiredInDataConName UserSyntax gHC_WORD (fsLit "W8#") word8DataConKey word8DataCon
+wordTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Word") wordTyConKey
+wordDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "W#") wordDataConKey
+word8TyConName = mkWiredInTyConName UserSyntax gHC_WORD (fsLit "Word8") word8TyConKey
+word8DataConName = mkWiredInDataConName UserSyntax gHC_WORD (fsLit "W8#") word8DataConKey
floatTyConName, floatDataConName, doubleTyConName, doubleDataConName :: Name
-floatTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Float") floatTyConKey floatTyCon
-floatDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "F#") floatDataConKey floatDataCon
-doubleTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Double") doubleTyConKey doubleTyCon
-doubleDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "D#") doubleDataConKey doubleDataCon
+floatTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Float") floatTyConKey
+floatDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "F#") floatDataConKey
+doubleTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Double") doubleTyConKey
+doubleDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "D#") doubleDataConKey
-- Any
@@ -406,7 +404,7 @@ bit of history.
anyTyConName :: Name
anyTyConName =
- mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Any") anyTyConKey anyTyCon
+ mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Any") anyTyConKey
anyTyCon :: TyCon
anyTyCon = mkFamilyTyCon anyTyConName binders res_kind Nothing
@@ -448,25 +446,25 @@ makeRecoveryTyCon tc
-- Kinds
typeNatKindConName, typeSymbolKindConName :: Name
-typeNatKindConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Nat") typeNatKindConNameKey typeNatKindCon
-typeSymbolKindConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Symbol") typeSymbolKindConNameKey typeSymbolKindCon
+typeNatKindConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Nat") typeNatKindConNameKey
+typeSymbolKindConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Symbol") typeSymbolKindConNameKey
constraintKindTyConName :: Name
-constraintKindTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Constraint") constraintKindTyConKey constraintKindTyCon
+constraintKindTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Constraint") constraintKindTyConKey
liftedTypeKindTyConName :: Name
-liftedTypeKindTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Type") liftedTypeKindTyConKey liftedTypeKindTyCon
+liftedTypeKindTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "Type") liftedTypeKindTyConKey
runtimeRepTyConName, vecRepDataConName, tupleRepDataConName, sumRepDataConName :: Name
-runtimeRepTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "RuntimeRep") runtimeRepTyConKey runtimeRepTyCon
-vecRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "VecRep") vecRepDataConKey vecRepDataCon
-tupleRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "TupleRep") tupleRepDataConKey tupleRepDataCon
-sumRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "SumRep") sumRepDataConKey sumRepDataCon
+runtimeRepTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "RuntimeRep") runtimeRepTyConKey
+vecRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "VecRep") vecRepDataConKey
+tupleRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "TupleRep") tupleRepDataConKey
+sumRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "SumRep") sumRepDataConKey
-- See Note [Wiring in RuntimeRep]
runtimeRepSimpleDataConNames :: [Name]
runtimeRepSimpleDataConNames
- = zipWith3Lazy mk_special_dc_name
+ = zipWithLazy mk_special_dc_name
[ fsLit "LiftedRep", fsLit "UnliftedRep"
, fsLit "IntRep"
, fsLit "Int8Rep", fsLit "Int16Rep", fsLit "Int32Rep", fsLit "Int64Rep"
@@ -476,34 +474,31 @@ runtimeRepSimpleDataConNames
, fsLit "FloatRep", fsLit "DoubleRep"
]
runtimeRepSimpleDataConKeys
- runtimeRepSimpleDataCons
vecCountTyConName :: Name
-vecCountTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "VecCount") vecCountTyConKey vecCountTyCon
+vecCountTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "VecCount") vecCountTyConKey
-- See Note [Wiring in RuntimeRep]
vecCountDataConNames :: [Name]
-vecCountDataConNames = zipWith3Lazy mk_special_dc_name
+vecCountDataConNames = zipWithLazy mk_special_dc_name
[ fsLit "Vec2", fsLit "Vec4", fsLit "Vec8"
, fsLit "Vec16", fsLit "Vec32", fsLit "Vec64" ]
vecCountDataConKeys
- vecCountDataCons
vecElemTyConName :: Name
-vecElemTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "VecElem") vecElemTyConKey vecElemTyCon
+vecElemTyConName = mkWiredInTyConName UserSyntax gHC_TYPES (fsLit "VecElem") vecElemTyConKey
-- See Note [Wiring in RuntimeRep]
vecElemDataConNames :: [Name]
-vecElemDataConNames = zipWith3Lazy mk_special_dc_name
+vecElemDataConNames = zipWithLazy mk_special_dc_name
[ fsLit "Int8ElemRep", fsLit "Int16ElemRep", fsLit "Int32ElemRep"
, fsLit "Int64ElemRep", fsLit "Word8ElemRep", fsLit "Word16ElemRep"
, fsLit "Word32ElemRep", fsLit "Word64ElemRep"
, fsLit "FloatElemRep", fsLit "DoubleElemRep" ]
vecElemDataConKeys
- vecElemDataCons
-mk_special_dc_name :: FastString -> Unique -> DataCon -> Name
-mk_special_dc_name fs u dc = mkWiredInDataConName UserSyntax gHC_TYPES fs u dc
+mk_special_dc_name :: FastString -> Unique -> Name
+mk_special_dc_name fs u = mkWiredInDataConName UserSyntax gHC_TYPES fs u
boolTyCon_RDR, false_RDR, true_RDR, intTyCon_RDR, charTyCon_RDR,
intDataCon_RDR, listTyCon_RDR, consDataCon_RDR :: RdrName
@@ -601,7 +596,8 @@ pcDataConWithFixity' declared_infix dc_name wrk_key rri
mkDataConWorkerName :: DataCon -> Unique -> Name
mkDataConWorkerName data_con wrk_key =
mkWiredInName modu wrk_occ wrk_key
- (AnId (dataConWorkId data_con)) UserSyntax
+ UserSyntax
+
where
modu = ASSERT( isExternalName dc_name )
nameModule dc_name
@@ -923,8 +919,10 @@ mk_tuple Boxed arity = (tycon, tuple_con)
boxity = Boxed
modu = gHC_TUPLE
- tc_name = mkWiredInNameTuple boxity arity modu (mkTupleOcc tcName boxity arity) tc_uniq
- dc_name = mkWiredInNameTuple boxity arity modu (mkTupleOcc dataName boxity arity) dc_uniq
+ tc_name = mkWiredInName modu (mkTupleOcc tcName boxity arity) tc_uniq
+ BuiltInSyntax
+ dc_name = mkWiredInName modu (mkTupleOcc dataName boxity arity) dc_uniq
+ BuiltInSyntax
tc_uniq = mkTupleTyConUnique boxity arity
dc_uniq = mkTupleDataConUnique boxity arity
@@ -950,8 +948,10 @@ mk_tuple Unboxed arity = (tycon, tuple_con)
boxity = Unboxed
modu = gHC_PRIM
- tc_name = mkWiredInNameTuple boxity arity modu (mkTupleOcc tcName boxity arity) tc_uniq
- dc_name = mkWiredInNameTuple boxity arity modu (mkTupleOcc dataName boxity arity) dc_uniq
+ tc_name = mkWiredInName modu (mkTupleOcc tcName boxity arity) tc_uniq
+ BuiltInSyntax
+ dc_name = mkWiredInName modu (mkTupleOcc dataName boxity arity) dc_uniq
+ BuiltInSyntax
tc_uniq = mkTupleTyConUnique boxity arity
dc_uniq = mkTupleDataConUnique boxity arity
@@ -1064,7 +1064,7 @@ mk_sum arity = (tycon, sum_cons)
(rr_tys, tyvar_tys) = splitAt arity (mkTyVarTys tyvars)
tc_name = mkWiredInName gHC_PRIM (mkSumTyConOcc arity) tc_uniq
- (ATyCon tycon) BuiltInSyntax
+ BuiltInSyntax
sum_cons = listArray (0,arity-1) [sum_con i | i <- [0..arity-1]]
sum_con i = let dc = pcDataCon dc_name
@@ -1075,7 +1075,6 @@ mk_sum arity = (tycon, sum_cons)
dc_name = mkWiredInName gHC_PRIM
(mkSumDataConOcc i arity)
(dc_uniq i)
- (AConLike (RealDataCon dc))
BuiltInSyntax
in dc
@@ -1099,10 +1098,9 @@ mk_sum arity = (tycon, sum_cons)
eqTyCon, heqTyCon, coercibleTyCon :: TyCon
eqClass, heqClass, coercibleClass :: Class
eqDataCon, heqDataCon, coercibleDataCon :: DataCon
-eqSCSelId, heqSCSelId, coercibleSCSelId :: Id
-(eqTyCon, eqClass, eqDataCon, eqSCSelId)
- = (tycon, klass, datacon, sc_sel_id)
+(eqTyCon, eqClass, eqDataCon)
+ = (tycon, klass, datacon)
where
tycon = mkClassTyCon eqTyConName binders roles
rhs klass
@@ -1119,8 +1117,8 @@ eqSCSelId, heqSCSelId, coercibleSCSelId :: Id
sc_pred = mkTyConApp eqPrimTyCon (mkTyVarTys [k,k,a,b])
sc_sel_id = mkDictSelId eqSCSelIdName klass
-(heqTyCon, heqClass, heqDataCon, heqSCSelId)
- = (tycon, klass, datacon, sc_sel_id)
+(heqTyCon, heqClass, heqDataCon)
+ = (tycon, klass, datacon)
where
tycon = mkClassTyCon heqTyConName binders roles
rhs klass
@@ -1137,8 +1135,8 @@ eqSCSelId, heqSCSelId, coercibleSCSelId :: Id
sc_pred = mkTyConApp eqPrimTyCon (mkTyVarTys tvs)
sc_sel_id = mkDictSelId heqSCSelIdName klass
-(coercibleTyCon, coercibleClass, coercibleDataCon, coercibleSCSelId)
- = (tycon, klass, datacon, sc_sel_id)
+(coercibleTyCon, coercibleClass, coercibleDataCon)
+ = (tycon, klass, datacon)
where
tycon = mkClassTyCon coercibleTyConName binders roles
rhs klass
diff --git a/compiler/typecheck/TcTypeNats.hs b/compiler/typecheck/TcTypeNats.hs
index 6e5eb94d72..3da668aa4f 100644
--- a/compiler/typecheck/TcTypeNats.hs
+++ b/compiler/typecheck/TcTypeNats.hs
@@ -160,7 +160,7 @@ typeNatAddTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "+")
- typeNatAddTyFamNameKey typeNatAddTyCon
+ typeNatAddTyFamNameKey
typeNatSubTyCon :: TyCon
typeNatSubTyCon = mkTypeNatFunTyCon2 name
@@ -171,7 +171,7 @@ typeNatSubTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "-")
- typeNatSubTyFamNameKey typeNatSubTyCon
+ typeNatSubTyFamNameKey
typeNatMulTyCon :: TyCon
typeNatMulTyCon = mkTypeNatFunTyCon2 name
@@ -182,7 +182,7 @@ typeNatMulTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "*")
- typeNatMulTyFamNameKey typeNatMulTyCon
+ typeNatMulTyFamNameKey
typeNatDivTyCon :: TyCon
typeNatDivTyCon = mkTypeNatFunTyCon2 name
@@ -193,7 +193,7 @@ typeNatDivTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "Div")
- typeNatDivTyFamNameKey typeNatDivTyCon
+ typeNatDivTyFamNameKey
typeNatModTyCon :: TyCon
typeNatModTyCon = mkTypeNatFunTyCon2 name
@@ -204,7 +204,7 @@ typeNatModTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "Mod")
- typeNatModTyFamNameKey typeNatModTyCon
+ typeNatModTyFamNameKey
@@ -219,7 +219,7 @@ typeNatExpTyCon = mkTypeNatFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "^")
- typeNatExpTyFamNameKey typeNatExpTyCon
+ typeNatExpTyFamNameKey
typeNatLogTyCon :: TyCon
typeNatLogTyCon = mkTypeNatFunTyCon1 name
@@ -230,7 +230,7 @@ typeNatLogTyCon = mkTypeNatFunTyCon1 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "Log2")
- typeNatLogTyFamNameKey typeNatLogTyCon
+ typeNatLogTyFamNameKey
@@ -246,7 +246,7 @@ typeNatLeqTyCon =
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "<=?")
- typeNatLeqTyFamNameKey typeNatLeqTyCon
+ typeNatLeqTyFamNameKey
ops = BuiltInSynFamily
{ sfMatchFam = matchFamLeq
, sfInteractTop = interactTopLeq
@@ -265,7 +265,7 @@ typeNatCmpTyCon =
where
name = mkWiredInTyConName UserSyntax gHC_TYPENATS (fsLit "CmpNat")
- typeNatCmpTyFamNameKey typeNatCmpTyCon
+ typeNatCmpTyFamNameKey
ops = BuiltInSynFamily
{ sfMatchFam = matchFamCmpNat
, sfInteractTop = interactTopCmpNat
@@ -284,7 +284,7 @@ typeSymbolCmpTyCon =
where
name = mkWiredInTyConName UserSyntax gHC_TYPELITS (fsLit "CmpSymbol")
- typeSymbolCmpTyFamNameKey typeSymbolCmpTyCon
+ typeSymbolCmpTyFamNameKey
ops = BuiltInSynFamily
{ sfMatchFam = matchFamCmpSymbol
, sfInteractTop = interactTopCmpSymbol
@@ -300,7 +300,7 @@ typeSymbolAppendTyCon = mkTypeSymbolFunTyCon2 name
}
where
name = mkWiredInTyConName UserSyntax gHC_TYPELITS (fsLit "AppendSymbol")
- typeSymbolAppendFamNameKey typeSymbolAppendTyCon
+ typeSymbolAppendFamNameKey
diff --git a/utils/genprimopcode/Main.hs b/utils/genprimopcode/Main.hs
index f7b6ba73dd..823e8d2255 100644
--- a/utils/genprimopcode/Main.hs
+++ b/utils/genprimopcode/Main.hs
@@ -692,7 +692,7 @@ gen_primop_vector_tys (Info _ entries)
mkVecTypes :: Entry -> [String]
mkVecTypes i =
[ name_id ++ " :: Name"
- , name_id ++ " = mkPrimTc (fsLit \"" ++ pprTy (ty i) ++ "\") " ++ key_id ++ " " ++ tycon_id
+ , name_id ++ " = mkPrimTc (fsLit \"" ++ pprTy (ty i) ++ "\") " ++ key_id
, ty_id ++ " :: Type"
, ty_id ++ " = mkTyConTy " ++ tycon_id
, tycon_id ++ " :: TyCon"