on master help sign in
Merge pull request #427 from phadej/issue-406-base-compat

Issue 406 base compat

commit599aa8f29056ae5b1e90f08c9120d50b5e38d91e authorAdam Bergmark <adam@bergmark.nl> dateMon 13 Jun 2016, 20:33 (10 years ago) parentb5af8964f3ae04
9 files changed+26−23
Data/Aeson.hs+3 Data/Aeson/Encoding/Builder.hs+3 Data/Aeson/Internal/Functions.hs+3 Data/Aeson/Internal/Time.hs+3 Data/Aeson/Parser/Internal.hs+3−4 Data/Aeson/Parser/Time.hs+4−5 Data/Aeson/Types/Generic.hs+3 Data/Aeson/Types/Internal.hs+4−7 include/overlapping-compat.h−7
Data/Aeson.hs+3
@@ -108,6 +108,9 @@ module Data.Aeson
108108 , json'
109109 ) where
110110
111+import Prelude ()
112+import Prelude.Compat (Maybe, either, Either(..), uncurry, String, (.))
113+
111114import Data.Aeson.Types.FromJSON (ifromJSON)
112115import Data.Aeson.Encoding (encodingToLazyByteString)
113116import Data.Aeson.Parser.Internal (decodeWith, decodeStrictWith,
Data/Aeson/Encoding/Builder.hs+3
@@ -35,6 +35,9 @@ module Data.Aeson.Encoding.Builder
3535 , ascii5
3636 ) where
3737
38+import Prelude ()
39+import Prelude.Compat
40+
3841import Data.Aeson.Internal.Time
3942import Data.Aeson.Types.Internal (Value (..))
4043import Data.ByteString.Builder as B
Data/Aeson/Internal/Functions.hs+3
@@ -13,6 +13,9 @@ module Data.Aeson.Internal.Functions
1313 , mapKey
1414 ) where
1515
16+import Prelude ()
17+import Prelude.Compat
18+
1619import Data.Hashable (Hashable)
1720import qualified Data.HashMap.Strict as H
1821import qualified Data.Map as M
Data/Aeson/Internal/Time.hs+3
@@ -17,6 +17,9 @@ module Data.Aeson.Internal.Time
1717 , toTimeOfDay64
1818 ) where
1919
20+import Prelude ()
21+import Prelude.Compat
22+
2023import Data.Fixed (Pico)
2124import Data.Int (Int64)
2225import Data.Time
Data/Aeson/Parser/Internal.hs+3−4
@@ -31,6 +31,9 @@ module Data.Aeson.Parser.Internal
3131 , eitherDecodeStrictWith
3232 ) where
3333
34+import Prelude ()
35+import Prelude.Compat
36+
3437import Control.Monad.IO.Class (liftIO)
3538import Data.Aeson.Types.Internal (IResult(..), JSONPath, Result(..), Value(..))
3639import Data.Attoparsec.ByteString.Char8 (Parser, char, endOfInput, scientific,
@@ -58,10 +61,6 @@ import qualified Data.ByteString.Lazy as L
5861import qualified Data.ByteString.Unsafe as B
5962import qualified Data.HashMap.Strict as H
6063
61−#if !MIN_VERSION_base(4,8,0)
62−import Control.Applicative ((*>), (<$>), (<*), pure)
63−#endif
64−
6564#if MIN_VERSION_ghc_prim(0,3,1)
6665import GHC.Base (Int#, (==#), isTrue#, orI#, word2Int#)
6766import GHC.Word (Word8(W8#))
Data/Aeson/Parser/Time.hs+4−5
@@ -1,4 +1,4 @@
1−{-# LANGUAGE BangPatterns, CPP, ScopedTypeVariables #-}
1+{-# LANGUAGE BangPatterns, ScopedTypeVariables #-}
22
33-- |
44-- Module: Data.Aeson.Parser.Time
@@ -21,6 +21,9 @@ module Data.Aeson.Parser.Time
2121 , zonedTime
2222 ) where
2323
24+import Prelude ()
25+import Prelude.Compat
26+
2427import Control.Monad (when, void)
2528import Data.Aeson.Internal.Time (toPico)
2629import Data.Attoparsec.Text as A
@@ -36,10 +39,6 @@ import qualified Data.Aeson.Types.Internal as Aeson
3639import qualified Data.Text as T
3740import qualified Data.Time.LocalTime as Local
3841
39−#if !MIN_VERSION_base(4,8,0)
40−import Control.Applicative ((<$>), (<*>), (<*), (*>))
41−#endif
42−
4342-- | Run an attoparsec parser as an aeson parser.
4443run :: Parser a -> Text -> Aeson.Parser a
4544run p t = case A.parseOnly (p <* endOfInput) t of
Data/Aeson/Types/Generic.hs+3
@@ -25,6 +25,9 @@
2525
2626module Data.Aeson.Types.Generic where
2727
28+import Prelude ()
29+import Prelude.Compat
30+
2831import GHC.Generics
2932import Data.Proxy (Proxy (..))
3033
Data/Aeson/Types/Internal.hs+4−7
@@ -60,8 +60,11 @@ module Data.Aeson.Types.Internal
6060 , DotNetTime(..)
6161 ) where
6262
63+import Prelude ()
64+import Prelude.Compat
65+
6366import Control.Arrow (first)
64−import Control.Applicative
67+import Control.Applicative (Alternative(..))
6568import Control.DeepSeq (NFData(..))
6669import Control.Monad (MonadPlus(..), ap)
6770import qualified Control.Monad.Fail as Fail
@@ -83,12 +86,6 @@ import qualified Data.Scientific as S
8386import qualified Data.Vector as V
8487import qualified Language.Haskell.TH.Syntax as TH
8588
86−#if !MIN_VERSION_base(4,8,0)
87−import Data.Foldable (Foldable(..))
88−import Data.Monoid (Monoid(..))
89−import Data.Traversable (Traversable(..))
90−#endif
91−
9289#if !MIN_VERSION_unordered_containers(0,2,6)
9390import Data.List (sort)
9491#endif
include/overlapping-compat.h−7
@@ -1,15 +1,8 @@
11#if __GLASGOW_HASKELL__ >= 710
22#define OVERLAPPABLE_ {-# OVERLAPPABLE #-}
33#define OVERLAPPING_ {-# OVERLAPPING #-}
4−#ifdef NEEDS_INCOHERENT
5−#define INCOHERENT_ {-# INCOHERENT #-}
6−#endif
74#else
85{-# LANGUAGE OverlappingInstances #-}
96#define OVERLAPPABLE_
107#define OVERLAPPING_
11−#ifdef NEEDS_INCOHERENT
12−{-# LANGUAGE IncoherentInstances #-}
13−#define INCOHERENT_
14−#endif
158#endif