git.iko.soy/typeable/postgresql-simple
on master help sign in
Merge pull request #14 from phadej/monad-fail
685ba2bOleg Grenrus
.travis.yml+21−3
@@ -4,7 +4,7 @@
4#
4#
5# For more information, see https://github.com/haskell-CI/haskell-ci
5# For more information, see https://github.com/haskell-CI/haskell-ci
6#
6#
7−# version: 0.3.20190326
7+# version: 0.3.20190425
8#
8#
9language: c
9language: c
10dist: xenial
10dist: xenial
@@ -33,8 +33,11 @@ before_cache:
33 - rm -rfv $CABALHOME/packages/head.hackage
33 - rm -rfv $CABALHOME/packages/head.hackage
34matrix:
34matrix:
35 include:
35 include:
36− - compiler: ghc-8.6.4
36+ - compiler: ghc-8.8.1
37+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}}
38+ env: GHCHEAD=true
39+ - compiler: ghc-8.6.5
37− addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.4","cabal-install-2.4"]}}
40+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
38 - compiler: ghc-8.4.4
41 - compiler: ghc-8.4.4
39 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}
42 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}
40 - compiler: ghc-8.2.2
43 - compiler: ghc-8.2.2
@@ -47,6 +50,8 @@ matrix:
47 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.8.4","cabal-install-2.4"]}}
50 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.8.4","cabal-install-2.4"]}}
48 - compiler: ghc-7.6.3
51 - compiler: ghc-7.6.3
49 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.6.3","cabal-install-2.4"]}}
52 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.6.3","cabal-install-2.4"]}}
53+ allow_failures:
54+ - compiler: ghc-8.8.1
50before_install:
55before_install:
51 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
56 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
52 - HCPKG="$HC-pkg"
57 - HCPKG="$HC-pkg"
@@ -92,12 +97,25 @@ install:
92 echo "world-file: $CABALHOME/world" >> $CABALHOME/config
97 echo "world-file: $CABALHOME/world" >> $CABALHOME/config
93 echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
98 echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
94 echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
99 echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
100+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
95 echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
101 echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
96 echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
102 echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
97 echo "install-dirs user" >> $CABALHOME/config
103 echo "install-dirs user" >> $CABALHOME/config
98 echo " prefix: $CABALHOME" >> $CABALHOME/config
104 echo " prefix: $CABALHOME" >> $CABALHOME/config
99 echo "repository hackage.haskell.org" >> $CABALHOME/config
105 echo "repository hackage.haskell.org" >> $CABALHOME/config
100 echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
106 echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
107+ - |
108+ if $GHCHEAD; then
109+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config
110+
111+ echo "repository head.hackage" >> $CABALHOME/config
112+ echo " url: http://head.hackage.haskell.org/" >> $CABALHOME/config
113+ echo " secure: True" >> $CABALHOME/config
114+ echo " root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740" >> $CABALHOME/config
115+ echo " 2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb" >> $CABALHOME/config
116+ echo " 8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e" >> $CABALHOME/config
117+ echo " key-threshold: 3" >> $CABALHOME/config
118+ fi
101 - cat $CABALHOME/config
119 - cat $CABALHOME/config
102 - rm -fv cabal.project cabal.project.local cabal.project.freeze
120 - rm -fv cabal.project cabal.project.local cabal.project.freeze
103 - travis_retry ${CABAL} v2-update -v
121 - travis_retry ${CABAL} v2-update -v
CHANGES.md+4
@@ -1,3 +1,7 @@
1+### Version 0.6.2 (2019-04-26)
2+
3+ * Define `MonadFail Ok`.
4+
1### Version 0.6.1 (2019-03-04)
5### Version 0.6.1 (2019-03-04)
2
6
3 * Escape double '??' to a literal '?
7 * Escape double '??' to a literal '?
postgresql-simple.cabal+5−3
@@ -1,6 +1,6 @@
1Cabal-version: 1.12
1Cabal-version: 1.12
2Name: postgresql-simple
2Name: postgresql-simple
3−Version: 0.6.1
3+Version: 0.6.2
4
4
5Synopsis: Mid-Level PostgreSQL client library
5Synopsis: Mid-Level PostgreSQL client library
6Description:
6Description:
@@ -28,7 +28,8 @@ tested-with:
28 || == 8.0.2
28 || == 8.0.2
29 || == 8.2.2
29 || == 8.2.2
30 || == 8.4.4
30 || == 8.4.4
31− || == 8.6.4
31+ || == 8.6.5
32+ || == 8.8.1
32
33
33Library
34Library
34 default-language: Haskell2010
35 default-language: Haskell2010
@@ -97,7 +98,8 @@ Library
97
98
98 if !impl(ghc >= 8.0)
99 if !impl(ghc >= 8.0)
99 Build-depends:
100 Build-depends:
101+ fail >=4.9.0.0 && <4.10,
100− semigroups >=0.18.5 && <0.19
102+ semigroups >=0.18.5 && <0.19
101
103
102 if !impl(ghc >= 7.6)
104 if !impl(ghc >= 7.6)
103 Build-depends:
105 Build-depends:
src/Database/PostgreSQL/Simple/Ok.hs+7
@@ -37,6 +37,8 @@ import Control.Exception
37import Control.Monad(MonadPlus(..))
37import Control.Monad(MonadPlus(..))
38import Data.Typeable
38import Data.Typeable
39
39
40+import qualified Control.Monad.Fail as Fail
41+
40-- FIXME: [SomeException] should probably be something else, maybe
42-- FIXME: [SomeException] should probably be something else, maybe
41-- a difference list (or a tree?)
43-- a difference list (or a tree?)
42
44
@@ -77,6 +79,11 @@ instance Monad Ok where
77 Errors es >>= _ = Errors es
79 Errors es >>= _ = Errors es
78 Ok a >>= f = f a
80 Ok a >>= f = f a
79
81
82+#if !(MIN_VERSION_base(4,13,0))
83+ fail = Fail.fail
84+#endif
85+
86+instance Fail.MonadFail Ok where
80 fail str = Errors [SomeException (ErrorCall str)]
87 fail str = Errors [SomeException (ErrorCall str)]
81
88
82-- | a way to reify a list of exceptions into a single exception
89-- | a way to reify a list of exceptions into a single exception