From e14da30b01ff65098cc7fb20c134323c863a85ff Mon Sep 17 00:00:00 2001
From: Herbert Valerio Riedel <hvr@gnu.org>
Date: Tue, 4 Oct 2016 08:04:17 +0200
Subject: [PATCH] Add Data.Word/Int to Compat.Prelude

For one this compensates for `Word` being exported from `Prelude` only with
base >= 4.8, and moreover this brings the well-known {Int,Word}{8,16,32,64}
names into scope by default when using the Compat.Prelude.
---
 Cabal/Distribution/Compat/Prelude.hs            | 8 ++++++++
 Cabal/Distribution/Compat/Time.hs               | 3 ---
 Cabal/Distribution/Version.hs                   | 1 -
 cabal-install/Distribution/Client/IndexUtils.hs | 1 -
 cabal-install/Distribution/Client/Sandbox.hs    | 1 -
 cabal-install/Distribution/Client/Utils.hs      | 2 --
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Cabal/Distribution/Compat/Prelude.hs b/Cabal/Distribution/Compat/Prelude.hs
index 03889d3432..21eec8d221 100644
--- a/Cabal/Distribution/Compat/Prelude.hs
+++ b/Cabal/Distribution/Compat/Prelude.hs
@@ -82,6 +82,11 @@ module Distribution.Compat.Prelude (
     chr, ord,
     toLower, toUpper,
 
+    -- * Data.Word & Data.Int
+    Word,
+    Word8, Word16, Word32, Word64,
+    Int8, Int16, Int32, Int64,
+
     -- * Text.PrettyPrint
     (<<>>),
     ) where
@@ -90,6 +95,7 @@ module Distribution.Compat.Prelude (
 import Prelude                       as BasePrelude hiding
   ( IO, mapM, mapM_, sequence, null, length, foldr
 #if MINVER_base_48
+  , Word
   -- We hide them, as we import only some members
   , Traversable, traverse, sequenceA
   , Foldable, foldMap
@@ -125,6 +131,8 @@ import Data.List                     (intercalate, intersperse, isPrefixOf,
                                       isSuffixOf, nub, nubBy, sort, sortBy,
                                       unfoldr)
 import Data.Maybe
+import Data.Int
+import Data.Word
 
 import qualified Text.PrettyPrint as Disp
 
diff --git a/Cabal/Distribution/Compat/Time.hs b/Cabal/Distribution/Compat/Time.hs
index 45aaf49326..db359aca42 100644
--- a/Cabal/Distribution/Compat/Time.hs
+++ b/Cabal/Distribution/Compat/Time.hs
@@ -14,8 +14,6 @@ module Distribution.Compat.Time
 import Prelude ()
 import Distribution.Compat.Prelude
 
-import Data.Int         ( Int64 )
-import Data.Word        ( Word64 )
 import System.Directory ( getModificationTime )
 
 import Distribution.Simple.Utils ( withTempDirectory )
@@ -42,7 +40,6 @@ import Data.Bits          (finiteBitSize)
 import Data.Bits          (bitSize)
 #endif
 
-import Data.Int           ( Int32 )
 import Foreign            ( allocaBytes, peekByteOff )
 import System.IO.Error    ( mkIOError, doesNotExistErrorType )
 import System.Win32.Types ( BOOL, DWORD, LPCTSTR, LPVOID, withTString )
diff --git a/Cabal/Distribution/Version.hs b/Cabal/Distribution/Version.hs
index 207511d51c..4fa9a60fe1 100644
--- a/Cabal/Distribution/Version.hs
+++ b/Cabal/Distribution/Version.hs
@@ -83,7 +83,6 @@ import Prelude ()
 import Distribution.Compat.Prelude
 import qualified Data.Version as Base
 import Data.Bits (shiftL, shiftR, (.|.), (.&.))
-import Data.Word (Word64)
 
 import Distribution.Text
 import qualified Distribution.Compat.ReadP as Parse
diff --git a/cabal-install/Distribution/Client/IndexUtils.hs b/cabal-install/Distribution/Client/IndexUtils.hs
index d9b6259b2f..eeb597424e 100644
--- a/cabal-install/Distribution/Client/IndexUtils.hs
+++ b/cabal-install/Distribution/Client/IndexUtils.hs
@@ -79,7 +79,6 @@ import           Distribution.Solver.Types.PackageIndex (PackageIndex)
 import qualified Distribution.Solver.Types.PackageIndex as PackageIndex
 import           Distribution.Solver.Types.SourcePackage
 
-import Data.Word
 import qualified Data.Map as Map
 import Control.DeepSeq
 import Control.Monad
diff --git a/cabal-install/Distribution/Client/Sandbox.hs b/cabal-install/Distribution/Client/Sandbox.hs
index a98af7acef..e8e37745ec 100644
--- a/cabal-install/Distribution/Client/Sandbox.hs
+++ b/cabal-install/Distribution/Client/Sandbox.hs
@@ -119,7 +119,6 @@ import Data.IORef                             ( newIORef, writeIORef, readIORef
 import Data.List                              ( delete
                                               , groupBy )
 import Data.Maybe                             ( fromJust )
-import Data.Word                              ( Word32 )
 import Numeric                                ( showHex )
 import System.Directory                       ( canonicalizePath
                                               , createDirectory
diff --git a/cabal-install/Distribution/Client/Utils.hs b/cabal-install/Distribution/Client/Utils.hs
index 876785b466..034adf8647 100644
--- a/cabal-install/Distribution/Client/Utils.hs
+++ b/cabal-install/Distribution/Client/Utils.hs
@@ -33,8 +33,6 @@ import Data.Bits
 import System.FilePath
 import Data.List
          ( groupBy )
-import Data.Word
-         ( Word8, Word32)
 import Foreign.C.Types ( CInt(..) )
 import qualified Control.Exception as Exception
          ( finally, bracket )
-- 
GitLab