on master help sign in
Merge pull request #665 from mhcurylo/Enabling_HLint
7ccff02Adam Bergmark
Data/Aeson.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson
3-- Module: Data.Aeson
3-- Copyright: (c) 2011-2016 Bryan O'Sullivan
4-- Copyright: (c) 2011-2016 Bryan O'Sullivan
@@ -130,7 +131,6 @@ module Data.Aeson
130 , json'
131 , json'
131 ) where
132 ) where
132
133
133−import Prelude ()
134import Prelude.Compat
134import Prelude.Compat
135
135
136import Data.Aeson.Types.FromJSON (ifromJSON)
136import Data.Aeson.Types.FromJSON (ifromJSON)
Data/Aeson/Encode.hs+2−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson.Encode
3-- Module: Data.Aeson.Encode
3-- Copyright: (c) 2012-2016 Bryan O'Sullivan
4-- Copyright: (c) 2012-2016 Bryan O'Sullivan
@@ -8,13 +9,13 @@
8-- Portability: portable
9-- Portability: portable
9--
10--
10-- This module is left to supply limited backwards-compatibility.
11-- This module is left to supply limited backwards-compatibility.
12+
11module Data.Aeson.Encode {-# DEPRECATED "Use Data.Aeson or Data.Aeson.Text instead" #-}
13module Data.Aeson.Encode {-# DEPRECATED "Use Data.Aeson or Data.Aeson.Text instead" #-}
12 (
14 (
13 encode
15 encode
14 , encodeToTextBuilder
16 , encodeToTextBuilder
15 ) where
17 ) where
16
18
17−import Prelude ()
18
19
19import Data.ByteString.Lazy (ByteString)
20import Data.ByteString.Lazy (ByteString)
20import Data.Text.Lazy.Builder (Builder)
21import Data.Text.Lazy.Builder (Builder)
Data/Aeson/Encoding.hs+2−1
@@ -1,8 +1,10 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2--
3--
3-- Functions in this module return well-formed 'Encoding''.
4-- Functions in this module return well-formed 'Encoding''.
4-- Polymorphic variants, which return @'Encoding' a@, return a textual JSON
5-- Polymorphic variants, which return @'Encoding' a@, return a textual JSON
5-- value, so it can be used as both @'Encoding'' 'Text'@ and @'Encoding' = 'Encoding'' 'Value'@.
6-- value, so it can be used as both @'Encoding'' 'Text'@ and @'Encoding' = 'Encoding'' 'Value'@.
7+
6module Data.Aeson.Encoding
8module Data.Aeson.Encoding
7 (
9 (
8 -- * Encoding
10 -- * Encoding
@@ -49,6 +51,5 @@ module Data.Aeson.Encoding
49 , value
51 , value
50 ) where
52 ) where
51
53
52−import Prelude ()
53
54
54import Data.Aeson.Encoding.Internal
55import Data.Aeson.Encoding.Internal
Data/Aeson/Encoding/Builder.hs+3−3
@@ -1,5 +1,6 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2−
2+{-# LANGUAGE NoImplicitPrelude #-}
3+{-# LANGUAGE TupleSections #-}
3-- |
4-- |
4-- Module: Data.Aeson.Encoding.Builder
5-- Module: Data.Aeson.Encoding.Builder
5-- Copyright: (c) 2011 MailRank, Inc.
6-- Copyright: (c) 2011 MailRank, Inc.
@@ -35,7 +36,6 @@ module Data.Aeson.Encoding.Builder
35 , ascii5
36 , ascii5
36 ) where
37 ) where
37
38
38−import Prelude ()
39import Prelude.Compat
39import Prelude.Compat
40
40
41import Data.Aeson.Internal.Time
41import Data.Aeson.Internal.Time
@@ -201,7 +201,7 @@ timeOfDay64 (TOD h m s)
201 !(T mh ml) = twoDigits m
201 !(T mh ml) = twoDigits m
202 !(T sh sl) = twoDigits (fromIntegral real)
202 !(T sh sl) = twoDigits (fromIntegral real)
203 (real,frac) = s `quotRem` pico
203 (real,frac) = s `quotRem` pico
204− showFrac = (\x -> ('.', x)) >$< (BP.liftFixedToBounded BP.char7 >*< trunc12)
204+ showFrac = ('.',) >$< (BP.liftFixedToBounded BP.char7 >*< trunc12)
205 trunc12 = (`quotRem` micro) >$<
205 trunc12 = (`quotRem` micro) >$<
206 BP.condB (\(_,y) -> y == 0) (fst >$< trunc6) (digits6 >*< trunc6)
206 BP.condB (\(_,y) -> y == 0) (fst >$< trunc6) (digits6 >*< trunc6)
207 digits6 = ((`quotRem` milli) . fromIntegral) >$< (digits3 >*< digits3)
207 digits6 = ((`quotRem` milli) . fromIntegral) >$< (digits3 >*< digits3)
Data/Aeson/Encoding/Internal.hs+2−1
@@ -1,7 +1,9 @@
1{-# LANGUAGE DeriveDataTypeable #-}
1{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE EmptyDataDecls #-}
2{-# LANGUAGE EmptyDataDecls #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE RankNTypes #-}
5{-# LANGUAGE RankNTypes #-}
6+
5module Data.Aeson.Encoding.Internal
7module Data.Aeson.Encoding.Internal
6 (
8 (
7 -- * Encoding
9 -- * Encoding
@@ -55,7 +57,6 @@ module Data.Aeson.Encoding.Internal
55 , comma, colon, openBracket, closeBracket, openCurly, closeCurly
57 , comma, colon, openBracket, closeBracket, openCurly, closeCurly
56 ) where
58 ) where
57
59
58−import Prelude ()
59import Prelude.Compat
60import Prelude.Compat
60
61
61import Data.Aeson.Types.Internal (Value)
62import Data.Aeson.Types.Internal (Value)
Data/Aeson/Internal.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson.Internal
3-- Module: Data.Aeson.Internal
3-- Copyright: (c) 2015-2016 Bryan O'Sullivan
4-- Copyright: (c) 2015-2016 Bryan O'Sullivan
@@ -22,7 +23,6 @@ module Data.Aeson.Internal
22 , iparse
23 , iparse
23 ) where
24 ) where
24
25
25−import Prelude ()
26
26
27import Data.Aeson.Types.Internal
27import Data.Aeson.Types.Internal
28import Data.Aeson.Types.FromJSON (ifromJSON)
28import Data.Aeson.Types.FromJSON (ifromJSON)
Data/Aeson/Internal/Functions.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson.Functions
3-- Module: Data.Aeson.Functions
3-- Copyright: (c) 2011-2016 Bryan O'Sullivan
4-- Copyright: (c) 2011-2016 Bryan O'Sullivan
@@ -14,7 +15,6 @@ module Data.Aeson.Internal.Functions
14 , mapKey
15 , mapKey
15 ) where
16 ) where
16
17
17−import Prelude ()
18import Prelude.Compat
18import Prelude.Compat
19
19
20import Data.Hashable (Hashable)
20import Data.Hashable (Hashable)
Data/Aeson/Parser.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson.Parser
3-- Module: Data.Aeson.Parser
3-- Copyright: (c) 2012-2016 Bryan O'Sullivan
4-- Copyright: (c) 2012-2016 Bryan O'Sullivan
@@ -45,7 +46,6 @@ module Data.Aeson.Parser
45 , eitherDecodeStrictWith
46 , eitherDecodeStrictWith
46 ) where
47 ) where
47
48
48−import Prelude ()
49
49
50import Data.Aeson.Parser.Internal (decodeStrictWith, decodeWith, eitherDecodeStrictWith, eitherDecodeWith, json, json', jstring, scientific, value, value')
50import Data.Aeson.Parser.Internal (decodeStrictWith, decodeWith, eitherDecodeStrictWith, eitherDecodeWith, json, json', jstring, scientific, value, value')
51
51
Data/Aeson/Parser/Internal.hs+1−2
@@ -1,10 +1,10 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2{-# LANGUAGE CPP #-}
2{-# LANGUAGE CPP #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
4#if MIN_VERSION_ghc_prim(0,3,1)
5#if MIN_VERSION_ghc_prim(0,3,1)
5{-# LANGUAGE MagicHash #-}
6{-# LANGUAGE MagicHash #-}
6#endif
7#endif
7−
8-- |
8-- |
9-- Module: Data.Aeson.Parser.Internal
9-- Module: Data.Aeson.Parser.Internal
10-- Copyright: (c) 2011-2016 Bryan O'Sullivan
10-- Copyright: (c) 2011-2016 Bryan O'Sullivan
@@ -35,7 +35,6 @@ module Data.Aeson.Parser.Internal
35 , eitherDecodeStrictWith
35 , eitherDecodeStrictWith
36 ) where
36 ) where
37
37
38−import Prelude ()
39import Prelude.Compat
38import Prelude.Compat
40
39
41import Control.Applicative ((<|>))
40import Control.Applicative ((<|>))
Data/Aeson/Parser/Time.hs+2−1
@@ -1,3 +1,5 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Data.Aeson.Parser.Time
3module Data.Aeson.Parser.Time
2 (
4 (
3 run
5 run
@@ -9,7 +11,6 @@ module Data.Aeson.Parser.Time
9 , zonedTime
11 , zonedTime
10 ) where
12 ) where
11
13
12−import Prelude ()
13import Prelude.Compat
14import Prelude.Compat
14
15
15import Data.Attoparsec.Text (Parser)
16import Data.Attoparsec.Text (Parser)
Data/Aeson/TH.hs−1
@@ -116,7 +116,6 @@ module Data.Aeson.TH
116 , mkLiftParseJSON2
116 , mkLiftParseJSON2
117 ) where
117 ) where
118
118
119−import Prelude ()
120import Prelude.Compat
119import Prelude.Compat
121
120
122import Control.Applicative ((<|>))
121import Control.Applicative ((<|>))
Data/Aeson/Text.hs+2−1
@@ -1,4 +1,5 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
3-- |
4-- |
4-- Module: Data.Aeson.Text
5-- Module: Data.Aeson.Text
@@ -14,13 +15,13 @@
14--
15--
15-- You can use the conversions to 'Builder's when embedding JSON messages as
16-- You can use the conversions to 'Builder's when embedding JSON messages as
16-- parts of a protocol.
17-- parts of a protocol.
18+
17module Data.Aeson.Text
19module Data.Aeson.Text
18 (
20 (
19 encodeToLazyText
21 encodeToLazyText
20 , encodeToTextBuilder
22 , encodeToTextBuilder
21 ) where
23 ) where
22
24
23−import Prelude ()
24import Prelude.Compat
25import Prelude.Compat
25
26
26import Data.Aeson.Types (Value(..), ToJSON(..))
27import Data.Aeson.Types (Value(..), ToJSON(..))
Data/Aeson/Types.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1-- |
2-- |
2-- Module: Data.Aeson.Types
3-- Module: Data.Aeson.Types
3-- Copyright: (c) 2011-2016 Bryan O'Sullivan
4-- Copyright: (c) 2011-2016 Bryan O'Sullivan
@@ -124,7 +125,6 @@ module Data.Aeson.Types
124 , defaultTaggedObject
125 , defaultTaggedObject
125 ) where
126 ) where
126
127
127−import Prelude ()
128import Prelude.Compat
128import Prelude.Compat
129
129
130import Data.Aeson.Encoding (Encoding, unsafeToEncoding, fromEncoding, Series, pairs)
130import Data.Aeson.Encoding (Encoding, unsafeToEncoding, fromEncoding, Series, pairs)
Data/Aeson/Types/Class.hs+1−1
@@ -4,6 +4,7 @@
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE GADTs #-}
5{-# LANGUAGE GADTs #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
7+{-# LANGUAGE NoImplicitPrelude #-}
7{-# LANGUAGE ScopedTypeVariables #-}
8{-# LANGUAGE ScopedTypeVariables #-}
8{-# LANGUAGE TypeSynonymInstances #-}
9{-# LANGUAGE TypeSynonymInstances #-}
9
10
@@ -91,7 +92,6 @@ module Data.Aeson.Types.Class
91 , (.!=)
92 , (.!=)
92 ) where
93 ) where
93
94
94−import Prelude ()
95
95
96import Data.Aeson.Types.FromJSON
96import Data.Aeson.Types.FromJSON
97import Data.Aeson.Types.Generic (One, Zero)
97import Data.Aeson.Types.Generic (One, Zero)
Data/Aeson/Types/FromJSON.hs+1−1
@@ -6,6 +6,7 @@
6{-# LANGUAGE GADTs #-}
6{-# LANGUAGE GADTs #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE NamedFieldPuns #-}
8{-# LANGUAGE NamedFieldPuns #-}
9+{-# LANGUAGE NoImplicitPrelude #-}
9{-# LANGUAGE OverloadedStrings #-}
10{-# LANGUAGE OverloadedStrings #-}
10{-# LANGUAGE RecordWildCards #-}
11{-# LANGUAGE RecordWildCards #-}
11{-# LANGUAGE ScopedTypeVariables #-}
12{-# LANGUAGE ScopedTypeVariables #-}
@@ -76,7 +77,6 @@ module Data.Aeson.Types.FromJSON
76 , parseOptionalFieldWith
77 , parseOptionalFieldWith
77 ) where
78 ) where
78
79
79−import Prelude ()
80import Prelude.Compat
80import Prelude.Compat
81
81
82import Control.Applicative ((<|>), Const(..))
82import Control.Applicative ((<|>), Const(..))
Data/Aeson/Types/Generic.hs+1−1
@@ -5,6 +5,7 @@
5{-# LANGUAGE FunctionalDependencies #-}
5{-# LANGUAGE FunctionalDependencies #-}
6{-# LANGUAGE KindSignatures #-}
6{-# LANGUAGE KindSignatures #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8+{-# LANGUAGE NoImplicitPrelude #-}
8{-# LANGUAGE ScopedTypeVariables #-}
9{-# LANGUAGE ScopedTypeVariables #-}
9{-# LANGUAGE TypeOperators #-}
10{-# LANGUAGE TypeOperators #-}
10{-# LANGUAGE UndecidableInstances #-}
11{-# LANGUAGE UndecidableInstances #-}
@@ -36,7 +37,6 @@ module Data.Aeson.Types.Generic
36 , ProductSize(..)
37 , ProductSize(..)
37 ) where
38 ) where
38
39
39−import Prelude ()
40import Prelude.Compat
40import Prelude.Compat
41
41
42import GHC.Generics
42import GHC.Generics
Data/Aeson/Types/Internal.hs+2−3
@@ -2,6 +2,7 @@
2{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE DeriveDataTypeable #-}
3{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
5{-# LANGUAGE Rank2Types #-}
6{-# LANGUAGE Rank2Types #-}
6#if __GLASGOW_HASKELL__ >= 800
7#if __GLASGOW_HASKELL__ >= 800
7-- a) THQ works on cross-compilers and unregisterised GHCs
8-- a) THQ works on cross-compilers and unregisterised GHCs
@@ -74,7 +75,6 @@ module Data.Aeson.Types.Internal
74 , DotNetTime(..)
75 , DotNetTime(..)
75 ) where
76 ) where
76
77
77−import Prelude ()
78import Prelude.Compat
78import Prelude.Compat
79
79
80import Control.Applicative (Alternative(..))
80import Control.Applicative (Alternative(..))
@@ -331,8 +331,7 @@ instance Monoid (Parser a) where
331apP :: Parser (a -> b) -> Parser a -> Parser b
331apP :: Parser (a -> b) -> Parser a -> Parser b
332apP d e = do
332apP d e = do
333 b <- d
333 b <- d
334− a <- e
334+ b <$> e
335− return (b a)
336{-# INLINE apP #-}
335{-# INLINE apP #-}
337
336
338-- | A JSON \"object\" (key\/value map).
337-- | A JSON \"object\" (key\/value map).
Data/Aeson/Types/ToJSON.hs+1−1
@@ -7,6 +7,7 @@
7{-# LANGUAGE GADTs #-}
7{-# LANGUAGE GADTs #-}
8{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE MultiParamTypeClasses #-}
9{-# LANGUAGE NamedFieldPuns #-}
9{-# LANGUAGE NamedFieldPuns #-}
10+{-# LANGUAGE NoImplicitPrelude #-}
10{-# LANGUAGE OverloadedStrings #-}
11{-# LANGUAGE OverloadedStrings #-}
11{-# LANGUAGE PatternGuards #-}
12{-# LANGUAGE PatternGuards #-}
12{-# LANGUAGE RecordWildCards #-}
13{-# LANGUAGE RecordWildCards #-}
@@ -58,7 +59,6 @@ module Data.Aeson.Types.ToJSON
58 , listValue
59 , listValue
59 ) where
60 ) where
60
61
61−import Prelude ()
62import Prelude.Compat
62import Prelude.Compat
63
63
64import Control.Applicative (Const(..))
64import Control.Applicative (Const(..))
HLint.hs+1
@@ -9,3 +9,4 @@ ignore "Eta reduce"
9ignore "Functor law"
9ignore "Functor law"
10ignore "Use >=>"
10ignore "Use >=>"
11ignore "Use lambda-case"
11ignore "Use lambda-case"
12+ignore "Use $>"
attoparsec-iso8601/Data/Attoparsec/Time.hs+1−2
@@ -1,6 +1,6 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE ScopedTypeVariables #-}
3{-# LANGUAGE ScopedTypeVariables #-}
3−
4-- |
4-- |
5-- Module: Data.Aeson.Parser.Time
5-- Module: Data.Aeson.Parser.Time
6-- Copyright: (c) 2015-2016 Bryan O'Sullivan
6-- Copyright: (c) 2015-2016 Bryan O'Sullivan
@@ -21,7 +21,6 @@ module Data.Attoparsec.Time
21 , zonedTime
21 , zonedTime
22 ) where
22 ) where
23
23
24−import Prelude ()
25import Prelude.Compat
24import Prelude.Compat
26
25
27import Control.Applicative ((<|>))
26import Control.Applicative ((<|>))
attoparsec-iso8601/Data/Attoparsec/Time/Internal.hs+1−2
@@ -1,5 +1,5 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2−
2+{-# LANGUAGE NoImplicitPrelude #-}
3-- |
3-- |
4-- Module: Data.Aeson.Internal.Time
4-- Module: Data.Aeson.Internal.Time
5-- Copyright: (c) 2015-2016 Bryan O'Sullivan
5-- Copyright: (c) 2015-2016 Bryan O'Sullivan
@@ -17,7 +17,6 @@ module Data.Attoparsec.Time.Internal
17 , toTimeOfDay64
17 , toTimeOfDay64
18 ) where
18 ) where
19
19
20−import Prelude ()
21import Prelude.Compat
20import Prelude.Compat
22
21
23import Data.Int (Int64)
22import Data.Int (Int64)
benchmarks/AesonEncode.hs+1−1
@@ -1,9 +1,9 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
3
4
4module Main (main) where
5module Main (main) where
5
6
6−import Prelude ()
7import Prelude.Compat
7import Prelude.Compat
8
8
9import Control.DeepSeq
9import Control.DeepSeq
benchmarks/AesonFoldable.hs+1−1
@@ -1,10 +1,10 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
2
3
3module Main (main) where
4module Main (main) where
4
5
5import Criterion.Main
6import Criterion.Main
6
7
7−import Prelude ()
8import Prelude.Compat
8import Prelude.Compat
9
9
10import Data.Foldable (toList)
10import Data.Foldable (toList)
benchmarks/AesonMap.hs+1−1
@@ -1,11 +1,11 @@
1{-# LANGUAGE FlexibleContexts #-}
1{-# LANGUAGE FlexibleContexts #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE RankNTypes #-}
3{-# LANGUAGE RankNTypes #-}
3
4
4{-# OPTIONS_GHC -fno-warn-orphans #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
5
6
6module Main (main) where
7module Main (main) where
7
8
8−import Prelude ()
9import Prelude.Compat
9import Prelude.Compat
10
10
11import Control.DeepSeq
11import Control.DeepSeq
benchmarks/AesonParse.hs+1−1
@@ -1,9 +1,9 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
3
4
4module Main (main) where
5module Main (main) where
5
6
6−import Prelude ()
7import Prelude.Compat
7import Prelude.Compat
8
8
9import Data.Aeson
9import Data.Aeson
benchmarks/AesonTuples.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Main (main) where
3module Main (main) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Control.DeepSeq (deepseq)
7import Control.DeepSeq (deepseq)
benchmarks/Compare.hs+1−1
@@ -1,8 +1,8 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE ScopedTypeVariables #-}
2{-# LANGUAGE ScopedTypeVariables #-}
2
3
3module Main (main) where
4module Main (main) where
4
5
5−import Prelude ()
6import Prelude.Compat
6import Prelude.Compat
7
7
8import Compare.BufferBuilder ()
8import Compare.BufferBuilder ()
benchmarks/Compare/BufferBuilder.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE RecordWildCards #-}
3{-# LANGUAGE RecordWildCards #-}
3
4
@@ -6,7 +7,6 @@
6
7
7module Compare.BufferBuilder () where
8module Compare.BufferBuilder () where
8
9
9−import Prelude ()
10import Prelude.Compat hiding ((<>))
10import Prelude.Compat hiding ((<>))
11
11
12import Data.BufferBuilder.Json
12import Data.BufferBuilder.Json
benchmarks/Compare/JsonBench.hs+5−5
@@ -1,16 +1,16 @@
1−-- Adapted from a buffer-builder benchmark:
2−--
3−-- https://github.com/chadaustin/buffer-builder/blob/master/test.json
4−
5{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
6{-# LANGUAGE MagicHash #-}
2{-# LANGUAGE MagicHash #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
7{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
8{-# LANGUAGE RecordWildCards #-}
5{-# LANGUAGE RecordWildCards #-}
9{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE ScopedTypeVariables #-}
10
7
8+-- Adapted from a buffer-builder benchmark:
9+--
10+-- https://github.com/chadaustin/buffer-builder/blob/master/test.json
11+
11module Compare.JsonBench (benchmarks) where
12module Compare.JsonBench (benchmarks) where
12
13
13−import Prelude ()
14import Prelude.Compat hiding ((<>))
14import Prelude.Compat hiding ((<>))
15
15
16import Control.DeepSeq (NFData(..))
16import Control.DeepSeq (NFData(..))
benchmarks/Compare/JsonBuilder.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
2
3
3{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
4{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
@@ -5,7 +6,6 @@
5
6
6module Compare.JsonBuilder () where
7module Compare.JsonBuilder () where
7
8
8−import Prelude ()
9import Prelude.Compat hiding ((<>))
9import Prelude.Compat hiding ((<>))
10
10
11import Data.Json.Builder
11import Data.Json.Builder
benchmarks/CompareWithJSON.hs+2−1
@@ -1,8 +1,9 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1{-# OPTIONS_GHC -fno-warn-orphans #-}
3{-# OPTIONS_GHC -fno-warn-orphans #-}
2
4
3module Main (main) where
5module Main (main) where
4
6
5−import Prelude ()
6import Prelude.Compat
7import Prelude.Compat
7
8
8import Blaze.ByteString.Builder (toLazyByteString)
9import Blaze.ByteString.Builder (toLazyByteString)
benchmarks/Dates.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Main (main) where
3module Main (main) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Criterion.Main
7import Criterion.Main
benchmarks/Escape.hs+2−1
@@ -1,9 +1,10 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE ScopedTypeVariables #-}
2{-# LANGUAGE ScopedTypeVariables #-}
3+
2{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
4{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
3
5
4module Main (main) where
6module Main (main) where
5
7
6−import Prelude ()
7import Prelude.Compat
8import Prelude.Compat
8
9
9import Criterion.Main
10import Criterion.Main
benchmarks/JsonParse.hs+2−1
@@ -1,10 +1,11 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE ScopedTypeVariables #-}
3{-# LANGUAGE ScopedTypeVariables #-}
4+
3{-# OPTIONS_GHC -fno-warn-orphans #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
4
6
5module Main (main) where
7module Main (main) where
6
8
7−import Prelude ()
8import Prelude.Compat
9import Prelude.Compat
9
10
10import Control.DeepSeq
11import Control.DeepSeq
benchmarks/Micro.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Main (main) where
3module Main (main) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Criterion.Main
7import Criterion.Main
benchmarks/ReadFile.hs+1−1
@@ -1,9 +1,9 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
3
4
4module Main (main) where
5module Main (main) where
5
6
6−import Prelude ()
7import Prelude.Compat
7import Prelude.Compat
8
8
9import Control.DeepSeq
9import Control.DeepSeq
benchmarks/Typed.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Main (main) where
3module Main (main) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Criterion.Main
7import Criterion.Main
benchmarks/Typed/Common.hs+2−1
@@ -1,8 +1,9 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1{-# OPTIONS_GHC -fno-warn-unused-imports #-}
3{-# OPTIONS_GHC -fno-warn-unused-imports #-}
2
4
3module Typed.Common (load) where
5module Typed.Common (load) where
4
6
5−import Prelude ()
6import Prelude.Compat
7import Prelude.Compat
7
8
8import Data.ByteString.Lazy as L
9import Data.ByteString.Lazy as L
benchmarks/Typed/Generic.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Typed.Generic (benchmarks, decodeBenchmarks) where
3module Typed.Generic (benchmarks, decodeBenchmarks) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Data.Aeson hiding (Result)
7import Data.Aeson hiding (Result)
benchmarks/Typed/Manual.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Typed.Manual (benchmarks, decodeBenchmarks) where
3module Typed.Manual (benchmarks, decodeBenchmarks) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Data.Aeson hiding (Result)
7import Data.Aeson hiding (Result)
benchmarks/Typed/TH.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Typed.TH (benchmarks, decodeBenchmarks) where
3module Typed.TH (benchmarks, decodeBenchmarks) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Data.Aeson hiding (Result)
7import Data.Aeson hiding (Result)
examples/Generic.hs+1−1
@@ -6,11 +6,11 @@
6-- automatically derive the Generic class for us.
6-- automatically derive the Generic class for us.
7
7
8{-# LANGUAGE DeriveGeneric #-}
8{-# LANGUAGE DeriveGeneric #-}
9+{-# LANGUAGE NoImplicitPrelude #-}
9{-# LANGUAGE OverloadedStrings #-}
10{-# LANGUAGE OverloadedStrings #-}
10
11
11module Main (main) where
12module Main (main) where
12
13
13−import Prelude ()
14import Prelude.Compat
14import Prelude.Compat
15
15
16import Data.Aeson (FromJSON, ToJSON, decode, encode)
16import Data.Aeson (FromJSON, ToJSON, decode, encode)
examples/Simplest.hs+1−1
@@ -1,9 +1,9 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE RecordWildCards #-}
3{-# LANGUAGE RecordWildCards #-}
3
4
4module Main (main) where
5module Main (main) where
5
6
6−import Prelude ()
7import Prelude.Compat
7import Prelude.Compat
8
8
9import Control.Applicative (empty)
9import Control.Applicative (empty)
examples/TemplateHaskell.hs+1−1
@@ -1,12 +1,12 @@
1-- We can use Template Haskell (TH) to generate instances of the
1-- We can use Template Haskell (TH) to generate instances of the
2-- FromJSON and ToJSON classes automatically. This is the fastest way
2-- FromJSON and ToJSON classes automatically. This is the fastest way
3-- to add JSON support for a type.
3-- to add JSON support for a type.
4+{-# LANGUAGE NoImplicitPrelude #-}
4{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE TemplateHaskell #-}
6{-# LANGUAGE TemplateHaskell #-}
6
7
7module Main (main) where
8module Main (main) where
8
9
9−import Prelude ()
10import Prelude.Compat
10import Prelude.Compat
11
11
12import Data.Aeson (decode, encode)
12import Data.Aeson (decode, encode)
examples/Twitter.hs+1−1
@@ -10,6 +10,7 @@
10
10
11{-# LANGUAGE DeriveDataTypeable #-}
11{-# LANGUAGE DeriveDataTypeable #-}
12{-# LANGUAGE DeriveGeneric #-}
12{-# LANGUAGE DeriveGeneric #-}
13+{-# LANGUAGE NoImplicitPrelude #-}
13
14
14module Twitter
15module Twitter
15 (
16 (
@@ -19,7 +20,6 @@ module Twitter
19 , Result(..)
20 , Result(..)
20 ) where
21 ) where
21
22
22−import Prelude ()
23import Prelude.Compat
23import Prelude.Compat
24
24
25import Control.DeepSeq
25import Control.DeepSeq
examples/Twitter/Generic.hs+2−1
@@ -1,5 +1,7 @@
1-- Use GHC generics to automatically generate good instances.
1-- Use GHC generics to automatically generate good instances.
2
2
3+{-# LANGUAGE NoImplicitPrelude #-}
4+
3{-# OPTIONS_GHC -fno-warn-orphans #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
4
6
5module Twitter.Generic
7module Twitter.Generic
@@ -10,7 +12,6 @@ module Twitter.Generic
10 , Result(..)
12 , Result(..)
11 ) where
13 ) where
12
14
13−import Prelude ()
14import Prelude.Compat ()
15import Prelude.Compat ()
15
16
16import Twitter
17import Twitter
examples/Twitter/Manual.hs+2−2
@@ -1,7 +1,8 @@
1-- Manually write instances.
1-- Manually write instances.
2−
2+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE RecordWildCards #-}
4{-# LANGUAGE RecordWildCards #-}
5+
5{-# OPTIONS_GHC -fno-warn-orphans #-}
6{-# OPTIONS_GHC -fno-warn-orphans #-}
6
7
7module Twitter.Manual
8module Twitter.Manual
@@ -12,7 +13,6 @@ module Twitter.Manual
12 , Result(..)
13 , Result(..)
13 ) where
14 ) where
14
15
15−import Prelude ()
16import Prelude.Compat
16import Prelude.Compat
17
17
18import Control.Applicative
18import Control.Applicative
examples/Twitter/TH.hs+2−1
@@ -1,6 +1,8 @@
1-- Use Template Haskell to generate good instances.
1-- Use Template Haskell to generate good instances.
2
2
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE TemplateHaskell #-}
4{-# LANGUAGE TemplateHaskell #-}
5+
4{-# OPTIONS_GHC -fno-warn-orphans #-}
6{-# OPTIONS_GHC -fno-warn-orphans #-}
5
7
6module Twitter.TH
8module Twitter.TH
@@ -11,7 +13,6 @@ module Twitter.TH
11 , Result(..)
13 , Result(..)
12 ) where
14 ) where
13
15
14−import Prelude ()
15
16
16import Twitter
17import Twitter
17import Twitter.Options
18import Twitter.Options
tests/DataFamilies/Encoders.hs+1−1
@@ -1,10 +1,10 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE GADTs #-}
2{-# LANGUAGE GADTs #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE TemplateHaskell #-}
4{-# LANGUAGE TemplateHaskell #-}
4
5
5module DataFamilies.Encoders (module DataFamilies.Encoders) where
6module DataFamilies.Encoders (module DataFamilies.Encoders) where
6
7
7−import Prelude ()
8import Prelude.Compat
8import Prelude.Compat
9
9
10import Data.Aeson.TH
10import Data.Aeson.TH
tests/DataFamilies/Instances.hs+2−1
@@ -1,12 +1,13 @@
1{-# LANGUAGE FlexibleInstances #-}
1{-# LANGUAGE FlexibleInstances #-}
2{-# LANGUAGE GADTs #-}
2{-# LANGUAGE GADTs #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE TemplateHaskell #-}
4{-# LANGUAGE TemplateHaskell #-}
4{-# LANGUAGE TypeFamilies #-}
5{-# LANGUAGE TypeFamilies #-}
6+
5{-# OPTIONS_GHC -fno-warn-orphans #-}
7{-# OPTIONS_GHC -fno-warn-orphans #-}
6
8
7module DataFamilies.Instances () where
9module DataFamilies.Instances () where
8
10
9−import Prelude ()
10import Prelude.Compat
11import Prelude.Compat
11
12
12import Data.Aeson.TH
13import Data.Aeson.TH
tests/DataFamilies/Properties.hs+1−1
@@ -1,8 +1,8 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2+{-# LANGUAGE NoImplicitPrelude #-}
2
3
3module DataFamilies.Properties (tests) where
4module DataFamilies.Properties (tests) where
4
5
5−import Prelude ()
6import Prelude.Compat
6import Prelude.Compat
7
7
8import DataFamilies.Encoders
8import DataFamilies.Encoders
tests/DataFamilies/Types.hs+1−1
@@ -4,13 +4,13 @@
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE GADTs #-}
5{-# LANGUAGE GADTs #-}
6{-# LANGUAGE GeneralizedNewtypeDeriving #-}
6{-# LANGUAGE GeneralizedNewtypeDeriving #-}
7+{-# LANGUAGE NoImplicitPrelude #-}
7{-# LANGUAGE StandaloneDeriving #-}
8{-# LANGUAGE StandaloneDeriving #-}
8{-# LANGUAGE TemplateHaskell #-}
9{-# LANGUAGE TemplateHaskell #-}
9{-# LANGUAGE TypeFamilies #-}
10{-# LANGUAGE TypeFamilies #-}
10
11
11module DataFamilies.Types (module DataFamilies.Types) where
12module DataFamilies.Types (module DataFamilies.Types) where
12
13
13−import Prelude ()
14import Prelude.Compat
14import Prelude.Compat
15
15
16import Generics.Deriving.TH (deriveAll0)
16import Generics.Deriving.TH (deriveAll0)
tests/Encoders.hs+1−1
@@ -1,10 +1,10 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE GADTs #-}
2{-# LANGUAGE GADTs #-}
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE TemplateHaskell #-}
4{-# LANGUAGE TemplateHaskell #-}
4
5
5module Encoders (module Encoders) where
6module Encoders (module Encoders) where
6
7
7−import Prelude ()
8import Prelude.Compat
8import Prelude.Compat
9
9
10import Data.Aeson.TH
10import Data.Aeson.TH
tests/ErrorMessages.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE ScopedTypeVariables #-}
3{-# LANGUAGE ScopedTypeVariables #-}
3
4
@@ -6,7 +7,6 @@ module ErrorMessages
6 tests
7 tests
7 ) where
8 ) where
8
9
9−import Prelude ()
10import Prelude.Compat
10import Prelude.Compat
11
11
12import Data.Aeson (FromJSON(..), eitherDecode)
12import Data.Aeson (FromJSON(..), eitherDecode)
tests/Functions.hs+2−1
@@ -1,10 +1,11 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Functions
3module Functions
2 (
4 (
3 approxEq
5 approxEq
4 , approxEqWith
6 , approxEqWith
5 ) where
7 ) where
6
8
7−import Prelude ()
8import Prelude.Compat
9import Prelude.Compat
9
10
10approxEq :: (Fractional a, Ord a) => a -> a -> Bool
11approxEq :: (Fractional a, Ord a) => a -> a -> Bool
tests/Instances.hs+2−1
@@ -1,13 +1,14 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE FlexibleContexts #-}
3{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE FlexibleInstances #-}
4+{-# LANGUAGE NoImplicitPrelude #-}
4{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE RecordWildCards #-}
6{-# LANGUAGE RecordWildCards #-}
7+
6{-# OPTIONS_GHC -fno-warn-orphans #-}
8{-# OPTIONS_GHC -fno-warn-orphans #-}
7
9
8module Instances () where
10module Instances () where
9
11
10−import Prelude ()
11import Prelude.Compat
12import Prelude.Compat
12
13
13import Control.Applicative (empty)
14import Control.Applicative (empty)
tests/JSONTestSuite/parsers/test_haskell-aeson/testaeson.cabal+5−3
@@ -1,6 +1,8 @@
1−-- This file has been generated from package.yaml by hpack version 0.14.0.
1+-- This file has been generated from package.yaml by hpack version 0.28.2.
2--
2--
3-- see: https://github.com/sol/hpack
3-- see: https://github.com/sol/hpack
4+--
5+-- hash: 716ef4c3e64849526f097b85ed05015e0072c2e2afcc1f91e58d8bea68b123b2
4
6
5name: testaeson
7name: testaeson
6version: 0.0.0
8version: 0.0.0
@@ -12,8 +14,8 @@ executable testaeson
12 hs-source-dirs:
14 hs-source-dirs:
13 src
15 src
14 build-depends:
16 build-depends:
17+ aeson
15− base >= 4.7 && < 5
18+ , base >=4.7 && <5
16− , aeson
17 , base-prelude
19 , base-prelude
18 , bytestring
20 , bytestring
19 default-language: Haskell2010
21 default-language: Haskell2010
tests/Options.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Options (module Options) where
3module Options (module Options) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Data.Aeson.Types
7import Data.Aeson.Types
tests/Properties.hs+1−1
@@ -1,12 +1,12 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE FlexibleContexts #-} -- For arbitrary Compose
2{-# LANGUAGE FlexibleContexts #-} -- For arbitrary Compose
3+{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE RankNTypes #-}
5{-# LANGUAGE RankNTypes #-}
5{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE ScopedTypeVariables #-}
6
7
7module Properties (module Properties) where
8module Properties (module Properties) where
8
9
9−import Prelude ()
10import Prelude.Compat
10import Prelude.Compat
11
11
12import Control.Applicative (Const)
12import Control.Applicative (Const)
tests/SerializationFormatSpec.hs+1−1
@@ -1,6 +1,7 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE GADTs #-}
3{-# LANGUAGE GADTs #-}
4+{-# LANGUAGE NoImplicitPrelude #-}
4{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
5#if __GLASGOW_HASKELL__ >= 708
6#if __GLASGOW_HASKELL__ >= 708
6{-# LANGUAGE DataKinds #-}
7{-# LANGUAGE DataKinds #-}
@@ -15,7 +16,6 @@ module SerializationFormatSpec
15 tests
16 tests
16 ) where
17 ) where
17
18
18−import Prelude ()
19import Prelude.Compat
19import Prelude.Compat
20
20
21import Control.Applicative (Const(..))
21import Control.Applicative (Const(..))
tests/Tests.hs+2−1
@@ -1,6 +1,7 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+
1module Main (main) where
3module Main (main) where
2
4
3−import Prelude ()
4import Prelude.Compat
5import Prelude.Compat
5
6
6import Test.Tasty (defaultMain, testGroup)
7import Test.Tasty (defaultMain, testGroup)
tests/Types.hs+4−3
@@ -4,15 +4,16 @@
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE GADTs #-}
5{-# LANGUAGE GADTs #-}
6{-# LANGUAGE GeneralizedNewtypeDeriving #-}
6{-# LANGUAGE GeneralizedNewtypeDeriving #-}
7−{-# LANGUAGE StandaloneDeriving #-}
7+{-# LANGUAGE NoImplicitPrelude #-}
8{-# LANGUAGE ScopedTypeVariables #-}
8{-# LANGUAGE ScopedTypeVariables #-}
9+{-# LANGUAGE StandaloneDeriving #-}
9
10
10module Types (module Types) where
11module Types (module Types) where
11
12
12−import Prelude ()
13import Prelude.Compat
13import Prelude.Compat
14
14
15import Math.NumberTheory.Logarithms (intLog2)
15import Math.NumberTheory.Logarithms (intLog2)
16+import Control.Applicative ((<$>))
16import Data.Data
17import Data.Data
17import Data.Functor.Compose (Compose (..))
18import Data.Functor.Compose (Compose (..))
18import Data.Functor.Identity (Identity (..))
19import Data.Functor.Identity (Identity (..))
@@ -152,7 +153,7 @@ instance Hashable a => Hashable (LogScaled a) where
152 hashWithSalt salt (LogScaled a) = hashWithSalt salt a
153 hashWithSalt salt (LogScaled a) = hashWithSalt salt a
153
154
154instance Arbitrary a => Arbitrary (LogScaled a) where
155instance Arbitrary a => Arbitrary (LogScaled a) where
155− arbitrary = fmap LogScaled $ scale (\x -> intLog2 $ x + 1) arbitrary
156+ arbitrary = LogScaled <$> scale (\x -> intLog2 $ x + 1) arbitrary
156 shrink = fmap LogScaled . shrink . getLogScaled
157 shrink = fmap LogScaled . shrink . getLogScaled
157
158
158instance ToJSON a => ToJSON (LogScaled a) where
159instance ToJSON a => ToJSON (LogScaled a) where
tests/UnitTests.hs+1−1
@@ -1,6 +1,7 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4+{-# LANGUAGE NoImplicitPrelude #-}
4{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE TemplateHaskell #-}
7{-# LANGUAGE TemplateHaskell #-}
@@ -19,7 +20,6 @@ module UnitTests
19 , withEmbeddedJSONTest
20 , withEmbeddedJSONTest
20 ) where
21 ) where
21
22
22−import Prelude ()
23import Prelude.Compat
23import Prelude.Compat
24
24
25import Control.Monad (forM, forM_)
25import Control.Monad (forM, forM_)
tests/UnitTests/NullaryConstructors.hs+2−2
@@ -1,4 +1,5 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
1−{-# LANGUAGE OverloadedStrings #-}
2+{-# LANGUAGE OverloadedStrings #-}
2
3
3{-# OPTIONS_GHC -fno-warn-deprecations #-}
4{-# OPTIONS_GHC -fno-warn-deprecations #-}
4
5
@@ -7,7 +8,6 @@ module UnitTests.NullaryConstructors
7 nullaryConstructors
8 nullaryConstructors
8 ) where
9 ) where
9
10
10−import Prelude ()
11import Prelude.Compat
11import Prelude.Compat
12
12
13import Data.Aeson (decode, eitherDecode, fromEncoding, Value)
13import Data.Aeson (decode, eitherDecode, fromEncoding, Value)