summaryrefslogtreecommitdiff
path: root/compiler/prelude
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/prelude')
-rw-r--r--compiler/prelude/PrelNames.hs24
-rw-r--r--compiler/prelude/TysPrim.hs16
-rw-r--r--compiler/prelude/TysWiredIn.hs49
-rw-r--r--compiler/prelude/TysWiredIn.hs-boot11
4 files changed, 58 insertions, 42 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs
index 2ed73d269a..a889f70363 100644
--- a/compiler/prelude/PrelNames.hs
+++ b/compiler/prelude/PrelNames.hs
@@ -2024,7 +2024,7 @@ sumRepDataConKey = mkPreludeDataConUnique 73
runtimeRepSimpleDataConKeys, unliftedSimpleRepDataConKeys, unliftedRepDataConKeys :: [Unique]
liftedRepDataConKey :: Unique
runtimeRepSimpleDataConKeys@(liftedRepDataConKey : unliftedSimpleRepDataConKeys)
- = map mkPreludeDataConUnique [74..86]
+ = map mkPreludeDataConUnique [74..88]
unliftedRepDataConKeys = vecRepDataConKey :
tupleRepDataConKey :
@@ -2034,29 +2034,29 @@ unliftedRepDataConKeys = vecRepDataConKey :
-- See Note [Wiring in RuntimeRep] in TysWiredIn
-- VecCount
vecCountDataConKeys :: [Unique]
-vecCountDataConKeys = map mkPreludeDataConUnique [87..92]
+vecCountDataConKeys = map mkPreludeDataConUnique [89..94]
-- See Note [Wiring in RuntimeRep] in TysWiredIn
-- VecElem
vecElemDataConKeys :: [Unique]
-vecElemDataConKeys = map mkPreludeDataConUnique [93..102]
+vecElemDataConKeys = map mkPreludeDataConUnique [95..104]
-- Typeable things
kindRepTyConAppDataConKey, kindRepVarDataConKey, kindRepAppDataConKey,
kindRepFunDataConKey, kindRepTYPEDataConKey,
kindRepTypeLitSDataConKey, kindRepTypeLitDDataConKey
:: Unique
-kindRepTyConAppDataConKey = mkPreludeDataConUnique 103
-kindRepVarDataConKey = mkPreludeDataConUnique 104
-kindRepAppDataConKey = mkPreludeDataConUnique 105
-kindRepFunDataConKey = mkPreludeDataConUnique 106
-kindRepTYPEDataConKey = mkPreludeDataConUnique 107
-kindRepTypeLitSDataConKey = mkPreludeDataConUnique 108
-kindRepTypeLitDDataConKey = mkPreludeDataConUnique 109
+kindRepTyConAppDataConKey = mkPreludeDataConUnique 105
+kindRepVarDataConKey = mkPreludeDataConUnique 106
+kindRepAppDataConKey = mkPreludeDataConUnique 107
+kindRepFunDataConKey = mkPreludeDataConUnique 108
+kindRepTYPEDataConKey = mkPreludeDataConUnique 109
+kindRepTypeLitSDataConKey = mkPreludeDataConUnique 110
+kindRepTypeLitDDataConKey = mkPreludeDataConUnique 111
typeLitSymbolDataConKey, typeLitNatDataConKey :: Unique
-typeLitSymbolDataConKey = mkPreludeDataConUnique 110
-typeLitNatDataConKey = mkPreludeDataConUnique 111
+typeLitSymbolDataConKey = mkPreludeDataConUnique 112
+typeLitNatDataConKey = mkPreludeDataConUnique 113
---------------- Template Haskell -------------------
diff --git a/compiler/prelude/TysPrim.hs b/compiler/prelude/TysPrim.hs
index 01c496a310..27c7318805 100644
--- a/compiler/prelude/TysPrim.hs
+++ b/compiler/prelude/TysPrim.hs
@@ -93,9 +93,11 @@ import GhcPrelude
import {-# SOURCE #-} TysWiredIn
( runtimeRepTy, unboxedTupleKind, liftedTypeKind
, vecRepDataConTyCon, tupleRepDataConTyCon
- , liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy
- , int16RepDataConTy, word16RepDataConTy
- , wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy
+ , liftedRepDataConTy, unliftedRepDataConTy
+ , intRepDataConTy
+ , int8RepDataConTy, int16RepDataConTy, int32RepDataConTy, int64RepDataConTy
+ , wordRepDataConTy
+ , word16RepDataConTy, word8RepDataConTy, word32RepDataConTy, word64RepDataConTy
, addrRepDataConTy
, floatRepDataConTy, doubleRepDataConTy
, vec2DataConTy, vec4DataConTy, vec8DataConTy, vec16DataConTy, vec32DataConTy
@@ -549,10 +551,12 @@ primRepToRuntimeRep rep = case rep of
IntRep -> intRepDataConTy
Int8Rep -> int8RepDataConTy
Int16Rep -> int16RepDataConTy
- WordRep -> wordRepDataConTy
+ Int32Rep -> int32RepDataConTy
Int64Rep -> int64RepDataConTy
+ WordRep -> wordRepDataConTy
Word8Rep -> word8RepDataConTy
Word16Rep -> word16RepDataConTy
+ Word32Rep -> word32RepDataConTy
Word64Rep -> word64RepDataConTy
AddrRep -> addrRepDataConTy
FloatRep -> floatRepDataConTy
@@ -607,7 +611,7 @@ int16PrimTyCon = pcPrimTyCon0 int16PrimTyConName Int16Rep
int32PrimTy :: Type
int32PrimTy = mkTyConTy int32PrimTyCon
int32PrimTyCon :: TyCon
-int32PrimTyCon = pcPrimTyCon0 int32PrimTyConName IntRep
+int32PrimTyCon = pcPrimTyCon0 int32PrimTyConName Int32Rep
int64PrimTy :: Type
int64PrimTy = mkTyConTy int64PrimTyCon
@@ -632,7 +636,7 @@ word16PrimTyCon = pcPrimTyCon0 word16PrimTyConName Word16Rep
word32PrimTy :: Type
word32PrimTy = mkTyConTy word32PrimTyCon
word32PrimTyCon :: TyCon
-word32PrimTyCon = pcPrimTyCon0 word32PrimTyConName WordRep
+word32PrimTyCon = pcPrimTyCon0 word32PrimTyConName Word32Rep
word64PrimTy :: Type
word64PrimTy = mkTyConTy word64PrimTyCon
diff --git a/compiler/prelude/TysWiredIn.hs b/compiler/prelude/TysWiredIn.hs
index 5638b49f5d..d902fc4235 100644
--- a/compiler/prelude/TysWiredIn.hs
+++ b/compiler/prelude/TysWiredIn.hs
@@ -108,9 +108,11 @@ module TysWiredIn (
vecRepDataConTyCon, tupleRepDataConTyCon, sumRepDataConTyCon,
- liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy,
- int16RepDataConTy, word16RepDataConTy,
- wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy,
+ liftedRepDataConTy, unliftedRepDataConTy,
+ intRepDataConTy,
+ int8RepDataConTy, int16RepDataConTy, int32RepDataConTy, int64RepDataConTy,
+ wordRepDataConTy,
+ word8RepDataConTy, word16RepDataConTy, word32RepDataConTy, word64RepDataConTy,
addrRepDataConTy,
floatRepDataConTy, doubleRepDataConTy,
@@ -440,19 +442,13 @@ sumRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "SumRep") s
runtimeRepSimpleDataConNames :: [Name]
runtimeRepSimpleDataConNames
= zipWith3Lazy mk_special_dc_name
- [ fsLit "LiftedRep"
- , fsLit "UnliftedRep"
+ [ fsLit "LiftedRep", fsLit "UnliftedRep"
, fsLit "IntRep"
+ , fsLit "Int8Rep", fsLit "Int16Rep", fsLit "Int32Rep", fsLit "Int64Rep"
, fsLit "WordRep"
- , fsLit "Int8Rep"
- , fsLit "Int16Rep"
- , fsLit "Int64Rep"
- , fsLit "Word8Rep"
- , fsLit "Word16Rep"
- , fsLit "Word64Rep"
+ , fsLit "Word8Rep", fsLit "Word16Rep", fsLit "Word32Rep", fsLit "Word64Rep"
, fsLit "AddrRep"
- , fsLit "FloatRep"
- , fsLit "DoubleRep"
+ , fsLit "FloatRep", fsLit "DoubleRep"
]
runtimeRepSimpleDataConKeys
runtimeRepSimpleDataCons
@@ -1198,8 +1194,14 @@ runtimeRepSimpleDataCons :: [DataCon]
liftedRepDataCon :: DataCon
runtimeRepSimpleDataCons@(liftedRepDataCon : _)
= zipWithLazy mk_runtime_rep_dc
- [ LiftedRep, UnliftedRep, IntRep, WordRep, Int8Rep, Int16Rep, Int64Rep
- , Word8Rep, Word16Rep, Word64Rep, AddrRep, FloatRep, DoubleRep ]
+ [ LiftedRep, UnliftedRep
+ , IntRep
+ , Int8Rep, Int16Rep, Int32Rep, Int64Rep
+ , WordRep
+ , Word8Rep, Word16Rep, Word32Rep, Word64Rep
+ , AddrRep
+ , FloatRep, DoubleRep
+ ]
runtimeRepSimpleDataConNames
where
mk_runtime_rep_dc primrep name
@@ -1207,13 +1209,20 @@ runtimeRepSimpleDataCons@(liftedRepDataCon : _)
-- See Note [Wiring in RuntimeRep]
liftedRepDataConTy, unliftedRepDataConTy,
- intRepDataConTy, int8RepDataConTy, int16RepDataConTy, wordRepDataConTy, int64RepDataConTy,
- word8RepDataConTy, word16RepDataConTy, word64RepDataConTy, addrRepDataConTy,
+ intRepDataConTy,
+ int8RepDataConTy, int16RepDataConTy, int32RepDataConTy, int64RepDataConTy,
+ wordRepDataConTy,
+ word8RepDataConTy, word16RepDataConTy, word32RepDataConTy, word64RepDataConTy,
+ addrRepDataConTy,
floatRepDataConTy, doubleRepDataConTy :: Type
[liftedRepDataConTy, unliftedRepDataConTy,
- intRepDataConTy, wordRepDataConTy, int8RepDataConTy, int16RepDataConTy, int64RepDataConTy,
- word8RepDataConTy, word16RepDataConTy, word64RepDataConTy,
- addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy]
+ intRepDataConTy,
+ int8RepDataConTy, int16RepDataConTy, int32RepDataConTy, int64RepDataConTy,
+ wordRepDataConTy,
+ word8RepDataConTy, word16RepDataConTy, word32RepDataConTy, word64RepDataConTy,
+ addrRepDataConTy,
+ floatRepDataConTy, doubleRepDataConTy
+ ]
= map (mkTyConTy . promoteDataCon) runtimeRepSimpleDataCons
vecCountTyCon :: TyCon
diff --git a/compiler/prelude/TysWiredIn.hs-boot b/compiler/prelude/TysWiredIn.hs-boot
index 4e8ebba223..0a09be172f 100644
--- a/compiler/prelude/TysWiredIn.hs-boot
+++ b/compiler/prelude/TysWiredIn.hs-boot
@@ -19,10 +19,13 @@ runtimeRepTy :: Type
liftedRepDataConTyCon, vecRepDataConTyCon, tupleRepDataConTyCon :: TyCon
-liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy,
- int16RepDataConTy, word16RepDataConTy,
- wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy,
- addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy :: Type
+liftedRepDataConTy, unliftedRepDataConTy,
+ intRepDataConTy,
+ int8RepDataConTy, int16RepDataConTy, int32RepDataConTy, int64RepDataConTy,
+ wordRepDataConTy,
+ word8RepDataConTy, word16RepDataConTy, word32RepDataConTy, word64RepDataConTy,
+ addrRepDataConTy,
+ floatRepDataConTy, doubleRepDataConTy :: Type
vec2DataConTy, vec4DataConTy, vec8DataConTy, vec16DataConTy, vec32DataConTy,
vec64DataConTy :: Type