summaryrefslogtreecommitdiff
path: root/compiler/Language/Haskell
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Language/Haskell')
-rw-r--r--compiler/Language/Haskell/Syntax/Extension.hs6
-rw-r--r--compiler/Language/Haskell/Syntax/Lit.hs13
2 files changed, 18 insertions, 1 deletions
diff --git a/compiler/Language/Haskell/Syntax/Extension.hs b/compiler/Language/Haskell/Syntax/Extension.hs
index b184f1f46b..0072e60ab6 100644
--- a/compiler/Language/Haskell/Syntax/Extension.hs
+++ b/compiler/Language/Haskell/Syntax/Extension.hs
@@ -568,7 +568,13 @@ type family XHsStringPrim x
type family XHsInt x
type family XHsIntPrim x
type family XHsWordPrim x
+type family XHsInt8Prim x
+type family XHsInt16Prim x
+type family XHsInt32Prim x
type family XHsInt64Prim x
+type family XHsWord8Prim x
+type family XHsWord16Prim x
+type family XHsWord32Prim x
type family XHsWord64Prim x
type family XHsInteger x
type family XHsRat x
diff --git a/compiler/Language/Haskell/Syntax/Lit.hs b/compiler/Language/Haskell/Syntax/Lit.hs
index 564d5660dd..f0b9d72fad 100644
--- a/compiler/Language/Haskell/Syntax/Lit.hs
+++ b/compiler/Language/Haskell/Syntax/Lit.hs
@@ -63,8 +63,20 @@ data HsLit x
-- ^ literal @Int#@
| HsWordPrim (XHsWordPrim x) {- SourceText -} Integer
-- ^ literal @Word#@
+ | HsInt8Prim (XHsInt8Prim x) {- SourceText -} Integer
+ -- ^ literal @Int8#@
+ | HsInt16Prim (XHsInt16Prim x) {- SourceText -} Integer
+ -- ^ literal @Int16#@
+ | HsInt32Prim (XHsInt32Prim x) {- SourceText -} Integer
+ -- ^ literal @Int32#@
| HsInt64Prim (XHsInt64Prim x) {- SourceText -} Integer
-- ^ literal @Int64#@
+ | HsWord8Prim (XHsWord8Prim x) {- SourceText -} Integer
+ -- ^ literal @Word8#@
+ | HsWord16Prim (XHsWord16Prim x) {- SourceText -} Integer
+ -- ^ literal @Word16#@
+ | HsWord32Prim (XHsWord32Prim x) {- SourceText -} Integer
+ -- ^ literal @Word32#@
| HsWord64Prim (XHsWord64Prim x) {- SourceText -} Integer
-- ^ literal @Word64#@
| HsInteger (XHsInteger x) {- SourceText -} Integer Type
@@ -149,4 +161,3 @@ instance Ord OverLitVal where
compare (HsIsString _ s1) (HsIsString _ s2) = s1 `lexicalCompareFS` s2
compare (HsIsString _ _) (HsIntegral _) = GT
compare (HsIsString _ _) (HsFractional _) = GT
-