on master help sign in
Never use the normal Prelude
commit03a81de53c8ac923a93150a8c8750c1d248723de authorAdam Bergmark <adam@bergmark.nl> dateSat 30 Jul 2016, 15:37 (10 years ago) parent2d67325
38 files changed+136−26
Data/Aeson.hs+1−1 Data/Aeson/Encode.hs+2 Data/Aeson/Encoding.hs+3−1 Data/Aeson/Internal.hs+2 Data/Aeson/Parser.hs+2 Data/Aeson/TH.hs+8−13 Data/Aeson/Text.hs+3 Data/Aeson/Types/Class.hs+2 benchmarks/AesonCompareAutoInstances.hs+3 benchmarks/AesonEncode.hs+3 benchmarks/AesonFoldable.hs+3 benchmarks/AesonMap.hs+4−1 benchmarks/AesonParse.hs+3 benchmarks/AesonTuples.hs+3 benchmarks/Compare.hs+3 benchmarks/Compare/BufferBuilder.hs+6−1 benchmarks/Compare/JsonBench.hs+3 benchmarks/Compare/JsonBuilder.hs+6−1 benchmarks/CompareWithJSON.hs+3 benchmarks/Dates.hs+3 benchmarks/JsonParse.hs+3 benchmarks/Micro.hs+3 benchmarks/Options.hs+3 benchmarks/ReadFile.hs+3 benchmarks/Typed.hs+3 benchmarks/Typed/Common.hs+4−1 benchmarks/Typed/Generic.hs+3 benchmarks/Typed/Manual.hs+3 benchmarks/Typed/TH.hs+3 benchmarks/aeson-benchmarks.cabal+10 examples/Generic.hs+3 examples/Simplest.hs+3 examples/TemplateHaskell.hs+3 examples/Twitter.hs+7−3 examples/Twitter/Generic.hs+3 examples/Twitter/Manual.hs+7−4 examples/Twitter/TH.hs+3 examples/aeson-examples.cabal+3
Data/Aeson.hs+1−1
@@ -111,7 +111,7 @@ module Data.Aeson
111111 ) where
112112
113113import Prelude ()
114−import Prelude.Compat (Maybe, either, Either(..), uncurry, String, (.))
114+import Prelude.Compat
115115
116116import Data.Aeson.Types.FromJSON (ifromJSON)
117117import Data.Aeson.Encoding (encodingToLazyByteString)
Data/Aeson/Encode.hs+2
@@ -14,6 +14,8 @@ module Data.Aeson.Encode {-# DEPRECATED "Use Data.Aeson or Data.Aeson.Text inste
1414 , encodeToTextBuilder
1515 ) where
1616
17+import Prelude ()
18+
1719import Data.ByteString.Lazy (ByteString)
1820import Data.Text.Lazy.Builder (Builder)
1921import qualified Data.Aeson as A
Data/Aeson/Encoding.hs+3−1
@@ -8,7 +8,7 @@ module Data.Aeson.Encoding
88 -- * Encoding
99 Encoding
1010 , Encoding'
11− , encodingToLazyByteString
11+ , encodingToLazyByteString
1212 , fromEncoding
1313 , unsafeToEncoding
1414 , Series
@@ -47,4 +47,6 @@ module Data.Aeson.Encoding
4747 , value
4848 ) where
4949
50+import Prelude ()
51+
5052import Data.Aeson.Encoding.Internal
Data/Aeson/Internal.hs+2
@@ -22,5 +22,7 @@ module Data.Aeson.Internal
2222 , iparse
2323 ) where
2424
25+import Prelude ()
26+
2527import Data.Aeson.Types.Internal
2628import Data.Aeson.Types.FromJSON (ifromJSON)
Data/Aeson/Parser.hs+2
@@ -46,6 +46,8 @@ module Data.Aeson.Parser
4646 , eitherDecodeStrictWith
4747 ) where
4848
49+import Prelude ()
50+
4951import Data.Aeson.Parser.Internal (decodeStrictWith, decodeWith, eitherDecodeStrictWith, eitherDecodeWith, json, json', jstring, value, value')
5052
5153-- $lazy
Data/Aeson/TH.hs+8−13
@@ -112,23 +112,20 @@ module Data.Aeson.TH
112112 , mkLiftParseJSON2
113113 ) where
114114
115−import Control.Applicative ((<$>), (<*>), (<|>), pure)
115+import Prelude ()
116+import Prelude.Compat hiding (exp)
117+
118+import Control.Applicative ((<|>))
116119import Data.Aeson (Object, (.=), (.:), FromJSON(..), FromJSON1(..), FromJSON2(..), ToJSON(..), ToJSON1(..), ToJSON2(..))
117120import Data.Aeson.Types (Options(..), Parser, SumEncoding(..), Value(..), defaultOptions, defaultTaggedObject)
118121import Data.Aeson.Types.Internal ((<?>), Pair, JSONPathElement(Key))
119122import Data.Aeson.Types.FromJSON (parseOptionalFieldWith)
120−import Control.Monad (fail, liftM2, mapM, return, unless, when)
121−import Data.Bool ((&&), Bool(False, True), otherwise, not )
122−import Data.Either (Either(Left, Right))
123−import Data.Eq ((==))
124−import Data.Foldable (concatMap, foldr')
125−import Data.Function (($), (.), flip)
126−import Data.Functor (fmap)
127−import Data.Int (Int)
128−import Data.List ((++), all, any, find, foldl, foldl', genericLength , intercalate , intersperse, length, map, partition, union, zip, zip3)
123+import Control.Monad (liftM2, unless, when)
124+import Data.Foldable (foldr')
125+import Data.List (find, foldl', genericLength , intercalate , intersperse, partition, union)
129126import Data.List.NonEmpty ((<|), NonEmpty((:|)))
130127import Data.Map (Map)
131−import Data.Maybe (Maybe(Nothing, Just), catMaybes, fromMaybe, mapMaybe)
128+import Data.Maybe (catMaybes, fromMaybe, mapMaybe)
132129import Data.Set (Set)
133130#if MIN_VERSION_template_haskell(2,8,0)
134131import Language.Haskell.TH hiding (Arity)
@@ -136,7 +133,6 @@ import Language.Haskell.TH hiding (Arity)
136133import Language.Haskell.TH
137134#endif
138135import Language.Haskell.TH.Syntax (VarStrictType)
139−import Prelude ((-), (||), Enum(..), Eq(..), Integer, Ord(..), String, concat, cycle, drop, elem, error, foldr1, fromIntegral, showChar, showParen, shows, showString, snd, splitAt, take, unzip, zipWith)
140136#if MIN_VERSION_template_haskell(2,7,0) && !(MIN_VERSION_template_haskell(2,8,0))
141137import Language.Haskell.TH.Lib (starK)
142138#endif
@@ -149,7 +145,6 @@ import Prelude (uncurry)
149145import Prelude (head)
150146#endif
151147import Text.Printf (printf)
152−import Text.Show (show)
153148import qualified Data.Aeson as A
154149import qualified Data.Aeson.Encoding.Internal as E
155150import qualified Data.Foldable as F (all)
Data/Aeson/Text.hs+3
@@ -20,6 +20,9 @@ module Data.Aeson.Text
2020 , encodeToTextBuilder
2121 ) where
2222
23+import Prelude ()
24+import Prelude.Compat
25+
2326import Data.Aeson.Types (Value(..), ToJSON(..))
2427import Data.Aeson.Encoding (encodingToLazyByteString)
2528import Data.Monoid ((<>))
Data/Aeson/Types/Class.hs+2
@@ -83,6 +83,8 @@ module Data.Aeson.Types.Class
8383 , typeMismatch
8484 ) where
8585
86+import Prelude ()
87+
8688import Data.Aeson.Types.FromJSON
8789import Data.Aeson.Types.Generic (One, Zero)
8890import Data.Aeson.Types.ToJSON
benchmarks/AesonCompareAutoInstances.hs+3
@@ -4,6 +4,9 @@
44
55module Main where
66
7+import Prelude ()
8+import Prelude.Compat
9+
710import Control.DeepSeq (NFData, rnf, deepseq)
811import Criterion.Main hiding (defaultOptions)
912import Data.Aeson.Encode
benchmarks/AesonEncode.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE BangPatterns #-}
22{-# LANGUAGE OverloadedStrings #-}
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import Control.DeepSeq
58import Control.Exception
69import Control.Monad
benchmarks/AesonFoldable.hs+3
@@ -2,6 +2,9 @@
22{-# LANGUAGE PackageImports #-}
33import Criterion.Main
44
5+import Prelude ()
6+import Prelude.Compat
7+
58import Data.Foldable (toList)
69import qualified "aeson" Data.Aeson as A
710import qualified "aeson-benchmarks" Data.Aeson as B
benchmarks/AesonMap.hs+4−1
@@ -3,7 +3,10 @@
33{-# LANGUAGE PackageImports #-}
44{-# LANGUAGE RankNTypes #-}
55
6−{-# OPTIONS -fno-warn-orphans #-}
6+{-# OPTIONS_GHC -fno-warn-orphans #-}
7+
8+import Prelude ()
9+import Prelude.Compat
710
811import Control.DeepSeq
912import Criterion.Main
benchmarks/AesonParse.hs+3
@@ -2,6 +2,9 @@
22{-# LANGUAGE OverloadedStrings #-}
33{-# LANGUAGE PackageImports #-}
44
5+import Prelude ()
6+import Prelude.Compat
7+
58import "aeson-benchmarks" Data.Aeson
69import Control.Exception
710import Control.Monad
benchmarks/AesonTuples.hs+3
@@ -1,5 +1,8 @@
11module Main where
22
3+import Prelude ()
4+import Prelude.Compat
5+
36import Control.DeepSeq (deepseq)
47import Criterion.Main
58import Data.Aeson
benchmarks/Compare.hs+3
@@ -3,6 +3,9 @@
33
44module Main (main) where
55
6+import Prelude ()
7+import Prelude.Compat
8+
69import Compare.BufferBuilder ()
710import Compare.JsonBuilder ()
811import Criterion.Main
benchmarks/Compare/BufferBuilder.hs+6−1
@@ -1,9 +1,14 @@
11{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE RecordWildCards #-}
3+
4+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
35{-# OPTIONS_GHC -fno-warn-orphans #-}
46
57module Compare.BufferBuilder () where
68
9+import Prelude ()
10+import Prelude.Compat
11+
712import Data.BufferBuilder.Json
813import Data.Int (Int64)
914import Data.Monoid ((<>))
@@ -38,7 +43,7 @@ instance ToJson Story where
3843 <> "metadata" .= metadata
3944 <> "to_user_id" .= to_user_id
4045 <> "text" .= text
41− <> "id" .= id
46+ <> "id" .= id_
4247 <> "from_user_id" .= from_user_id
4348 <> "geo" .= geo
4449 <> "iso_language_code" .= iso_language_code
benchmarks/Compare/JsonBench.hs+3
@@ -11,6 +11,9 @@
1111
1212module Compare.JsonBench (benchmarks) where
1313
14+import Prelude ()
15+import Prelude.Compat
16+
1417import Control.DeepSeq (NFData(..))
1518import Criterion
1619import Data.Aeson ((.:))
benchmarks/Compare/JsonBuilder.hs+6−1
@@ -1,8 +1,13 @@
11{-# LANGUAGE RecordWildCards #-}
2+
3+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
24{-# OPTIONS_GHC -fno-warn-orphans #-}
35
46module Compare.JsonBuilder () where
57
8+import Prelude ()
9+import Prelude.Compat
10+
611import Data.Json.Builder
712import Data.Monoid ((<>))
813import Prelude hiding (id)
@@ -36,7 +41,7 @@ instance JsObject Story where
3641 row "metadata" metadata <>
3742 row "to_user_id" to_user_id <>
3843 row "text" text <>
39− row "id" id <>
44+ row "id" id_ <>
4045 row "from_user_id" from_user_id <>
4146 row "geo" geo <>
4247 row "iso_language_code" iso_language_code <>
benchmarks/CompareWithJSON.hs+3
@@ -1,5 +1,8 @@
11{-# OPTIONS_GHC -fno-warn-orphans #-}
22
3+import Prelude ()
4+import Prelude.Compat
5+
36import Blaze.ByteString.Builder (toLazyByteString)
47import Blaze.ByteString.Builder.Char.Utf8 (fromString)
58import Control.DeepSeq (NFData(rnf))
benchmarks/Dates.hs+3
@@ -1,3 +1,6 @@
1+import Prelude ()
2+import Prelude.Compat
3+
14import Criterion.Main
25import Data.Aeson (decode, encode)
36import Data.Time.Clock (UTCTime)
benchmarks/JsonParse.hs+3
@@ -2,6 +2,9 @@
22{-# LANGUAGE ScopedTypeVariables #-}
33{-# OPTIONS_GHC -fno-warn-orphans #-}
44
5+import Prelude ()
6+import Prelude.Compat
7+
58import Control.DeepSeq
69import Control.Monad
710import Data.Time.Clock
benchmarks/Micro.hs+3
@@ -1,5 +1,8 @@
11module Main (main) where
22
3+import Prelude ()
4+import Prelude.Compat
5+
36import Criterion.Main
47import qualified Data.Aeson.Encoding.Builder as AB
58import qualified Data.ByteString.Builder as B
benchmarks/Options.hs+3
@@ -1,5 +1,8 @@
11module Options where
22
3+import Prelude ()
4+import Prelude.Compat
5+
36import Data.Aeson.Types
47
58opts :: Options
benchmarks/ReadFile.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE BangPatterns #-}
22{-# LANGUAGE OverloadedStrings #-}
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import Control.DeepSeq
58import Control.Exception
69import Control.Monad
benchmarks/Typed.hs+3
@@ -1,5 +1,8 @@
11module Main (main) where
22
3+import Prelude ()
4+import Prelude.Compat
5+
36import Criterion.Main
47import qualified Typed.Generic as Generic
58import qualified Typed.Manual as Manual
benchmarks/Typed/Common.hs+4−1
@@ -1,10 +1,13 @@
11{-# LANGUAGE CPP #-}
22{-# LANGUAGE PackageImports #-}
33
4−{-# OPTIONS -fno-warn-unused-imports #-}
4+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
55
66module Typed.Common (load) where
77
8+import Prelude ()
9+import Prelude.Compat
10+
811import Data.ByteString.Lazy as L
912import System.Exit
1013import System.IO
benchmarks/Typed/Generic.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE PackageImports #-}
22module Typed.Generic (benchmarks) where
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import "aeson" Data.Aeson hiding (Result)
58import Criterion
69import Data.ByteString.Lazy as L
benchmarks/Typed/Manual.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE PackageImports #-}
22module Typed.Manual (benchmarks) where
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import "aeson" Data.Aeson hiding (Result)
58import Criterion
69import Data.ByteString.Lazy as L
benchmarks/Typed/TH.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE PackageImports #-}
22module Typed.TH (benchmarks) where
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import "aeson" Data.Aeson hiding (Result)
58import Criterion
69import Data.ByteString.Lazy as L
benchmarks/aeson-benchmarks.cabal+10
@@ -81,6 +81,7 @@ executable aeson-benchmark-compare
8181 build-depends:
8282 aeson-benchmarks,
8383 base,
84+ base-compat,
8485 buffer-builder,
8586 bytestring,
8687 criterion >= 1.0,
@@ -96,6 +97,7 @@ executable aeson-benchmark-micro
9697 build-depends:
9798 aeson-benchmarks,
9899 base,
100+ base-compat,
99101 bytestring,
100102 criterion >= 1.0,
101103 deepseq,
@@ -113,6 +115,7 @@ executable aeson-benchmark-typed
113115 aeson,
114116 aeson-benchmarks,
115117 base,
118+ base-compat,
116119 criterion >= 1.0,
117120 deepseq,
118121 ghc-prim,
@@ -131,6 +134,7 @@ executable aeson-benchmark-compare-with-json
131134 build-depends:
132135 aeson-benchmarks,
133136 base,
137+ base-compat,
134138 blaze-builder,
135139 bytestring,
136140 criterion,
@@ -145,6 +149,7 @@ executable aeson-benchmark-aeson-encode
145149 aeson-benchmarks,
146150 attoparsec,
147151 base,
152+ base-compat,
148153 bytestring,
149154 deepseq,
150155 time
@@ -156,6 +161,7 @@ executable aeson-benchmark-aeson-parse
156161 aeson-benchmarks,
157162 attoparsec,
158163 base,
164+ base-compat,
159165 bytestring,
160166 time
161167
@@ -164,6 +170,7 @@ executable aeson-benchmark-json-parse
164170 ghc-options: -Wall -O2 -rtsopts
165171 build-depends:
166172 base,
173+ base-compat,
167174 deepseq,
168175 json,
169176 time
@@ -173,6 +180,7 @@ executable aeson-benchmark-dates
173180 ghc-options: -Wall -O2 -rtsopts
174181 build-depends:
175182 base,
183+ base-compat,
176184 bytestring,
177185 criterion,
178186 deepseq,
@@ -187,6 +195,7 @@ executable aeson-benchmark-map
187195 aeson,
188196 aeson-benchmarks,
189197 base,
198+ base-compat,
190199 criterion >= 1.0,
191200 bytestring,
192201 containers,
@@ -203,6 +212,7 @@ executable aeson-benchmark-foldable
203212 aeson,
204213 aeson-benchmarks,
205214 base,
215+ base-compat,
206216 criterion >= 1.0,
207217 bytestring,
208218 containers,
examples/Generic.hs+3
@@ -8,6 +8,9 @@
88{-# LANGUAGE DeriveGeneric #-}
99{-# LANGUAGE OverloadedStrings #-}
1010
11+import Prelude ()
12+import Prelude.Compat
13+
1114import Data.Aeson (FromJSON, ToJSON, decode, encode)
1215import qualified Data.ByteString.Lazy.Char8 as BL
1316import GHC.Generics (Generic)
examples/Simplest.hs+3
@@ -1,6 +1,9 @@
11{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE RecordWildCards #-}
33
4+import Prelude ()
5+import Prelude.Compat
6+
47import Control.Applicative (empty)
58import Data.Aeson
69import Data.Monoid
examples/TemplateHaskell.hs+3
@@ -4,6 +4,9 @@
44{-# LANGUAGE OverloadedStrings #-}
55{-# LANGUAGE TemplateHaskell #-}
66
7+import Prelude ()
8+import Prelude.Compat
9+
710import Data.Aeson (decode, encode)
811import Data.Aeson.TH (deriveJSON, defaultOptions)
912import qualified Data.ByteString.Lazy.Char8 as BL
examples/Twitter.hs+7−3
@@ -8,16 +8,20 @@
88-- renamed "type" to "type_" in the *.json files, to avoid overlap
99-- with a Haskell reserved keyword.
1010
11−{-# LANGUAGE DeriveDataTypeable #-}
11+{-# LANGUAGE DeriveDataTypeable #-}
1212{-# LANGUAGE DeriveGeneric #-}
1313
14−module Twitter (
14+module Twitter
15+ (
1516 Metadata(..)
1617 , Geo(..)
1718 , Story(..)
1819 , Result(..)
1920 ) where
2021
22+import Prelude ()
23+import Prelude.Compat
24+
2125import Control.DeepSeq
2226import Data.Data (Typeable, Data)
2327import Data.Int (Int64)
@@ -47,7 +51,7 @@ data Story = Story {
4751 , metadata :: Metadata
4852 , to_user_id :: Maybe Int64
4953 , text :: Text
50− , id :: Int64
54+ , id_ :: Int64
5155 , from_user_id :: Int64
5256 , geo :: Maybe Geo
5357 , iso_language_code :: Text
examples/Twitter/Generic.hs+3
@@ -11,6 +11,9 @@ module Twitter.Generic
1111 , Result(..)
1212 ) where
1313
14+import Prelude ()
15+import Prelude.Compat
16+
1417import Twitter
1518
1619#ifndef HAS_BOTH_AESON_AND_BENCHMARKS
examples/Twitter/Manual.hs+7−4
@@ -14,6 +14,9 @@ module Twitter.Manual
1414 , Result(..)
1515 ) where
1616
17+import Prelude ()
18+import Prelude.Compat
19+
1720import Control.Applicative
1821import Data.Monoid ((<>))
1922import Prelude hiding (id)
@@ -65,7 +68,7 @@ instance ToJSON Story where
6568 , "metadata" .= metadata
6669 , "to_user_id" .= to_user_id
6770 , "text" .= text
68− , "id" .= id
71+ , "id" .= id_
6972 , "from_user_id" .= from_user_id
7073 , "geo" .= geo
7174 , "iso_language_code" .= iso_language_code
@@ -82,7 +85,7 @@ instance ToJSON Story where
8285 <> "metadata" .= metadata
8386 <> "to_user_id" .= to_user_id
8487 <> "text" .= text
85− <> "id" .= id
88+ <> "id" .= id_
8689 <> "from_user_id" .= from_user_id
8790 <> "geo" .= geo
8891 <> "iso_language_code" .= iso_language_code
@@ -189,7 +192,7 @@ instance B.ToJSON Story where
189192 , "metadata" B..= metadata
190193 , "to_user_id" B..= to_user_id
191194 , "text" B..= text
192− , "id" B..= id
195+ , "id" B..= id_
193196 , "from_user_id" B..= from_user_id
194197 , "geo" B..= geo
195198 , "iso_language_code" B..= iso_language_code
@@ -206,7 +209,7 @@ instance B.ToJSON Story where
206209 <> "metadata" B..= metadata
207210 <> "to_user_id" B..= to_user_id
208211 <> "text" B..= text
209− <> "id" B..= id
212+ <> "id" B..= id_
210213 <> "from_user_id" B..= from_user_id
211214 <> "geo" B..= geo
212215 <> "iso_language_code" B..= iso_language_code
examples/Twitter/TH.hs+3
@@ -12,6 +12,9 @@ module Twitter.TH
1212 , Story(..)
1313 , Result(..)
1414 ) where
15+
16+import Prelude ()
17+
1518import Twitter
1619
1720#ifndef HAS_BOTH_AESON_AND_BENCHMARKS
examples/aeson-examples.cabal+3
@@ -9,6 +9,7 @@ executable aeson-example-generic
99 build-depends:
1010 aeson >= 0.10,
1111 base,
12+ base-compat,
1213 bytestring,
1314 ghc-prim
1415
@@ -18,6 +19,7 @@ executable aeson-example-simplest
1819 build-depends:
1920 aeson,
2021 base,
22+ base-compat,
2123 bytestring
2224
2325executable aeson-example-th
@@ -26,4 +28,5 @@ executable aeson-example-th
2628 build-depends:
2729 aeson,
2830 base,
31+ base-compat,
2932 bytestring