Commit 393b8202 authored by Herbert Valerio Riedel's avatar Herbert Valerio Riedel 🕺
Browse files

Re-export Word from Prelude (re #9531)

The original proposal text can be found at

  http://www.haskell.org/pipermail/libraries/2014-August/023491.html

The proposal passed with a clear majority, and was additionally
confirmed by the core libraries committee.

*Compatibility Note*

Only code that imports `Data.Word` for the sole purpose of using `Word`
*and* requires to be `-Werror`-clean (due to `-fwarn-unused-imports`)
is affected by this change.

In order to write warning-free forward/backward compatible against `base`,
a variant of the following CPP-based snippet can be used:

  -- Starting with base>4.7.0 or GHC>7.8 Prelude re-exports 'Word'
  -- The following is needed, if 'Word' is the *only* entity needed from Data.Word
  #ifdef MIN_VERSION_base
  # if !MIN_VERSION_base(4,7,1)
  import Data.Word (Word)
  # endif
  -- no cabal_macros.h -- fallback to __GLASGOW_HASKELL__
  #elif __GLASGOW_HASKELL__ < 709
  import Data.Word (Word)
  #endif

This also updates the haddock submodule in order to avoid a compile warning
parent b760cc59
......@@ -92,7 +92,9 @@ import DynFlags
import Data.Char ( ord )
import Data.List
import Data.Ord
import Data.Word
#if __GLASGOW_HASKELL__ < 709
import Data.Word ( Word )
#endif
infixl 4 `mkCoreApp`, `mkCoreApps`
\end{code}
......
......@@ -48,7 +48,7 @@ module Prelude (
-- *** Numeric types
Int, Integer, Float, Double,
Rational,
Rational, Word,
-- *** Numeric type classes
Num((+), (-), (*), negate, abs, signum, fromInteger),
......
......@@ -20,6 +20,8 @@
* Make `abs` and `signum` handle (-0.0) correctly per IEEE-754.
* Re-export `Data.Word.Word` from `Prelude`
## 4.7.0.1 *Jul 2014*
* Bundled with GHC 7.8.3
......
......@@ -96,6 +96,9 @@ libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-incomplete-patterns
# Temporarily turn off pointless-pragma warnings for containers
libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-pointless-pragmas
# Temporarily turn off unused-imports warnings for containers
libraries/containers_dist-install_EXTRA_HC_OPTS += -fno-warn-unused-imports
# bytestring has identities at the moment
libraries/bytestring_dist-install_EXTRA_HC_OPTS += -fno-warn-identities
......
{-# LANGUAGE CPP #-}
module IntegerConversionRules where
import Data.Word
#if __GLASGOW_HASKELL__ < 709
import Data.Word (Word)
#endif
f1 :: Int -> Double
f1 = fi
......
{-# LANGUAGE CPP #-}
module Main where
import Data.Bits
import Data.Word
#if __GLASGOW_HASKELL__ < 705
import Data.Word (Word)
#endif
test_and1 :: Word -> Word
test_and1 x = x .&. 0
......
......@@ -53,7 +53,7 @@ T5095.hs:9:11:
instance Eq Float -- Defined in ‘GHC.Classes’
instance Eq Int -- Defined in ‘GHC.Classes’
instance Eq Ordering -- Defined in ‘GHC.Classes’
instance Eq GHC.Types.Word -- Defined in ‘GHC.Classes’
instance Eq Word -- Defined in ‘GHC.Classes’
instance Eq a => Eq [a] -- Defined in ‘GHC.Classes’
instance Eq Integer
-- Defined in ‘integer-gmp-0.5.1.0:GHC.Integer.Type’
......
Subproject commit b2a807da55d197c648fd2df1f156f9862711d92b
Subproject commit eee52f697233f99e23c1d8183511229fb93e3f3e
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment