Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-transformers-compat for
openSUSE:Factory checked in at 2021-08-25 20:57:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-transformers-compat (Old)
and /work/SRC/openSUSE:Factory/.ghc-transformers-compat.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-transformers-compat"
Wed Aug 25 20:57:12 2021 rev:16 rq:912639 version:0.7
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-transformers-compat/ghc-transformers-compat.changes
2020-12-22 11:48:02.313938974 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-transformers-compat.new.1899/ghc-transformers-compat.changes
2021-08-25 20:58:17.401154748 +0200
@@ -1,0 +2,15 @@
+Tue Jul 27 07:52:46 UTC 2021 - [email protected]
+
+- Update transformers-compat to version 0.7.
+ 0.7 [2021.07.25]
+ ----------------
+ * Backport changes from `transformers-0.6.*`:
+ * Remove the long-deprecated `selectToCont` function from
+ `Control.Monad.Trans.Select`.
+ * Backport various `Generic`, `Generic1`, and `Data` instances.
+ * Backport `handleE`, `tryE`, and `finallyE` to
`Control.Monad.Trans.Except`.
+ * Backport explicit implementations of `(<$)`, `liftA2`, `(*>)`, and `(<*)`
+ for `Control.Applicative.Backwards`.
+ * Backport a lazier implementation of `(<*>)` for
`Control.Applicative.Lift`.
+
+-------------------------------------------------------------------
Old:
----
transformers-compat-0.6.6.tar.gz
New:
----
transformers-compat-0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-transformers-compat.spec ++++++
--- /var/tmp/diff_new_pack.IESTKF/_old 2021-08-25 20:58:17.989153976 +0200
+++ /var/tmp/diff_new_pack.IESTKF/_new 2021-08-25 20:58:17.993153971 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-transformers-compat
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name transformers-compat
Name: ghc-%{pkg_name}
-Version: 0.6.6
+Version: 0.7
Release: 0
Summary: A small compatibility shim for the transformers library
License: BSD-3-Clause
++++++ transformers-compat-0.6.6.tar.gz -> transformers-compat-0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transformers-compat-0.6.6/.travis.yml
new/transformers-compat-0.7/.travis.yml
--- old/transformers-compat-0.6.6/.travis.yml 2001-09-09 03:46:40.000000000
+0200
+++ new/transformers-compat-0.7/.travis.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,202 +0,0 @@
-# This Travis job script has been generated by a script via
-#
-# haskell-ci '--output=.travis.yml' '--config=cabal.haskell-ci'
'cabal.project'
-#
-# To regenerate the script (for example after adjusting tested-with) run
-#
-# haskell-ci regenerate
-#
-# For more information, see https://github.com/haskell-CI/haskell-ci
-#
-# version: 0.10
-#
-version: ~> 1.0
-language: c
-os: linux
-dist: xenial
-git:
- # whether to recursively clone submodules
- submodules: false
-notifications:
- irc:
- channels:
- - irc.freenode.org#haskell-lens
- skip_join: true
- template:
- - "\x0313transformers-compat\x03/\x0306%{branch}\x03 \x0314%{commit}\x03
%{build_url} %{message}"
-cache:
- directories:
- - $HOME/.cabal/packages
- - $HOME/.cabal/store
- - $HOME/.hlint
-before_cache:
- - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
- # remove files that are regenerated by 'cabal update'
- - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*
- - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json
- - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
- - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
- - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
- - rm -rfv $CABALHOME/packages/head.hackage
-jobs:
- include:
- - compiler: ghc-8.10.1
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.10.1","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-8.8.3
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.8.3","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-8.6.5
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.6.5","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-8.4.4
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.4.4","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-8.2.2
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.2.2","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-8.0.2
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.0.2","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.10.3
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.10.3","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.8.4
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.8.4","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.6.3
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.6.3","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.4.2
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.4.2","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.2.2
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.2.2","cabal-install-3.2"]}}
- os: linux
- - compiler: ghc-7.0.4
- addons: {"apt":{"sources":[{"sourceline":"deb
http://ppa.launchpad.net/hvr/ghc/ubuntu xenial
main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.0.4","cabal-install-3.2"]}}
- os: linux
-before_install:
- - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
- - WITHCOMPILER="-w $HC"
- - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
- - HCPKG="$HC-pkg"
- - unset CC
- - CABAL=/opt/ghc/bin/cabal
- - CABALHOME=$HOME/.cabal
- - export PATH="$CABALHOME/bin:$PATH"
- - TOP=$(pwd)
- - "HCNUMVER=$(${HC} --numeric-version|perl -ne
'/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 ==
0 ? $5 != 1 : $3))')"
- - echo $HCNUMVER
- - CABAL="$CABAL -vnormal+nowrap"
- - set -o pipefail
- - TEST=--enable-tests
- - BENCH=--enable-benchmarks
- - HEADHACKAGE=false
- - rm -f $CABALHOME/config
- - |
- echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
- echo "remote-build-reporting: anonymous" >> $CABALHOME/config
- echo "write-ghc-environment-files: always" >> $CABALHOME/config
- echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
- echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
- echo "world-file: $CABALHOME/world" >> $CABALHOME/config
- echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
- echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
- echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
- echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
- echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
- echo "install-dirs user" >> $CABALHOME/config
- echo " prefix: $CABALHOME" >> $CABALHOME/config
- echo "repository hackage.haskell.org" >> $CABALHOME/config
- echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
-install:
- - ${CABAL} --version
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2>
/dev/null || echo '?')]"
- - "echo 'jobs: 2' >> $CABALHOME/config"
- - |
- echo "program-default-options" >> $CABALHOME/config
- echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
- - cat $CABALHOME/config
- - rm -fv cabal.project cabal.project.local cabal.project.freeze
- - travis_retry ${CABAL} v2-update -v
- # Generate cabal.project
- - rm -rf cabal.project cabal.project.local cabal.project.freeze
- - touch cabal.project
- - |
- echo "packages: ." >> cabal.project
- echo "packages: ./tests" >> cabal.project
- - if [ $HCNUMVER -ge 80200 ] ; then echo 'package transformers-compat' >>
cabal.project ; fi
- - "if [ $HCNUMVER -ge 80200 ] ; then echo ' ghc-options:
-Werror=missing-methods' >> cabal.project ; fi"
- - if [ $HCNUMVER -ge 80200 ] ; then echo 'package transformers-compat-tests'
>> cabal.project ; fi
- - "if [ $HCNUMVER -ge 80200 ] ; then echo ' ghc-options:
-Werror=missing-methods' >> cabal.project ; fi"
- - |
- - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed
's/-[^-]*$//' | (grep -vE --
'^(transformers-compat|transformers-compat-tests)$' || true) | sed
's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
- - cat cabal.project || true
- - cat cabal.project.local || true
- - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
- - if [ -f "./tests/configure.ac" ]; then (cd "./tests" && autoreconf -i); fi
- - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
- - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed
's/any.//'"
- - rm cabal.project.freeze
-script:
- - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
- # Packaging...
- - ${CABAL} v2-sdist all
- # Unpacking...
- - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
- - cd ${DISTDIR} || false
- - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
- - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
- - PKGDIR_transformers_compat="$(find . -maxdepth 1 -type d -regex
'.*/transformers-compat-[0-9.]*')"
- - PKGDIR_transformers_compat_tests="$(find . -maxdepth 1 -type d -regex
'.*/transformers-compat-tests-[0-9.]*')"
- # Generate cabal.project
- - rm -rf cabal.project cabal.project.local cabal.project.freeze
- - touch cabal.project
- - |
- echo "packages: ${PKGDIR_transformers_compat}" >> cabal.project
- echo "packages: ${PKGDIR_transformers_compat_tests}" >> cabal.project
- - if [ $HCNUMVER -ge 80200 ] ; then echo 'package transformers-compat' >>
cabal.project ; fi
- - "if [ $HCNUMVER -ge 80200 ] ; then echo ' ghc-options:
-Werror=missing-methods' >> cabal.project ; fi"
- - if [ $HCNUMVER -ge 80200 ] ; then echo 'package transformers-compat-tests'
>> cabal.project ; fi
- - "if [ $HCNUMVER -ge 80200 ] ; then echo ' ghc-options:
-Werror=missing-methods' >> cabal.project ; fi"
- - |
- - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed
's/-[^-]*$//' | (grep -vE --
'^(transformers-compat|transformers-compat-tests)$' || true) | sed
's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
- - cat cabal.project || true
- - cat cabal.project.local || true
- # Building with tests and benchmarks...
- # build & run tests, build benchmarks
- - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
- # Testing...
- - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all
- # cabal check...
- - (cd ${PKGDIR_transformers_compat} && ${CABAL} -vnormal check)
- - (cd ${PKGDIR_transformers_compat_tests} && ${CABAL} -vnormal check)
- # haddock...
- - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH}
all
- # Building without installed constraints for packages in global-db...
- - rm -f cabal.project.local
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
- # Constraint sets
- - rm -rf cabal.project.local
- # Constraint set no-mtl
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks
--constraint='transformers-compat -mtl' all
- # Constraint set no-generic-deriving
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks
--constraint='transformers-compat -generic-deriving' all
- # Constraint set no-mtl-no-generic-deriving
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks
--constraint='transformers-compat -generic-deriving'
--constraint='tranformers-compat -mtl' all
- # Constraint set two
- - if [ $HCNUMVER -lt 71000 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers-compat +two'
all ; fi
- # Constraint set three
- - if [ $HCNUMVER -lt 71000 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers-compat +three'
all ; fi
- # Constraint set four
- - if [ $HCNUMVER -lt 80000 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers-compat +four'
all ; fi
- # Constraint set five
- - if [ $HCNUMVER -lt 80400 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers-compat +five'
all ; fi
- # Constraint set transformers-installed
- - if [ $HCNUMVER -ge 70800 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers installed' all
; fi
- # Constraint set transformers-newer
- - if [ $HCNUMVER -lt 80600 ] ; then ${CABAL} v2-build $WITHCOMPILER
--disable-tests --disable-benchmarks --constraint='transformers >=0.5.5.0' all
; fi
-
-# REGENDATA
("0.10",["--output=.travis.yml","--config=cabal.haskell-ci","cabal.project"])
-# EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.2/Control/Applicative/Backwards.hs
new/transformers-compat-0.7/0.2/Control/Applicative/Backwards.hs
--- old/transformers-compat-0.6.6/0.2/Control/Applicative/Backwards.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.2/Control/Applicative/Backwards.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,8 @@
{-# LANGUAGE CPP #-}
#ifndef HASKELL98
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
# if __GLASGOW_HASKELL__ >= 704
{-# LANGUAGE Safe #-}
# elif __GLASGOW_HASKELL__ >= 702
@@ -33,10 +35,51 @@
import Data.Foldable
import Data.Traversable
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- | The same functor, but with an 'Applicative' instance that performs
-- actions in the reverse order.
newtype Backwards f a = Backwards { forwards :: f a }
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+-- Generic(1) instances for Backwards
+instance Generic (Backwards f a) where
+ type Rep (Backwards f a) = D1 D1'Backwards (C1 C1_0'Backwards (S1
S1_0_0'Backwards (Rec0 (f a))))
+ from (Backwards x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Backwards x
+
+instance Generic1 (Backwards f) where
+ type Rep1 (Backwards f) = D1 D1'Backwards (C1 C1_0'Backwards (S1
S1_0_0'Backwards (Rec1 f)))
+ from1 (Backwards x) = M1 (M1 (M1 (Rec1 x)))
+ to1 (M1 (M1 (M1 x))) = Backwards (unRec1 x)
+
+data D1'Backwards
+data C1_0'Backwards
+data S1_0_0'Backwards
+
+instance Datatype D1'Backwards where
+ datatypeName _ = "Backwards"
+ moduleName _ = "Control.Applicative.Backwards"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'Backwards where
+ conName _ = "Backwards"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'Backwards where
+ selName _ = "forwards"
+# endif
+#endif
+
instance (Eq1 f) => Eq1 (Backwards f) where
liftEq eq (Backwards x) (Backwards y) = liftEq eq x y
{-# INLINE liftEq #-}
@@ -62,6 +105,8 @@
instance (Functor f) => Functor (Backwards f) where
fmap f (Backwards a) = Backwards (fmap f a)
{-# INLINE fmap #-}
+ x <$ Backwards a = Backwards (x <$ a)
+ {-# INLINE (<$) #-}
-- | Apply @f@-actions in the reverse order.
instance (Applicative f) => Applicative (Backwards f) where
@@ -69,6 +114,16 @@
{-# INLINE pure #-}
Backwards f <*> Backwards a = Backwards (a <**> f)
{-# INLINE (<*>) #-}
+#if MIN_VERSION_base(4,10,0)
+ liftA2 f (Backwards m) (Backwards n) = Backwards $ liftA2 (flip f) n m
+ {-# INLINE liftA2 #-}
+#endif
+#if MIN_VERSION_base(4,2,0)
+ Backwards xs *> Backwards ys = Backwards (ys <* xs)
+ {-# INLINE (*>) #-}
+ Backwards ys <* Backwards xs = Backwards (xs *> ys)
+ {-# INLINE (<*) #-}
+#endif
-- | Try alternatives in the same order as @f@.
instance (Alternative f) => Alternative (Backwards f) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.2/Control/Applicative/Lift.hs
new/transformers-compat-0.7/0.2/Control/Applicative/Lift.hs
--- old/transformers-compat-0.6.6/0.2/Control/Applicative/Lift.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.2/Control/Applicative/Lift.hs 2001-09-09
03:46:40.000000000 +0200
@@ -1,6 +1,8 @@
{-# LANGUAGE CPP #-}
#ifndef HASKELL98
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
# if __GLASGOW_HASKELL__ >= 704
{-# LANGUAGE Safe #-}
# elif __GLASGOW_HASKELL__ >= 702
@@ -42,10 +44,51 @@
import Data.Monoid (Monoid(..))
import Data.Traversable (Traversable(traverse))
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- | Applicative functor formed by adding pure computations to a given
-- applicative functor.
data Lift f a = Pure a | Other (f a)
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+-- Generic(1) instances for Lift
+instance Generic (Lift f a) where
+ type Rep (Lift f a) = D1 D1'Lift (C1 C1_0'Lift (S1 NoSelector (Rec0 a)) :+:
C1 C1_1'Lift (S1 NoSelector (Rec0 (f a))))
+ from (Pure x) = M1 (L1 (M1 (M1 (K1 x))))
+ from (Other x) = M1 (R1 (M1 (M1 (K1 x))))
+ to (M1 (L1 (M1 (M1 (K1 x))))) = Pure x
+ to (M1 (R1 (M1 (M1 (K1 x))))) = Other x
+
+instance Generic1 (Lift f) where
+ type Rep1 (Lift f) = D1 D1'Lift (C1 C1_0'Lift (S1 NoSelector Par1) :+: C1
C1_1'Lift (S1 NoSelector (Rec1 f)))
+ from1 (Pure x) = M1 (L1 (M1 (M1 (Par1 x))))
+ from1 (Other x) = M1 (R1 (M1 (M1 (Rec1 x))))
+ to1 (M1 (L1 (M1 (M1 x)))) = Pure (unPar1 x)
+ to1 (M1 (R1 (M1 (M1 x)))) = Other (unRec1 x)
+
+instance Datatype D1'Lift where
+ datatypeName _ = "Lift"
+ moduleName _ = "Control.Applicative.Lift"
+
+instance Constructor C1_0'Lift where
+ conName _ = "Pure"
+
+instance Constructor C1_1'Lift where
+ conName _ = "Other"
+
+data D1'Lift
+data C1_0'Lift
+data C1_1'Lift
+# endif
+#endif
+
instance (Eq1 f) => Eq1 (Lift f) where
liftEq eq (Pure x1) (Pure x2) = eq x1 x2
liftEq _ (Pure _) (Other _) = False
@@ -94,10 +137,8 @@
instance (Applicative f) => Applicative (Lift f) where
pure = Pure
{-# INLINE pure #-}
- Pure f <*> Pure x = Pure (f x)
- Pure f <*> Other y = Other (f <$> y)
- Other f <*> Pure x = Other (($ x) <$> f)
- Other f <*> Other y = Other (f <*> y)
+ Pure f <*> ax = f <$> ax
+ Other f <*> ax = Other (f <*> unLift ax)
{-# INLINE (<*>) #-}
-- | A combination is 'Pure' only either part is.
@@ -134,8 +175,9 @@
-- | An applicative functor that collects a monoid (e.g. lists) of errors.
-- A sequence of computations fails if any of its components do, but
--- unlike monads made with 'ExceptT' from "Control.Monad.Trans.Except",
--- these computations continue after an error, collecting all the errors.
+-- unlike monads made with 'Control.Monad.Trans.Except.ExceptT' from
+-- "Control.Monad.Trans.Except", these computations continue after an
+-- error, collecting all the errors.
--
-- * @'pure' f '<*>' 'pure' x = 'pure' (f x)@
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.2/Data/Functor/Reverse.hs
new/transformers-compat-0.7/0.2/Data/Functor/Reverse.hs
--- old/transformers-compat-0.6.6/0.2/Data/Functor/Reverse.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.2/Data/Functor/Reverse.hs 2001-09-09
03:46:40.000000000 +0200
@@ -1,6 +1,8 @@
{-# LANGUAGE CPP #-}
#ifndef HASKELL98
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
# if __GLASGOW_HASKELL__ >= 704
{-# LANGUAGE Safe #-}
# elif __GLASGOW_HASKELL__ >= 702
@@ -40,10 +42,51 @@
import Data.Traversable
import Data.Monoid
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- | The same functor, but with 'Foldable' and 'Traversable' instances
-- that process the elements in the reverse order.
newtype Reverse f a = Reverse { getReverse :: f a }
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+-- Generic(1) instances for Reverse
+instance Generic (Reverse f a) where
+ type Rep (Reverse f a) = D1 D1'Reverse (C1 C1_0'Reverse (S1 S1_0_0'Reverse
(Rec0 (f a))))
+ from (Reverse x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Reverse x
+
+instance Generic1 (Reverse f) where
+ type Rep1 (Reverse f) = D1 D1'Reverse (C1 C1_0'Reverse (S1 S1_0_0'Reverse
(Rec1 f)))
+ from1 (Reverse x) = M1 (M1 (M1 (Rec1 x)))
+ to1 (M1 (M1 (M1 x))) = Reverse (unRec1 x)
+
+instance Datatype D1'Reverse where
+ datatypeName _ = "Reverse"
+ moduleName _ = "Data.Functor.Reverse"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'Reverse where
+ conName _ = "Reverse"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'Reverse where
+ selName _ = "getReverse"
+
+data D1'Reverse
+data C1_0'Reverse
+data S1_0_0'Reverse
+# endif
+#endif
+
instance (Eq1 f) => Eq1 (Reverse f) where
liftEq eq (Reverse x) (Reverse y) = liftEq eq x y
{-# INLINE liftEq #-}
@@ -90,8 +133,10 @@
{-# INLINE return #-}
m >>= f = Reverse (getReverse m >>= getReverse . f)
{-# INLINE (>>=) #-}
+#if !(MIN_VERSION_base(4,13,0))
fail msg = Reverse (fail msg)
{-# INLINE fail #-}
+#endif
-- | Derived instance.
instance (MonadPlus m) => MonadPlus (Reverse m) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.3/Control/Monad/Trans/Except.hs
new/transformers-compat-0.7/0.3/Control/Monad/Trans/Except.hs
--- old/transformers-compat-0.6.6/0.3/Control/Monad/Trans/Except.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.3/Control/Monad/Trans/Except.hs
2001-09-09 03:46:40.000000000 +0200
@@ -8,14 +8,18 @@
#define MIN_VERSION_mtl(x,y,z) 1
#endif
-#ifdef MTL
+#ifndef HASKELL98
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
+# ifdef MTL
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
-# if __GLASGOW_HASKELL__ >= 704
+# if __GLASGOW_HASKELL__ >= 704
{-# LANGUAGE Safe #-}
-# elif __GLASGOW_HASKELL__ >= 702
+# elif __GLASGOW_HASKELL__ >= 702
{-# LANGUAGE Trustworthy #-}
+# endif
# endif
#endif
-----------------------------------------------------------------------------
@@ -54,6 +58,9 @@
-- * Exception operations
throwE,
catchE,
+ handleE,
+ tryE,
+ finallyE,
-- * Lifting other operations
liftCallCC,
liftListen,
@@ -86,6 +93,14 @@
import Data.Monoid
import Data.Traversable (Traversable(traverse))
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- | The parameterizable exception monad.
--
-- Computations are either exceptions or normal values.
@@ -134,6 +149,34 @@
-- first exception.
newtype ExceptT e m a = ExceptT { runExceptT :: m (Either e a) }
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+-- Generic(1) instances for ExceptT
+instance Generic (ExceptT e m a) where
+ type Rep (ExceptT e m a) = D1 D1'ExceptT (C1 C1_0'ExceptT (S1 NoSelector
(Rec0 (m (Either e a)))))
+ from (ExceptT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = ExceptT x
+
+instance Functor m => Generic1 (ExceptT e m) where
+ type Rep1 (ExceptT e m) = D1 D1'ExceptT (C1 C1_0'ExceptT (S1 NoSelector (m
:.: Rec1 (Either e))))
+ from1 (ExceptT x) = M1 (M1 (M1 ((.) Comp1 (fmap Rec1) x)))
+ to1 (M1 (M1 (M1 x))) = ExceptT ((.) (fmap unRec1) unComp1 x)
+
+instance Datatype D1'ExceptT where
+ datatypeName _ = "ExceptT"
+ moduleName _ = "Control.Monad.Trans.Except"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'ExceptT where
+ conName _ = "ExceptT"
+
+data D1'ExceptT
+data C1_0'ExceptT
+# endif
+#endif
+
instance (Eq e, Eq1 m) => Eq1 (ExceptT e m) where
liftEq eq (ExceptT x) (ExceptT y) = liftEq (liftEq eq) x y
{-# INLINE liftEq #-}
@@ -227,8 +270,10 @@
Left e -> return (Left e)
Right x -> runExceptT (k x)
{-# INLINE (>>=) #-}
+#if !(MIN_VERSION_base(4,13,0))
fail = ExceptT . fail
{-# INLINE fail #-}
+#endif
instance (Fail.MonadFail m) => Fail.MonadFail (ExceptT e m) where
fail = ExceptT . Fail.fail
@@ -289,6 +334,29 @@
Right r -> return (Right r)
{-# INLINE catchE #-}
+-- | The same as @'flip' 'catchE'@, which is useful in situations where
+-- the code for the handler is shorter.
+handleE :: Monad m => (e -> ExceptT e' m a) -> ExceptT e m a -> ExceptT e' m a
+handleE = flip catchE
+{-# INLINE handleE #-}
+
+-- | Similar to 'catchE', but returns an 'Either' result which is
+-- @('Right' a)@ if no exception was thown, or @('Left' ex)@ if an
+-- exception @ex@ was thrown.
+tryE :: Monad m => ExceptT e m a -> ExceptT e m (Either e a)
+tryE m = catchE (liftM Right m) (return . Left)
+{-# INLINE tryE #-}
+
+-- | @'finallyE' a b@ executes computation @a@ followed by computation @b@,
+-- even if @a@ exits early by throwing an exception. In the latter case,
+-- the exception is re-thrown after @b@ has been executed.
+finallyE :: Monad m => ExceptT e m a -> ExceptT e m () -> ExceptT e m a
+finallyE m closer = do
+ res <- tryE m
+ closer
+ either throwE return res
+{-# INLINE finallyE #-}
+
-- | Lift a @callCC@ operation to the new monad.
liftCallCC :: CallCC m (Either e a) (Either e b) -> CallCC (ExceptT e m) a b
liftCallCC callCC f = ExceptT $
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.5/Control/Monad/Trans/Accum.hs
new/transformers-compat-0.7/0.5/Control/Monad/Trans/Accum.hs
--- old/transformers-compat-0.6.6/0.5/Control/Monad/Trans/Accum.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.5/Control/Monad/Trans/Accum.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,11 +3,7 @@
#ifndef HASKELL98
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE StandaloneDeriving #-}
-# if __GLASGOW_HASKELL__ >= 704
-{-# LANGUAGE Safe #-}
-# elif __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
-# endif
+{-# LANGUAGE TypeFamilies #-}
# if __GLASGOW_HASKELL__ >= 706
{-# LANGUAGE PolyKinds #-}
# endif
@@ -15,6 +11,12 @@
{-# LANGUAGE AutoDeriveTypeable #-}
{-# LANGUAGE DataKinds #-}
# endif
+# if __GLASGOW_HASKELL__ >= 710
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE Safe #-}
+# elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
+# endif
#endif
-----------------------------------------------------------------------------
-- |
@@ -84,6 +86,14 @@
import Data.Typeable
#endif
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- ---------------------------------------------------------------------------
-- | An accumulation monad parameterized by the type @w@ of output to
accumulate.
--
@@ -144,6 +154,30 @@
-- * a writer monad transformer with the extra ability to read all previous
output.
newtype AccumT w m a = AccumT (w -> m (a, w))
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 710
+deriving instance Generic (AccumT w m a)
+# elif __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+instance Generic (AccumT w m a) where
+ type Rep (AccumT w m a) = D1 D1'AccumT (C1 C1_0'AccumT (S1 NoSelector (Rec0
(w -> m (a, w)))))
+ from (AccumT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = AccumT x
+
+instance Datatype D1'AccumT where
+ datatypeName _ = "AccumT"
+ moduleName _ = "Control.Monad.Trans.Accum"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'AccumT where
+ conName _ = "AccumT"
+
+data D1'AccumT
+data C1_0'AccumT
+# endif
+#endif
+
-- | Unwrap an accumulation computation.
runAccumT :: AccumT w m a -> w -> m (a, w)
runAccumT (AccumT f) = f
@@ -205,8 +239,10 @@
~(b, w'') <- runAccumT (k a) (w `mappend` w')
return (b, w' `mappend` w'')
{-# INLINE (>>=) #-}
+#if !(MIN_VERSION_base(4,13,0))
fail msg = AccumT $ const (fail msg)
{-# INLINE fail #-}
+#endif
instance (Monoid w, Functor m, Fail.MonadFail m) => Fail.MonadFail (AccumT w
m) where
fail msg = AccumT $ const (Fail.fail msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/0.5/Control/Monad/Trans/Select.hs
new/transformers-compat-0.7/0.5/Control/Monad/Trans/Select.hs
--- old/transformers-compat-0.6.6/0.5/Control/Monad/Trans/Select.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/0.5/Control/Monad/Trans/Select.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,11 +3,7 @@
# ifndef HASKELL98
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE StandaloneDeriving #-}
-# if __GLASGOW_HASKELL__ >= 704
-{-# LANGUAGE Safe #-}
-# elif __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
-# endif
+{-# LANGUAGE TypeFamilies #-}
# if __GLASGOW_HASKELL__ >= 706
{-# LANGUAGE PolyKinds #-}
# endif
@@ -15,6 +11,12 @@
{-# LANGUAGE AutoDeriveTypeable #-}
{-# LANGUAGE DataKinds #-}
# endif
+# if __GLASGOW_HASKELL__ >= 710
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE Safe #-}
+# elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
+# endif
#endif
-----------------------------------------------------------------------------
-- |
@@ -49,7 +51,6 @@
mapSelectT,
-- * Monad transformation
selectToContT,
- selectToCont,
) where
import Control.Monad.IO.Class
@@ -65,6 +66,14 @@
import Data.Typeable
#endif
+#ifndef HASKELL98
+# ifdef GENERIC_DERIVING
+import Generics.Deriving.Base
+# elif __GLASGOW_HASKELL__ >= 702
+import GHC.Generics
+# endif
+#endif
+
-- | Selection monad.
type Select r = SelectT r Identity
@@ -85,6 +94,30 @@
-- cannot be lifted through it.
newtype SelectT r m a = SelectT ((a -> m r) -> m a)
+#ifndef HASKELL98
+# if __GLASGOW_HASKELL__ >= 710
+deriving instance Generic (SelectT r m a)
+# elif __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+instance Generic (SelectT r m a) where
+ type Rep (SelectT r m a) = D1 D1'SelectT (C1 C1_0'SelectT (S1 NoSelector
(Rec0 ((a -> m r) -> m a))))
+ from (SelectT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = SelectT x
+
+instance Datatype D1'SelectT where
+ datatypeName _ = "SelectT"
+ moduleName _ = "Control.Monad.Trans.Select"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'SelectT where
+ conName _ = "SelectT"
+
+data D1'SelectT
+data C1_0'SelectT
+# endif
+#endif
+
-- | Runs a @SelectT@ computation with a function for evaluating answers
-- to select a particular answer. (The inverse of 'select'.)
runSelectT :: SelectT r m a -> (a -> m r) -> m a
@@ -165,9 +198,3 @@
-- | Convert a selection computation to a continuation-passing computation.
selectToContT :: (Monad m) => SelectT r m a -> ContT r m a
selectToContT (SelectT g) = ContT $ \ k -> g k >>= k
-{-# INLINE selectToCont #-}
-
--- | Deprecated name for 'selectToContT'.
-{-# DEPRECATED selectToCont "Use selectToContT instead" #-}
-selectToCont :: (Monad m) => SelectT r m a -> ContT r m a
-selectToCont = selectToContT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transformers-compat-0.6.6/CHANGELOG.markdown
new/transformers-compat-0.7/CHANGELOG.markdown
--- old/transformers-compat-0.6.6/CHANGELOG.markdown 2001-09-09
03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/CHANGELOG.markdown 2001-09-09
03:46:40.000000000 +0200
@@ -1,3 +1,14 @@
+0.7 [2021.07.25]
+----------------
+* Backport changes from `transformers-0.6.*`:
+ * Remove the long-deprecated `selectToCont` function from
+ `Control.Monad.Trans.Select`.
+ * Backport various `Generic`, `Generic1`, and `Data` instances.
+ * Backport `handleE`, `tryE`, and `finallyE` to `Control.Monad.Trans.Except`.
+ * Backport explicit implementations of `(<$)`, `liftA2`, `(*>)`, and `(<*)`
+ for `Control.Applicative.Backwards`.
+ * Backport a lazier implementation of `(<*>)` for `Control.Applicative.Lift`.
+
0.6.6 [2020.09.30]
------------------
* Add `FunctorClassesDefault`, an adapter newtype suitable for `DerivingVia`,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transformers-compat-0.6.6/README.markdown
new/transformers-compat-0.7/README.markdown
--- old/transformers-compat-0.6.6/README.markdown 2001-09-09
03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/README.markdown 2001-09-09 03:46:40.000000000
+0200
@@ -1,7 +1,7 @@
transformers-compat
===================
-[](https://hackage.haskell.org/package/transformers-compat)
[](http://travis-ci.org/ekmett/transformers-compat)
+[](https://hackage.haskell.org/package/transformers-compat)
[](https://github.com/ekmett/transformers-compat/actions?query=workflow%3AHaskell-CI)
This provides a thin compatibility shim on top of transformers-0.2 to add the
types that were added in transformers-0.3.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/src/Control/Monad/Trans/Instances.hs
new/transformers-compat-0.7/src/Control/Monad/Trans/Instances.hs
--- old/transformers-compat-0.6.6/src/Control/Monad/Trans/Instances.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/src/Control/Monad/Trans/Instances.hs
2001-09-09 03:46:40.000000000 +0200
@@ -20,6 +20,10 @@
# if __GLASGOW_HASKELL__ >= 708
{-# LANGUAGE DataKinds #-}
# endif
+
+# if __GLASGOW_HASKELL__ >= 800
+{-# LANGUAGE DeriveGeneric #-}
+# endif
#endif
{-# OPTIONS_GHC -fno-warn-deprecations #-}
@@ -52,10 +56,8 @@
import Control.Monad.Trans.Accum (AccumT(..))
import Control.Monad.Trans.Class (MonadTrans(..))
import Control.Monad.Trans.Cont (ContT(..))
-import Control.Monad.Trans.Error (Error(..), ErrorT(..))
import Control.Monad.Trans.Except (ExceptT(..))
import Control.Monad.Trans.Identity (IdentityT(..))
-import Control.Monad.Trans.List (ListT(..), mapListT)
import Control.Monad.Trans.Maybe (MaybeT(..))
import qualified Control.Monad.Trans.RWS.Lazy as Lazy (RWST(..))
import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST(..))
@@ -86,6 +88,11 @@
import Data.Traversable (Traversable(..))
import Foreign (Storable(..), castPtr)
+#if !(MIN_VERSION_transformers(0,6,0))
+import Control.Monad.Trans.Error (Error(..), ErrorT(..))
+import Control.Monad.Trans.List (ListT(..), mapListT)
+#endif
+
#if MIN_VERSION_base(4,4,0)
import Control.Monad.Zip (MonadZip(..))
#endif
@@ -120,25 +127,12 @@
#if !(MIN_VERSION_transformers(0,3,0))
-- Foldable/Traversable instances
-instance (Foldable f) => Foldable (ErrorT e f) where
- foldMap f (ErrorT a) = foldMap (either (const mempty) f) a
-
-instance (Traversable f) => Traversable (ErrorT e f) where
- traverse f (ErrorT a) =
- ErrorT <$> traverse (either (pure . Left) (fmap Right . f)) a
-
instance (Foldable f) => Foldable (IdentityT f) where
foldMap f (IdentityT a) = foldMap f a
instance (Traversable f) => Traversable (IdentityT f) where
traverse f (IdentityT a) = IdentityT <$> traverse f a
-instance (Foldable f) => Foldable (ListT f) where
- foldMap f (ListT a) = foldMap (foldMap f) a
-
-instance (Traversable f) => Traversable (ListT f) where
- traverse f (ListT a) = ListT <$> traverse (traverse f) a
-
instance (Foldable f) => Foldable (MaybeT f) where
foldMap f (MaybeT a) = foldMap (foldMap f) a
@@ -159,6 +153,21 @@
traverse f = fmap Strict.WriterT . traverse f' . Strict.runWriterT where
f' (a, b) = fmap (\ c -> (c, b)) (f a)
+# if !(MIN_VERSION_transformers(0,6,0))
+instance (Foldable f) => Foldable (ErrorT e f) where
+ foldMap f (ErrorT a) = foldMap (either (const mempty) f) a
+
+instance (Traversable f) => Traversable (ErrorT e f) where
+ traverse f (ErrorT a) =
+ ErrorT <$> traverse (either (pure . Left) (fmap Right . f)) a
+
+instance (Foldable f) => Foldable (ListT f) where
+ foldMap f (ListT a) = foldMap (foldMap f) a
+
+instance (Traversable f) => Traversable (ListT f) where
+ traverse f (ListT a) = ListT <$> traverse (traverse f) a
+# endif
+
-- MonadFix instances for IdentityT and MaybeT
instance (MonadFix m) => MonadFix (IdentityT m) where
mfix f = IdentityT (mfix (runIdentityT . f))
@@ -219,17 +228,10 @@
fail msg = ContT $ \ _ -> Fail.fail msg
{-# INLINE fail #-}
-instance (Monad m, Error e) => Fail.MonadFail (ErrorT e m) where
- fail msg = ErrorT $ return (Left (strMsg msg))
-
instance (Fail.MonadFail m) => Fail.MonadFail (IdentityT m) where
fail msg = IdentityT $ Fail.fail msg
{-# INLINE fail #-}
-instance (Monad m) => Fail.MonadFail (ListT m) where
- fail _ = ListT $ return []
- {-# INLINE fail #-}
-
instance (Monad m) => Fail.MonadFail (MaybeT m) where
fail _ = MaybeT (return Nothing)
{-# INLINE fail #-}
@@ -262,6 +264,15 @@
fail msg = Strict.WriterT $ Fail.fail msg
{-# INLINE fail #-}
+# if !(MIN_VERSION_transformers(0,6,0))
+instance (Monad m, Error e) => Fail.MonadFail (ErrorT e m) where
+ fail msg = ErrorT $ return (Left (strMsg msg))
+
+instance (Monad m) => Fail.MonadFail (ListT m) where
+ fail _ = ListT $ return []
+ {-# INLINE fail #-}
+# endif
+
# if MIN_VERSION_transformers(0,4,0) && !(MIN_VERSION_base(4,9,0))
instance (Fail.MonadFail m) => Fail.MonadFail (ExceptT e m) where
fail = ExceptT . Fail.fail
@@ -290,9 +301,6 @@
instance (MonadZip m) => MonadZip (IdentityT m) where
mzipWith f (IdentityT a) (IdentityT b) = IdentityT (mzipWith f a b)
-instance (MonadZip m) => MonadZip (ListT m) where
- mzipWith f (ListT a) (ListT b) = ListT $ mzipWith (zipWith f) a b
-
instance (MonadZip m) => MonadZip (MaybeT m) where
mzipWith f (MaybeT a) (MaybeT b) = MaybeT $ mzipWith (liftA2 f) a b
@@ -308,6 +316,11 @@
mzipWith f (Strict.WriterT x) (Strict.WriterT y) = Strict.WriterT $
mzipWith (\ (a, w) (b, w') -> (f a b, w `mappend` w')) x y
+# if !(MIN_VERSION_transformers(0,6,0))
+instance (MonadZip m) => MonadZip (ListT m) where
+ mzipWith f (ListT a) (ListT b) = ListT $ mzipWith (zipWith f) a b
+# endif
+
# if !(MIN_VERSION_base(4,8,0))
instance MonadZip Identity where
mzipWith f (Identity x) (Identity y) = Identity (f x y)
@@ -336,12 +349,9 @@
-- Typeable instances
# if __GLASGOW_HASKELL__ >= 708 && __GLASGOW_HASKELL__ < 710
deriving instance Typeable Backwards
-deriving instance Typeable Constant
deriving instance Typeable ContT
-deriving instance Typeable ErrorT
deriving instance Typeable IdentityT
deriving instance Typeable Lift
-deriving instance Typeable ListT
deriving instance Typeable MaybeT
deriving instance Typeable MonadTrans
deriving instance Typeable Lazy.RWST
@@ -350,6 +360,10 @@
deriving instance Typeable Reverse
deriving instance Typeable Lazy.StateT
deriving instance Typeable Strict.StateT
+# if !(MIN_VERSION_transformers(0,6,0))
+deriving instance Typeable ErrorT
+deriving instance Typeable ListT
+# endif
# if !(MIN_VERSION_base(4,9,0))
deriving instance Typeable Compose
@@ -605,11 +619,13 @@
{-# INLINE (<>) #-}
# endif
+# if !(MIN_VERSION_transformers(0,6,0))
instance (MonadFix m) => MonadFix (ListT m) where
mfix f = ListT $ mfix (runListT . f . head) >>= \ xs -> case xs of
[] -> return []
x:_ -> liftM (x:) (runListT (mfix (mapListT (liftM tail) . f)))
{-# INLINE mfix #-}
+# endif
#endif
-- Generic(1) instances
@@ -749,4 +765,486 @@
# endif
# endif
+
+# if !(MIN_VERSION_transformers(0,6,0))
+# if __GLASGOW_HASKELL__ >= 708
+-- If we wanted to be 100% faithful to the original Data instance in
+-- transformers, we really ought to define an instance like:
+--
+-- instance (Data a, Typeable k, Typeable (b :: k)) => Data (Constant a b)
+--
+-- Unfortunately, this is not possible to do with a standalone-derived Data
+-- instance (see https://gitlab.haskell.org/ghc/ghc/-/issues/13327).
+-- For now, I've opted to just restrict the instance context slightly by using
+-- a `Data b` constraint. I'll wait for someone to complain about this before
+-- taking further action on it.
+deriving instance (Data a, Data b) => Data (Constant a b)
+# if __GLASGOW_HASKELL__ < 710
+deriving instance Typeable Constant
+# endif
+# endif
+
+-- The use of GHC 8.0 in this CPP is a conservative lower bound for
+-- determining the earliest version of GHC that can derive Generic(1)
+-- instances for all data types without bugs. We might be able to pick
+-- an earlier GHC version for certain data types, but it doesn't seem
+-- worthwhile, given that we'll have to fall back on hand-written instances at
+-- some point anyway.
+# if __GLASGOW_HASKELL__ >= 800
+
+deriving instance Generic (Constant a b)
+deriving instance Generic1 (Constant a)
+
+deriving instance Generic (ContT r m a)
+
+deriving instance Generic (IdentityT f a)
+deriving instance Generic1 (IdentityT f)
+
+deriving instance Generic (MaybeT m a)
+deriving instance Functor m => Generic1 (MaybeT m)
+
+deriving instance Generic (Lazy.RWST r w s m a)
+deriving instance Generic (Strict.RWST r w s m a)
+
+deriving instance Generic (ReaderT r m a)
+deriving instance Generic1 (ReaderT r m)
+
+deriving instance Generic (Lazy.StateT s m a)
+deriving instance Generic (Strict.StateT s m a)
+
+deriving instance Generic (Lazy.WriterT w m a)
+deriving instance Generic (Strict.WriterT w m a)
+
+# if MIN_VERSION_transformers(0,3,0)
+deriving instance Generic (Backwards f a)
+deriving instance Generic1 (Backwards f)
+
+deriving instance Generic (Lift f a)
+deriving instance Generic1 (Lift f)
+
+deriving instance Generic (Reverse f a)
+deriving instance Generic1 (Reverse f)
+# endif
+
+# if MIN_VERSION_transformers(0,4,0)
+deriving instance Generic (ExceptT e m a)
+deriving instance Functor m => Generic1 (ExceptT e m)
+# endif
+
+# if MIN_VERSION_transformers(0,5,3)
+deriving instance Generic (AccumT w m a)
+deriving instance Generic (SelectT w m a)
+# endif
+
+# elif __GLASGOW_HASKELL__ >= 702 || defined(GENERIC_DERIVING)
+
+instance Generic (Constant a b) where
+ type Rep (Constant a b) = D1 D1'Constant (C1 C1_0'Constant (S1
S1_0_0'Constant (Rec0 a)))
+ from (Constant x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Constant x
+
+instance Generic1 (Constant a) where
+ type Rep1 (Constant a) = D1 D1'Constant (C1 C1_0'Constant (S1
S1_0_0'Constant (Rec0 a)))
+ from1 (Constant x) = M1 (M1 (M1 (K1 x)))
+ to1 (M1 (M1 (M1 x))) = Constant (unK1 x)
+
+instance Datatype D1'Constant where
+ datatypeName _ = "Constant"
+ moduleName _ = "Data.Functor.Constant"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'Constant where
+ conName _ = "Constant"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'Constant where
+ selName _ = "getConstant"
+
+data D1'Constant
+data C1_0'Constant
+data S1_0_0'Constant
+
+-----
+
+instance Generic (ContT r m a) where
+ type Rep (ContT r m a) = D1 D1'ContT (C1 C1_0'ContT (S1 S1_0_0'ContT (Rec0
((a -> m r) -> m r))))
+ from (ContT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = ContT x
+
+instance Datatype D1'ContT where
+ datatypeName _ = "ContT"
+ moduleName _ = "Control.Monad.Trans.Cont"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'ContT where
+ conName _ = "ContT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'ContT where
+ selName _ = "runContT"
+
+data D1'ContT
+data C1_0'ContT
+data S1_0_0'ContT
+
+-----
+
+instance Generic (IdentityT f a) where
+ type Rep (IdentityT f a) = D1 D1'IdentityT (C1 C1_0'IdentityT (S1
S1_0_0'IdentityT (Rec0 (f a))))
+ from (IdentityT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = IdentityT x
+
+instance Generic1 (IdentityT f) where
+ type Rep1 (IdentityT f) = D1 D1'IdentityT (C1 C1_0'IdentityT (S1
S1_0_0'IdentityT (Rec1 f)))
+ from1 (IdentityT x) = M1 (M1 (M1 (Rec1 x)))
+ to1 (M1 (M1 (M1 x))) = IdentityT (unRec1 x)
+
+instance Datatype D1'IdentityT where
+ datatypeName _ = "IdentityT"
+ moduleName _ = "Control.Monad.Trans.Identity"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'IdentityT where
+ conName _ = "IdentityT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'IdentityT where
+ selName _ = "runIdentityT"
+
+data D1'IdentityT
+data C1_0'IdentityT
+data S1_0_0'IdentityT
+
+-----
+
+instance Generic (MaybeT m a) where
+ type Rep (MaybeT m a) = D1 D1'MaybeT (C1 C1_0'MaybeT (S1 S1_0_0'MaybeT (Rec0
(m (Maybe a)))))
+ from (MaybeT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = MaybeT x
+
+instance Functor m => Generic1 (MaybeT m) where
+ type Rep1 (MaybeT m) = D1 D1'MaybeT (C1 C1_0'MaybeT (S1 S1_0_0'MaybeT (m :.:
Rec1 Maybe)))
+ from1 (MaybeT x) = M1 (M1 (M1 ((.) Comp1 (fmap Rec1) x)))
+ to1 (M1 (M1 (M1 x))) = MaybeT ((.) (fmap unRec1) unComp1 x)
+
+instance Datatype D1'MaybeT where
+ datatypeName _ = "MaybeT"
+ moduleName _ = "Control.Monad.Trans.Maybe"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'MaybeT where
+ conName _ = "MaybeT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'MaybeT where
+ selName _ = "runMaybeT"
+
+data D1'MaybeT
+data C1_0'MaybeT
+data S1_0_0'MaybeT
+
+-----
+
+instance Generic (Lazy.RWST r w s m a) where
+ type Rep (Lazy.RWST r w s m a) = D1 D1'RWSTLazy (C1 C1_0'RWST (S1
S1_0_0'RWST (Rec0 (r -> s -> m (a, s, w)))))
+ from (Lazy.RWST x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Lazy.RWST x
+
+instance Generic (Strict.RWST r w s m a) where
+ type Rep (Strict.RWST r w s m a) = D1 D1'RWSTStrict (C1 C1_0'RWST (S1
S1_0_0'RWST (Rec0 (r -> s -> m (a, s, w)))))
+ from (Strict.RWST x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Strict.RWST x
+
+instance Datatype D1'RWSTLazy where
+ datatypeName _ = "RWST"
+ moduleName _ = "Control.Monad.Trans.RWS.Lazy"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Datatype D1'RWSTStrict where
+ datatypeName _ = "RWST"
+ moduleName _ = "Control.Monad.Trans.RWS.Strict"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'RWST where
+ conName _ = "RWST"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'RWST where
+ selName _ = "runRWST"
+
+data D1'RWSTLazy
+data D1'RWSTStrict
+data C1_0'RWST
+data S1_0_0'RWST
+
+-----
+
+instance Generic (ReaderT r m a) where
+ type Rep (ReaderT r m a) = D1 D1'ReaderT (C1 C1_0'ReaderT (S1 S1_0_0'ReaderT
(Rec0 (r -> m a))))
+ from (ReaderT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = ReaderT x
+
+instance Datatype D1'ReaderT where
+ datatypeName _ = "ReaderT"
+ moduleName _ = "Control.Monad.Trans.Reader"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'ReaderT where
+ conName _ = "ReaderT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'ReaderT where
+ selName _ = "runReaderT"
+
+data D1'ReaderT
+data C1_0'ReaderT
+data S1_0_0'ReaderT
+
+-----
+
+instance Generic (Lazy.StateT s m a) where
+ type Rep (Lazy.StateT s m a) = D1 D1'StateTLazy (C1 C1_0'StateT (S1
S1_0_0'StateT (Rec0 (s -> m (a, s)))))
+ from (Lazy.StateT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Lazy.StateT x
+
+instance Generic (Strict.StateT s m a) where
+ type Rep (Strict.StateT s m a) = D1 D1'StateTStrict (C1 C1_0'StateT (S1
S1_0_0'StateT (Rec0 (s -> m (a, s)))))
+ from (Strict.StateT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Strict.StateT x
+
+instance Datatype D1'StateTLazy where
+ datatypeName _ = "StateT"
+ moduleName _ = "Control.Monad.Trans.State.Lazy"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Datatype D1'StateTStrict where
+ datatypeName _ = "StateT"
+ moduleName _ = "Control.Monad.Trans.State.Strict"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'StateT where
+ conName _ = "StateT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'StateT where
+ selName _ = "runStateT"
+
+data D1'StateTLazy
+data D1'StateTStrict
+data C1_0'StateT
+data S1_0_0'StateT
+
+-----
+
+instance Generic (Lazy.WriterT w m a) where
+ type Rep (Lazy.WriterT w m a) = D1 D1'WriterTLazy (C1 C1_0'WriterT (S1
S1_0_0'WriterT (Rec0 (m (a, w)))))
+ from (Lazy.WriterT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Lazy.WriterT x
+
+instance Generic (Strict.WriterT w m a) where
+ type Rep (Strict.WriterT w m a) = D1 D1'WriterTStrict (C1 C1_0'WriterT (S1
S1_0_0'WriterT (Rec0 (m (a, w)))))
+ from (Strict.WriterT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Strict.WriterT x
+
+instance Datatype D1'WriterTLazy where
+ datatypeName _ = "WriterT"
+ moduleName _ = "Control.Monad.Trans.Writer.Lazy"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Datatype D1'WriterTStrict where
+ datatypeName _ = "WriterT"
+ moduleName _ = "Control.Monad.Trans.Writer.Strict"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'WriterT where
+ conName _ = "WriterT"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'WriterT where
+ selName _ = "runWriterT"
+
+data D1'WriterTLazy
+data D1'WriterTStrict
+data C1_0'WriterT
+data S1_0_0'WriterT
+
+# if MIN_VERSION_transformers(0,3,0)
+instance Generic (Backwards f a) where
+ type Rep (Backwards f a) = D1 D1'Backwards (C1 C1_0'Backwards (S1
S1_0_0'Backwards (Rec0 (f a))))
+ from (Backwards x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Backwards x
+
+instance Generic1 (Backwards f) where
+ type Rep1 (Backwards f) = D1 D1'Backwards (C1 C1_0'Backwards (S1
S1_0_0'Backwards (Rec1 f)))
+ from1 (Backwards x) = M1 (M1 (M1 (Rec1 x)))
+ to1 (M1 (M1 (M1 x))) = Backwards (unRec1 x)
+
+instance Datatype D1'Backwards where
+ datatypeName _ = "Backwards"
+ moduleName _ = "Control.Applicative.Backwards"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'Backwards where
+ conName _ = "Backwards"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'Backwards where
+ selName _ = "forwards"
+
+data D1'Backwards
+data C1_0'Backwards
+data S1_0_0'Backwards
+
+-----
+
+instance Generic (Reverse f a) where
+ type Rep (Reverse f a) = D1 D1'Reverse (C1 C1_0'Reverse (S1 S1_0_0'Reverse
(Rec0 (f a))))
+ from (Reverse x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = Reverse x
+
+instance Generic1 (Reverse f) where
+ type Rep1 (Reverse f) = D1 D1'Reverse (C1 C1_0'Reverse (S1 S1_0_0'Reverse
(Rec1 f)))
+ from1 (Reverse x) = M1 (M1 (M1 (Rec1 x)))
+ to1 (M1 (M1 (M1 x))) = Reverse (unRec1 x)
+
+instance Datatype D1'Reverse where
+ datatypeName _ = "Reverse"
+ moduleName _ = "Data.Functor.Reverse"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'Reverse where
+ conName _ = "Reverse"
+ conIsRecord _ = True
+
+instance Selector S1_0_0'Reverse where
+ selName _ = "getReverse"
+
+data D1'Reverse
+data C1_0'Reverse
+data S1_0_0'Reverse
+
+-----
+
+instance Generic (Lift f a) where
+ type Rep (Lift f a) = D1 D1'Lift (C1 C1_0'Lift (S1 NoSelector (Rec0 a)) :+:
C1 C1_1'Lift (S1 NoSelector (Rec0 (f a))))
+ from (Pure x) = M1 (L1 (M1 (M1 (K1 x))))
+ from (Other x) = M1 (R1 (M1 (M1 (K1 x))))
+ to (M1 (L1 (M1 (M1 (K1 x))))) = Pure x
+ to (M1 (R1 (M1 (M1 (K1 x))))) = Other x
+
+instance Generic1 (Lift f) where
+ type Rep1 (Lift f) = D1 D1'Lift (C1 C1_0'Lift (S1 NoSelector Par1) :+: C1
C1_1'Lift (S1 NoSelector (Rec1 f)))
+ from1 (Pure x) = M1 (L1 (M1 (M1 (Par1 x))))
+ from1 (Other x) = M1 (R1 (M1 (M1 (Rec1 x))))
+ to1 (M1 (L1 (M1 (M1 x)))) = Pure (unPar1 x)
+ to1 (M1 (R1 (M1 (M1 x)))) = Other (unRec1 x)
+
+instance Datatype D1'Lift where
+ datatypeName _ = "Lift"
+ moduleName _ = "Control.Applicative.Lift"
+
+instance Constructor C1_0'Lift where
+ conName _ = "Pure"
+
+instance Constructor C1_1'Lift where
+ conName _ = "Other"
+
+data D1'Lift
+data C1_0'Lift
+data C1_1'Lift
+# endif
+
+# if MIN_VERSION_transformers(0,4,0)
+instance Generic (ExceptT e m a) where
+ type Rep (ExceptT e m a) = D1 D1'ExceptT (C1 C1_0'ExceptT (S1 NoSelector
(Rec0 (m (Either e a)))))
+ from (ExceptT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = ExceptT x
+
+instance Functor m => Generic1 (ExceptT e m) where
+ type Rep1 (ExceptT e m) = D1 D1'ExceptT (C1 C1_0'ExceptT (S1 NoSelector (m
:.: Rec1 (Either e))))
+ from1 (ExceptT x) = M1 (M1 (M1 ((.) Comp1 (fmap Rec1) x)))
+ to1 (M1 (M1 (M1 x))) = ExceptT ((.) (fmap unRec1) unComp1 x)
+
+instance Datatype D1'ExceptT where
+ datatypeName _ = "ExceptT"
+ moduleName _ = "Control.Monad.Trans.Except"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'ExceptT where
+ conName _ = "ExceptT"
+
+data D1'ExceptT
+data C1_0'ExceptT
+# endif
+
+# if MIN_VERSION_transformers(0,5,3)
+instance Generic (AccumT w m a) where
+ type Rep (AccumT w m a) = D1 D1'AccumT (C1 C1_0'AccumT (S1 NoSelector (Rec0
(w -> m (a, w)))))
+ from (AccumT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = AccumT x
+
+instance Datatype D1'AccumT where
+ datatypeName _ = "AccumT"
+ moduleName _ = "Control.Monad.Trans.Accum"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'AccumT where
+ conName _ = "AccumT"
+
+data D1'AccumT
+data C1_0'AccumT
+
+-----
+
+instance Generic (SelectT r m a) where
+ type Rep (SelectT r m a) = D1 D1'SelectT (C1 C1_0'SelectT (S1 NoSelector
(Rec0 ((a -> m r) -> m a))))
+ from (SelectT x) = M1 (M1 (M1 (K1 x)))
+ to (M1 (M1 (M1 (K1 x)))) = SelectT x
+
+instance Datatype D1'SelectT where
+ datatypeName _ = "SelectT"
+ moduleName _ = "Control.Monad.Trans.Select"
+# if MIN_VERSION_base(4,7,0)
+ isNewtype _ = True
+# endif
+
+instance Constructor C1_0'SelectT where
+ conName _ = "SelectT"
+
+data D1'SelectT
+data C1_0'SelectT
+# endif
+
+# endif
+# endif
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transformers-compat-0.6.6/tests/GenericsSpec.hs
new/transformers-compat-0.7/tests/GenericsSpec.hs
--- old/transformers-compat-0.6.6/tests/GenericsSpec.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/tests/GenericsSpec.hs 2001-09-09
03:46:40.000000000 +0200
@@ -16,21 +16,21 @@
main :: IO ()
main = hspec spec
-prop_Eq :: (Eq a, Eq (f a), Eq1 f) => f a -> f a -> Bool
-prop_Eq x y = (x == y) == eq1 x y
+prop_Eq :: (Eq a, Eq (f a), Eq1 f) => f a -> f a -> Expectation
+prop_Eq x y = (x == y) `shouldBe` eq1 x y
eqSpec :: forall f a. (Arbitrary (f a), Show (f a),
Eq a, Eq (f a), Eq1 f)
=> Proxy (f a) -> Spec
-eqSpec _ = prop "has a valid Eq1 instance" (prop_Eq :: f a -> f a -> Bool)
+eqSpec _ = prop "has a valid Eq1 instance" (prop_Eq :: f a -> f a ->
Expectation)
-prop_Ord :: (Ord a, Ord (f a), Ord1 f) => f a -> f a -> Bool
-prop_Ord x y = compare x y == compare1 x y
+prop_Ord :: (Ord a, Ord (f a), Ord1 f) => f a -> f a -> Expectation
+prop_Ord x y = compare x y `shouldBe` compare1 x y
ordSpec :: forall f a. (Arbitrary (f a), Show (f a),
Ord a, Ord (f a), Ord1 f)
=> Proxy (f a) -> Spec
-ordSpec _ = prop "has a valid Ord1 instance" (prop_Ord :: f a -> f a -> Bool)
+ordSpec _ = prop "has a valid Ord1 instance" (prop_Ord :: f a -> f a ->
Expectation)
-- Adapted from the definition of readEither
readEither' :: String -> (Int -> ReadS a) -> Either String a
@@ -45,8 +45,8 @@
prop_Read :: forall f a. (Read a, Read (f a), Read1 f,
Eq (f a), Show (f a))
- => f a -> Bool
-prop_Read x = readArb readsPrec == readArb readsPrec1
+ => f a -> Expectation
+prop_Read x = readArb readsPrec `shouldBe` readArb readsPrec1
where
readArb :: (Int -> ReadS (f a)) -> f a
readArb = read' (show x)
@@ -54,14 +54,14 @@
readSpec :: forall f a. (Arbitrary (f a), Eq (f a), Show (f a),
Read a, Read (f a), Read1 f)
=> Proxy (f a) -> Spec
-readSpec _ = prop "has a valid Read1 instance" (prop_Read :: f a -> Bool)
+readSpec _ = prop "has a valid Read1 instance" (prop_Read :: f a ->
Expectation)
-prop_Show :: (Show a, Show (f a), Show1 f) => Int -> f a -> Bool
-prop_Show p x = showsPrec p x "" == showsPrec1 p x ""
+prop_Show :: (Show a, Show (f a), Show1 f) => Int -> f a -> Expectation
+prop_Show p x = showsPrec p x "" `shouldBe` showsPrec1 p x ""
showSpec :: forall f a. (Arbitrary (f a), Show a, Show (f a), Show1 f)
=> Proxy (f a) -> Spec
-showSpec _ = prop "has a valid Show1 instance" (prop_Show :: Int -> f a ->
Bool)
+showSpec _ = prop "has a valid Show1 instance" (prop_Show :: Int -> f a ->
Expectation)
classes1Spec :: forall f a. (Arbitrary (f a),
Ord a, Ord (f a), Ord1 f,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/transformers-compat-0.6.6/tests/transformers-compat-tests.cabal
new/transformers-compat-0.7/tests/transformers-compat-tests.cabal
--- old/transformers-compat-0.6.6/tests/transformers-compat-tests.cabal
2001-09-09 03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/tests/transformers-compat-tests.cabal
2001-09-09 03:46:40.000000000 +0200
@@ -23,8 +23,9 @@
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
- , GHC == 8.8.3
- , GHC == 8.10.1
+ , GHC == 8.8.4
+ , GHC == 8.10.4
+ , GHC == 9.0.1
source-repository head
type: git
@@ -48,7 +49,7 @@
, hspec >= 2 && < 3
, QuickCheck >= 2 && < 3
, tagged >= 0.7 && < 1
- , transformers >= 0.2 && < 0.6
+ , transformers >= 0.2 && < 0.7
, transformers-compat
build-tool-depends: hspec-discover:hspec-discover >= 2 && < 3
hs-source-dirs: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/transformers-compat-0.6.6/transformers-compat.cabal
new/transformers-compat-0.7/transformers-compat.cabal
--- old/transformers-compat-0.6.6/transformers-compat.cabal 2001-09-09
03:46:40.000000000 +0200
+++ new/transformers-compat-0.7/transformers-compat.cabal 2001-09-09
03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
name: transformers-compat
category: Compatibility
-version: 0.6.6
+version: 0.7
license: BSD3
cabal-version: >= 1.10
license-file: LICENSE
@@ -33,10 +33,10 @@
, GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
- , GHC == 8.8.3
- , GHC == 8.10.1
+ , GHC == 8.8.4
+ , GHC == 8.10.4
+ , GHC == 9.0.1
extra-source-files:
- .travis.yml
.ghci
.gitignore
.hlint.yaml
@@ -97,7 +97,7 @@
-- These are all transformers versions we support.
-- each flag below splits this interval into two parts.
-- flag-true parts are mutually exclusive, so at least one have to be on.
- transformers >= 0.2 && <0.6
+ transformers >= 0.2 && <0.7
if !impl(ghc >= 8.0)
build-depends: fail == 4.9.*