on master help sign in
Merge branch 'fix-warnings' of https://github.com/23Skidoo/aeson
commit874aa3cf1d6e62c8bc99a0db9f61a205e0fcbac4 authorBas van Dijk <v.dijk.bas@gmail.com> dateSun 11 Oct 2015, 12:46 (11 years ago) parentf19434a97834f7
9 files changed+54−23
Data/Aeson/Encode/Builder.hs+4−4 Data/Aeson/Encode/Functions.hs+8−2 Data/Aeson/Parser/Internal.hs+4−1 Data/Aeson/Parser/Time.hs+5−2 Data/Aeson/TH.hs+4−1 Data/Aeson/Types/Generic.hs+8−3 Data/Aeson/Types/Instances.hs+12−5 Data/Aeson/Types/Internal.hs+8−4 aeson.cabal+1−1
Data/Aeson/Encode/Builder.hs+4−4
@@ -179,10 +179,10 @@ day dd = encodeYear yr <>
179179 where (yr,m,d) = toGregorian dd
180180 !(T mh ml) = twoDigits m
181181 !(T dh dl) = twoDigits d
182− encodeYear y
183− | y >= 1000 = B.integerDec y
184− | y > 0 =
185− let (ab,c) = fromIntegral y `quotRem` 10
182+ encodeYear yr
183+ | yr >= 1000 = B.integerDec yr
184+ | yr > 0 =
185+ let (ab,c) = fromIntegral yr `quotRem` 10
186186 (a,b) = ab `quotRem` 10
187187 in BP.primBounded (ascii4 ('0',(digit a,(digit b,digit c)))) ()
188188 | otherwise =
Data/Aeson/Encode/Functions.hs+8−2
@@ -1,3 +1,5 @@
1+{-# LANGUAGE CPP #-}
2+
13module Data.Aeson.Encode.Functions
24 (
35 brackets
@@ -14,11 +16,15 @@ import Data.Aeson.Types.Class
1416import Data.Aeson.Types.Internal
1517import Data.ByteString.Builder (Builder, char7)
1618import Data.ByteString.Builder.Prim (primBounded)
17−import Data.Foldable (Foldable, foldMap)
18−import Data.Monoid ((<>), mempty)
19+import Data.Monoid ((<>))
1920import qualified Data.ByteString.Builder as B
2021import qualified Data.ByteString.Lazy as L
2122
23+#if !MIN_VERSION_base(4,8,0)
24+import Data.Foldable (Foldable, foldMap)
25+import Data.Monoid (mempty)
26+#endif
27+
2228builder :: ToJSON a => a -> Builder
2329builder = fromEncoding . toEncoding
2430{-# INLINE builder #-}
Data/Aeson/Parser/Internal.hs+4−1
@@ -31,7 +31,6 @@ module Data.Aeson.Parser.Internal
3131 , eitherDecodeStrictWith
3232 ) where
3333
34−import Control.Applicative ((*>), (<$>), (<*), pure)
3534import Control.Monad.IO.Class (liftIO)
3635import Data.Aeson.Types.Internal (IResult(..), JSONPath, Result(..), Value(..))
3736import Data.Attoparsec.ByteString.Char8 (Parser, char, endOfInput, scientific,
@@ -59,6 +58,10 @@ import qualified Data.ByteString.Lazy as L
5958import qualified Data.ByteString.Unsafe as B
6059import qualified Data.HashMap.Strict as H
6160
61+#if !MIN_VERSION_base(4,8,0)
62+import Control.Applicative ((*>), (<$>), (<*), pure)
63+#endif
64+
6265#if MIN_VERSION_ghc_prim(0,3,1)
6366import GHC.Base (Int#, (==#), isTrue#, orI#, word2Int#)
6467import GHC.Word (Word8(W8#))
Data/Aeson/Parser/Time.hs+5−2
@@ -1,4 +1,4 @@
1−{-# LANGUAGE BangPatterns, ScopedTypeVariables #-}
1+{-# LANGUAGE BangPatterns, CPP, ScopedTypeVariables #-}
22
33-- |
44-- Module: Data.Aeson.Parser.Time
@@ -21,7 +21,6 @@ module Data.Aeson.Parser.Time
2121 , zonedTime
2222 ) where
2323
24−import Control.Applicative ((<$>), (<*>), (<*), (*>))
2524import Control.Monad (when, void)
2625import Data.Aeson.Internal.Time (toPico)
2726import Data.Attoparsec.Text as A
@@ -37,6 +36,10 @@ import qualified Data.Aeson.Types.Internal as Aeson
3736import qualified Data.Text as T
3837import qualified Data.Time.LocalTime as Local
3938
39+#if !MIN_VERSION_base(4,8,0)
40+import Control.Applicative ((<$>), (<*>), (<*), (*>))
41+#endif
42+
4043-- | Run an attoparsec parser as an aeson parser.
4144run :: Parser a -> Text -> Aeson.Parser a
4245run p t = case A.parseOnly (p <* endOfInput) t of
Data/Aeson/TH.hs+4−1
@@ -100,7 +100,7 @@ import Data.Aeson.Types ( Value(..), Parser
100100 , defaultTaggedObject
101101 )
102102import Data.Aeson.Types.Internal (Encoding(..))
103−import Control.Monad ( return, mapM, liftM2, fail, join )
103+import Control.Monad ( join )
104104import Data.Bool ( Bool(False, True), otherwise, (&&), not )
105105import Data.Either ( Either(Left, Right) )
106106import Data.Eq ( (==) )
@@ -134,6 +134,9 @@ import qualified Data.Text as T ( Text, pack, unpack )
134134import qualified Data.Vector as V ( unsafeIndex, null, length, create, fromList )
135135import qualified Data.Vector.Mutable as VM ( unsafeNew, unsafeWrite )
136136
137+#if !MIN_VERSION_base(4,8,0)
138+import Control.Monad ( return, mapM, liftM2, fail )
139+#endif
137140
138141--------------------------------------------------------------------------------
139142-- Convenience
Data/Aeson/Types/Generic.hs+8−3
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DefaultSignatures, EmptyDataDecls, FlexibleInstances,
1+{-# LANGUAGE CPP, DefaultSignatures, EmptyDataDecls, FlexibleInstances,
22 FunctionalDependencies, KindSignatures, OverlappingInstances,
33 ScopedTypeVariables, TypeOperators, UndecidableInstances,
44 ViewPatterns, NamedFieldPuns, FlexibleContexts, PatternGuards,
@@ -19,7 +19,7 @@
1919
2020module Data.Aeson.Types.Generic ( ) where
2121
22−import Control.Applicative ((<*>), (<$>), (<|>), pure)
22+import Control.Applicative ((<|>))
2323import Control.Monad ((<=<), join)
2424import Control.Monad.ST (ST)
2525import Data.Aeson.Encode.Builder (emptyArray_)
@@ -30,13 +30,18 @@ import Data.Bits (unsafeShiftR)
3030import Data.ByteString.Builder as B
3131import Data.DList (DList, toList, empty)
3232import Data.Maybe (fromMaybe)
33−import Data.Monoid ((<>), mempty)
33+import Data.Monoid ((<>))
3434import Data.Text (Text, pack, unpack)
3535import GHC.Generics
3636import qualified Data.HashMap.Strict as H
3737import qualified Data.Vector as V
3838import qualified Data.Vector.Mutable as VM
3939
40+#if !MIN_VERSION_base(4,8,0)
41+import Control.Applicative ((<*>), (<$>), pure)
42+import Data.Monoid (mempty)
43+#endif
44+
4045--------------------------------------------------------------------------------
4146-- Generic toJSON
4247
Data/Aeson/Types/Instances.hs+12−5
@@ -55,28 +55,27 @@ module Data.Aeson.Types.Instances
5555 , typeMismatch
5656 ) where
5757
58−import Control.Applicative ((<$>), (<*>), pure)
5958import Data.Aeson.Encode.Functions (brackets, builder, encode, foldable, list)
6059import Data.Aeson.Functions (hashMapKey, mapHashKeyVal, mapKey, mapKeyVal)
6160import Data.Aeson.Types.Class
6261import Data.Aeson.Types.Internal
6362import Data.Attoparsec.Number (Number(..))
6463import Data.Fixed (Fixed, HasResolution)
65−import Data.Foldable (Foldable, toList)
64+import Data.Foldable (toList)
6665import Data.Functor.Identity (Identity(..))
6766import Data.Hashable (Hashable(..))
6867import Data.Int (Int8, Int16, Int32, Int64)
6968import Data.Maybe (fromMaybe)
70−import Data.Monoid ((<>), mempty)
69+import Data.Monoid ((<>))
7170import Data.Monoid (Dual(..), First(..), Last(..))
7271import Data.Ratio (Ratio, (%), numerator, denominator)
7372import Data.Scientific (Scientific)
7473import Data.Text (Text, pack, unpack)
7574import Data.Time (Day, LocalTime, NominalDiffTime, UTCTime, ZonedTime)
7675import Data.Time.Format (FormatTime, formatTime, parseTime)
77−import Data.Traversable as Tr (sequence, traverse)
76+import Data.Traversable as Tr (sequence)
7877import Data.Vector (Vector)
79−import Data.Word (Word, Word8, Word16, Word32, Word64)
78+import Data.Word (Word8, Word16, Word32, Word64)
8079import Foreign.Storable (Storable)
8180import Prelude hiding (foldr)
8281import qualified Data.Aeson.Encode.Builder as E
@@ -102,6 +101,14 @@ import qualified Data.Vector.Primitive as VP
102101import qualified Data.Vector.Storable as VS
103102import qualified Data.Vector.Unboxed as VU
104103
104+#if !MIN_VERSION_base(4,8,0)
105+import Control.Applicative ((<$>), (<*>), pure)
106+import Data.Foldable (Foldable)
107+import Data.Monoid (mempty)
108+import Data.Traversable as Tr (traverse)
109+import Data.Word (Word)
110+#endif
111+
105112#if MIN_VERSION_time(1,5,0)
106113import Data.Time.Format (defaultTimeLocale)
107114#else
Data/Aeson/Types/Internal.hs+8−4
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Types,
1+{-# LANGUAGE CPP, DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Types,
22 RecordWildCards #-}
33
44-- |
@@ -59,21 +59,25 @@ import Control.Monad (MonadPlus(..), ap)
5959import Data.ByteString.Builder (Builder, char7, toLazyByteString)
6060import Data.Char (isLower, isUpper, toLower)
6161import Data.Data (Data)
62−import Data.Foldable (Foldable(..))
6362import Data.HashMap.Strict (HashMap)
6463import Data.Hashable (Hashable(..))
65−import Data.Monoid (Monoid(..), (<>))
64+import Data.Monoid ((<>))
6665import Data.Scientific (Scientific)
6766import Data.String (IsString(..))
6867import Data.Text (Text, pack, unpack)
6968import Data.Time (UTCTime)
7069import Data.Time.Format (FormatTime)
71−import Data.Traversable (Traversable(..))
7270import Data.Typeable (Typeable)
7371import Data.Vector (Vector)
7472import qualified Data.HashMap.Strict as H
7573import qualified Data.Vector as V
7674
75+#if !MIN_VERSION_base(4,8,0)
76+import Data.Foldable (Foldable(..))
77+import Data.Monoid (Monoid(..))
78+import Data.Traversable (Traversable(..))
79+#endif
80+
7781-- | Elements of a JSON path used to describe the location of an
7882-- error.
7983data JSONPathElement = Key Text
aeson.cabal+1−1
@@ -10,7 +10,7 @@ maintainer: Bryan O'Sullivan <bos@serpentine.com>
1010stability: experimental
1111tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2
1212synopsis: Fast JSON parsing and encoding
13−cabal-version: >= 1.8
13+cabal-version: >= 1.8.0.4
1414homepage: https://github.com/bos/aeson
1515bug-reports: https://github.com/bos/aeson/issues
1616build-type: Simple