@@ -27,12 +27,16 @@ import GHC.Types (Int(..))
2727#ifdef __GLASGOW_HASKELL__
2828# if __GLASGOW_HASKELL__ < 611
2929import GHC.Integer.Internals
30−# else
30+# elif defined(INTEGER_GMP)
3131import GHC.Integer.GMP.Internals
32+# elif defined(INTEGER_SIMPLE)
33+import GHC.Integer
34+# else
35+# error "You need to use either GMP or integer-simple."
3236# endif
3337#endif
3438
35−#ifdef INTEGER_GMP
39+#if defined(INTEGER_GMP) || defined(INTEGER_SIMPLE)
3640# define PAIR(a,b) (# a,b #)
3741#else
3842# define PAIR(a,b) (a,b)
@@ -93,8 +97,13 @@ int = decimal
9397data T = T !Integer !Int
9498
9599integer :: Int -> Integer -> Builder
100+#ifdef INTEGER_GMP
96101integer 10 (S# i#) = decimal (I# i#)
97102integer 16 (S# i#) = hexadecimal (I# i#)
103+#else
104+integer 10 i = decimal i
105+integer 16 i = hexadecimal i
106+#endif
98107integer base i
99108 | i < 0 = singleton '-' <> go (-i)
100109 | otherwise = go i