git.iko.soy/typeable/servant
on master help sign in
Merge pull request #404 from haskell-servant/base-compat
da1bebaJulian Arni
servant-js/servant-js.cabal+2
@@ -42,6 +42,7 @@ library
42 Servant.JS.JQuery
42 Servant.JS.JQuery
43 Servant.JS.Vanilla
43 Servant.JS.Vanilla
44 build-depends: base >= 4.5 && <5
44 build-depends: base >= 4.5 && <5
45+ , base-compat >= 0.9
45 , charset >= 0.3
46 , charset >= 0.3
46 , lens >= 4
47 , lens >= 4
47 , servant-foreign == 0.5.*
48 , servant-foreign == 0.5.*
@@ -83,6 +84,7 @@ test-suite spec
83 Servant.JSSpec
84 Servant.JSSpec
84 Servant.JSSpec.CustomHeaders
85 Servant.JSSpec.CustomHeaders
85 build-depends: base
86 build-depends: base
87+ , base-compat
86 , hspec >= 2.1.8
88 , hspec >= 2.1.8
87 , hspec-expectations
89 , hspec-expectations
88 , language-ecmascript >= 0.16
90 , language-ecmascript >= 0.16
servant-js/test/Servant/JSSpec.hs+5−6
@@ -1,4 +1,3 @@
1−{-# LANGUAGE CPP #-}
2{-# LANGUAGE DataKinds #-}
1{-# LANGUAGE DataKinds #-}
3{-# LANGUAGE FlexibleInstances #-}
2{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE QuasiQuotes #-}
3{-# LANGUAGE QuasiQuotes #-}
@@ -7,18 +6,18 @@
7{-# LANGUAGE TypeOperators #-}
6{-# LANGUAGE TypeOperators #-}
8{-# LANGUAGE OverloadedStrings #-}
7{-# LANGUAGE OverloadedStrings #-}
9{-# OPTIONS_GHC -fno-warn-orphans #-}
8{-# OPTIONS_GHC -fno-warn-orphans #-}
9+
10module Servant.JSSpec where
10module Servant.JSSpec where
11
11
12import Data.Either (isRight)
12import Data.Either (isRight)
13−#if !MIN_VERSION_base(4,8,0)
14−import Data.Monoid ((<>),mconcat)
13+import Data.Monoid ()
15−#else
16−import Data.Monoid ((<>))
14+import Data.Monoid.Compat ((<>))
17−#endif
18import Data.Proxy
15import Data.Proxy
19import Data.Text (Text)
16import Data.Text (Text)
20import qualified Data.Text as T
17import qualified Data.Text as T
21import Language.ECMAScript3.Parser (program, parse)
18import Language.ECMAScript3.Parser (program, parse)
19+import Prelude ()
20+import Prelude.Compat
22import Test.Hspec hiding (shouldContain, shouldNotContain)
21import Test.Hspec hiding (shouldContain, shouldNotContain)
23
22
24import Servant.API.Internal.Test.ComprehensiveAPI
23import Servant.API.Internal.Test.ComprehensiveAPI
servant-server/servant-server.cabal+1
@@ -47,6 +47,7 @@ library
47 Servant.Utils.StaticFiles
47 Servant.Utils.StaticFiles
48 build-depends:
48 build-depends:
49 base >= 4.7 && < 5
49 base >= 4.7 && < 5
50+ , base-compat >= 0.9
50 , aeson >= 0.7 && < 0.12
51 , aeson >= 0.7 && < 0.12
51 , attoparsec >= 0.12 && < 0.14
52 , attoparsec >= 0.12 && < 0.14
52 , base64-bytestring == 1.0.*
53 , base64-bytestring == 1.0.*
servant-server/src/Servant/Server/Internal.hs+2−3
@@ -22,9 +22,6 @@ module Servant.Server.Internal
22 , module Servant.Server.Internal.ServantErr
22 , module Servant.Server.Internal.ServantErr
23 ) where
23 ) where
24
24
25−#if !MIN_VERSION_base(4,8,0)
26−import Control.Applicative ((<$>))
27−#endif
28import Control.Monad.Trans.Except (ExceptT)
25import Control.Monad.Trans.Except (ExceptT)
29import qualified Data.ByteString as B
26import qualified Data.ByteString as B
30import qualified Data.ByteString.Char8 as BC8
27import qualified Data.ByteString.Char8 as BC8
@@ -45,6 +42,8 @@ import Network.Wai (Application, Request, Response,
45 rawQueryString, remoteHost,
42 rawQueryString, remoteHost,
46 requestHeaders, requestMethod,
43 requestHeaders, requestMethod,
47 responseLBS, vault)
44 responseLBS, vault)
45+import Prelude ()
46+import Prelude.Compat
48import Web.HttpApiData (FromHttpApiData)
47import Web.HttpApiData (FromHttpApiData)
49import Web.HttpApiData.Internal (parseHeaderMaybe,
48import Web.HttpApiData.Internal (parseHeaderMaybe,
50 parseQueryParamMaybe,
49 parseQueryParamMaybe,
servant-server/src/Servant/Server/Internal/Enter.hs+3−3
@@ -10,9 +10,6 @@
10{-# LANGUAGE UndecidableInstances #-}
10{-# LANGUAGE UndecidableInstances #-}
11module Servant.Server.Internal.Enter where
11module Servant.Server.Internal.Enter where
12
12
13−#if !MIN_VERSION_base(4,8,0)
14−import Control.Applicative
15−#endif
16import qualified Control.Category as C
13import qualified Control.Category as C
17#if MIN_VERSION_mtl(2,2,1)
14#if MIN_VERSION_mtl(2,2,1)
18import Control.Monad.Except
15import Control.Monad.Except
@@ -25,6 +22,9 @@ import qualified Control.Monad.State.Strict as SState
25import qualified Control.Monad.Writer.Lazy as LWriter
22import qualified Control.Monad.Writer.Lazy as LWriter
26import qualified Control.Monad.Writer.Strict as SWriter
23import qualified Control.Monad.Writer.Strict as SWriter
27import Data.Typeable
24import Data.Typeable
25+import Prelude ()
26+import Prelude.Compat
27+
28import Servant.API
28import Servant.API
29
29
30class Enter typ arg ret | typ arg -> ret, typ ret -> arg where
30class Enter typ arg ret | typ arg -> ret, typ ret -> arg where
servant-server/src/Servant/Server/Internal/RoutingApplication.hs+2−3
@@ -8,12 +8,11 @@
8{-# LANGUAGE StandaloneDeriving #-}
8{-# LANGUAGE StandaloneDeriving #-}
9module Servant.Server.Internal.RoutingApplication where
9module Servant.Server.Internal.RoutingApplication where
10
10
11−#if !MIN_VERSION_base(4,8,0)
12−import Control.Applicative ((<$>))
13−#endif
14import Control.Monad.Trans.Except (ExceptT, runExceptT)
11import Control.Monad.Trans.Except (ExceptT, runExceptT)
15import Network.Wai (Application, Request,
12import Network.Wai (Application, Request,
16 Response, ResponseReceived)
13 Response, ResponseReceived)
14+import Prelude ()
15+import Prelude.Compat
17import Servant.Server.Internal.ServantErr
16import Servant.Server.Internal.ServantErr
18
17
19type RoutingApplication =
18type RoutingApplication =
servant/servant.cabal+1
@@ -47,6 +47,7 @@ library
47 Servant.Utils.Links
47 Servant.Utils.Links
48 build-depends:
48 build-depends:
49 base >=4.7 && <5
49 base >=4.7 && <5
50+ , base-compat >= 0.9
50 , aeson >= 0.7
51 , aeson >= 0.7
51 , attoparsec >= 0.12
52 , attoparsec >= 0.12
52 , bytestring == 0.10.*
53 , bytestring == 0.10.*
servant/src/Servant/API/Alternative.hs+3−5
@@ -9,12 +9,10 @@
9{-# OPTIONS_HADDOCK not-home #-}
9{-# OPTIONS_HADDOCK not-home #-}
10module Servant.API.Alternative ((:<|>)(..)) where
10module Servant.API.Alternative ((:<|>)(..)) where
11
11
12−#if !MIN_VERSION_base(4,8,0)
13−import Data.Monoid (Monoid (..))
14−import Data.Traversable (Traversable)
15−import Data.Foldable (Foldable)
16−#endif
17import Data.Typeable (Typeable)
12import Data.Typeable (Typeable)
13+import Prelude ()
14+import Prelude.Compat
15+
18-- | Union of two APIs, first takes precedence in case of overlap.
16-- | Union of two APIs, first takes precedence in case of overlap.
19--
17--
20-- Example:
18-- Example:
servant/src/Servant/API/ContentTypes.hs+4−5
@@ -72,11 +72,8 @@ module Servant.API.ContentTypes
72 , canHandleAcceptH
72 , canHandleAcceptH
73 ) where
73 ) where
74
74
75−#if !MIN_VERSION_base(4,8,0)
76−import Control.Applicative ((*>), (<*))
77−#endif
78import Control.Arrow (left)
75import Control.Arrow (left)
79−import Control.Monad
76+import Control.Monad.Compat
80import Data.Aeson (FromJSON(..), ToJSON(..), encode)
77import Data.Aeson (FromJSON(..), ToJSON(..), encode)
81import Data.Aeson.Parser (value)
78import Data.Aeson.Parser (value)
82import Data.Aeson.Types (parseEither)
79import Data.Aeson.Types (parseEither)
@@ -88,7 +85,7 @@ import Data.ByteString.Lazy (ByteString, fromStrict,
88import qualified Data.ByteString.Lazy as B
85import qualified Data.ByteString.Lazy as B
89import qualified Data.ByteString.Lazy.Char8 as BC
86import qualified Data.ByteString.Lazy.Char8 as BC
90import Data.Maybe (isJust)
87import Data.Maybe (isJust)
91−import Data.Monoid
88+import Data.Monoid.Compat
92import Data.String.Conversions (cs)
89import Data.String.Conversions (cs)
93import qualified Data.Text as TextS
90import qualified Data.Text as TextS
94import qualified Data.Text.Encoding as TextS
91import qualified Data.Text.Encoding as TextS
@@ -99,6 +96,8 @@ import GHC.Generics (Generic)
99import qualified Network.HTTP.Media as M
96import qualified Network.HTTP.Media as M
100import Network.URI (escapeURIString,
97import Network.URI (escapeURIString,
101 isUnreserved, unEscapeString)
98 isUnreserved, unEscapeString)
99+import Prelude ()
100+import Prelude.Compat
102
101
103-- * Provided content types
102-- * Provided content types
104data JSON deriving Typeable
103data JSON deriving Typeable
servant/src/Servant/API/ResponseHeaders.hs+2−3
@@ -30,9 +30,6 @@ module Servant.API.ResponseHeaders
30 , HList(..)
30 , HList(..)
31 ) where
31 ) where
32
32
33−#if !MIN_VERSION_base(4,8,0)
34−import Control.Applicative ((<$>))
35−#endif
36import Data.ByteString.Char8 as BS (pack, unlines, init)
33import Data.ByteString.Char8 as BS (pack, unlines, init)
37import Data.ByteString.Conversion (ToByteString, toByteString',
34import Data.ByteString.Conversion (ToByteString, toByteString',
38 FromByteString, fromByteString)
35 FromByteString, fromByteString)
@@ -42,6 +39,8 @@ import GHC.TypeLits (KnownSymbol, symbolVal)
42import qualified Network.HTTP.Types.Header as HTTP
39import qualified Network.HTTP.Types.Header as HTTP
43
40
44import Servant.API.Header (Header (..))
41import Servant.API.Header (Header (..))
42+import Prelude ()
43+import Prelude.Compat
45
44
46-- | Response Header objects. You should never need to construct one directly.
45-- | Response Header objects. You should never need to construct one directly.
47-- Instead, use 'addHeader'.
46-- Instead, use 'addHeader'.
servant/src/Servant/Utils/Links.hs+9−12
@@ -1,4 +1,3 @@
1−{-# LANGUAGE CPP #-}
2{-# LANGUAGE ConstraintKinds #-}
1{-# LANGUAGE ConstraintKinds #-}
3{-# LANGUAGE DataKinds #-}
2{-# LANGUAGE DataKinds #-}
4{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE FlexibleInstances #-}
@@ -101,18 +100,16 @@ module Servant.Utils.Links (
101 , Or
100 , Or
102) where
101) where
103
102
104−import Data.List
105−import Data.Proxy ( Proxy(..) )
106−import qualified Data.Text as Text
107import qualified Data.ByteString.Char8 as BSC
103import qualified Data.ByteString.Char8 as BSC
108−#if !MIN_VERSION_base(4,8,0)
104+import Data.List
109−import Data.Monoid ( Monoid(..), (<>) )
105+import Data.Monoid.Compat ( (<>) )
110−#else
111−import Data.Monoid ( (<>) )
106+import Data.Proxy ( Proxy(..) )
112−#endif
107+import qualified Data.Text as Text
113−import Network.URI ( URI(..), escapeURIString, isUnreserved )
108+import GHC.Exts (Constraint)
114−import GHC.TypeLits ( KnownSymbol, symbolVal )
109+import GHC.TypeLits ( KnownSymbol, symbolVal )
115−import GHC.Exts(Constraint)
110+import Network.URI ( URI(..), escapeURIString, isUnreserved )
111+import Prelude ()
112+import Prelude.Compat
116
113
117import Web.HttpApiData
114import Web.HttpApiData
118import Servant.API.Capture ( Capture )
115import Servant.API.Capture ( Capture )
stack-ghc-7.8.4.yaml+1
@@ -12,6 +12,7 @@ packages:
12- servant-mock/
12- servant-mock/
13- servant-server/
13- servant-server/
14extra-deps:
14extra-deps:
15+- base-compat-0.9.0
15- hspec-2.2.0
16- hspec-2.2.0
16- hspec-core-2.2.0
17- hspec-core-2.2.0
17- hspec-discover-2.2.0
18- hspec-discover-2.2.0
stack.yaml+1
@@ -14,6 +14,7 @@ packages:
14- servant-mock/
14- servant-mock/
15- servant-server/
15- servant-server/
16extra-deps:
16extra-deps:
17+- base-compat-0.9.0
17- engine-io-wai-1.0.2
18- engine-io-wai-1.0.2
18- control-monad-omega-0.3.1
19- control-monad-omega-0.3.1
19- should-not-typecheck-2.0.1
20- should-not-typecheck-2.0.1