commit ghc-free for openSUSE:Factory

Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-free for openSUSE:Factory checked in at 2022-08-01 21:29:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-free (Old) and /work/SRC/openSUSE:Factory/.ghc-free.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-free" Mon Aug 1 21:29:45 2022 rev:20 rq:987034 version:5.1.9 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-free/ghc-free.changes 2022-02-11 23:10:48.135187663 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-free.new.1533/ghc-free.changes 2022-08-01 21:29:52.805567150 +0200 @@ -1,0 +2,16 @@ +Sun Jun 26 16:02:11 UTC 2022 - Peter Simons <psimons@suse.com> + +- Update free to version 5.1.9. + 5.1.9 [2022.06.26] + ------------------ + * Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of + overlapping instances. + + 5.1.8 [2022.05.07] + ------------------ + * Generalize the `Monad` constraint in the type signatures for + `hoistFreeT` in `Control.Monad.Trans.Free` and `Control.Monad.Trans.Free.Ap` + to a `Functor` constraint. + * Allow building with `transformers-0.6.*` and `mtl-2.3.*`. + +------------------------------------------------------------------- Old: ---- free-5.1.7.tar.gz free.cabal New: ---- free-5.1.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-free.spec ++++++ --- /var/tmp/diff_new_pack.fwzhDW/_old 2022-08-01 21:29:53.317568619 +0200 +++ /var/tmp/diff_new_pack.fwzhDW/_new 2022-08-01 21:29:53.321568631 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-free # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,12 @@ %global pkg_name free Name: ghc-%{pkg_name} -Version: 5.1.7 +Version: 5.1.9 Release: 0 Summary: Monads for free License: BSD-3-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-comonad-devel BuildRequires: ghc-containers-devel @@ -73,7 +72,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ free-5.1.7.tar.gz -> free-5.1.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/CHANGELOG.markdown new/free-5.1.9/CHANGELOG.markdown --- old/free-5.1.7/CHANGELOG.markdown 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/CHANGELOG.markdown 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,15 @@ +5.1.9 [2022.06.26] +------------------ +* Simplify the `Eq` and `Ord` instances for `FT` to avoid the use of + overlapping instances. + +5.1.8 [2022.05.07] +------------------ +* Generalize the `Monad` constraint in the type signatures for + `hoistFreeT` in `Control.Monad.Trans.Free` and `Control.Monad.Trans.Free.Ap` + to a `Functor` constraint. +* Allow building with `transformers-0.6.*` and `mtl-2.3.*`. + 5.1.7 [2021.04.30] ------------------ * Enable `FlexibleContexts` in `Control.Monad.Trans.Free.Church` to allow diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/examples/MandelbrotIter.lhs new/free-5.1.9/examples/MandelbrotIter.lhs --- old/free-5.1.7/examples/MandelbrotIter.lhs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/examples/MandelbrotIter.lhs 2001-09-09 03:46:40.000000000 +0200 @@ -6,8 +6,9 @@
module Main where
import Control.Arrow hiding (loop) +> import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad.Trans.Iter -> import "mtl" Control.Monad.Reader +> import "mtl" Control.Monad.Reader (ReaderT, runReaderT, asks) import Data.Complex import Graphics.HGL (runGraphics, Window, withPen, line, RGB (RGB), RedrawMode (DoubleBuffered), openWindowEx, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/examples/PerfTH.hs new/free-5.1.9/examples/PerfTH.hs --- old/free-5.1.7/examples/PerfTH.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/examples/PerfTH.hs 2001-09-09 03:46:40.000000000 +0200 @@ -10,11 +10,12 @@ import Data.IORef import Data.Word import Control.Monad -import Control.Monad.State.Strict +import Control.Monad.IO.Class (MonadIO(..)) import qualified Control.Monad.Fail as Fail (MonadFail) import Control.Monad.Free import Control.Monad.Free.TH import qualified Control.Monad.Free.Church as Church +import Control.Monad.Trans.State.Strict import Text.Printf
-- | A data type representing basic commands for our performance-testing eDSL. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/examples/ValidationForm.hs new/free-5.1.9/examples/ValidationForm.hs --- old/free-5.1.7/examples/ValidationForm.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/examples/ValidationForm.hs 2001-09-09 03:46:40.000000000 +0200 @@ -5,7 +5,8 @@ import Control.Applicative #endif import Control.Applicative.Free -import Control.Monad.State +import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Trans.State import Data.Monoid (Sum(..)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/examples/free-examples.cabal new/free-5.1.9/examples/free-examples.cabal --- old/free-5.1.7/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -19,8 +19,9 @@ , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 - , GHC == 8.10.4 - , GHC == 9.0.1 + , GHC == 8.10.7 + , GHC == 9.0.2 + , GHC == 9.2.2 synopsis: Monads for free description: Examples projects using @free@ build-type: Simple @@ -31,7 +32,6 @@ flag mandelbrot-iter default: True - manual: True library hs-source-dirs: . @@ -42,8 +42,8 @@ base == 4.*, base-compat >= 0.6, free, - mtl >= 2.0.1 && < 2.3, - transformers >= 0.2 && < 0.6 + mtl >= 2.0.1 && < 2.4, + transformers >= 0.2 && < 0.7 executable free-mandelbrot-iter if !flag(mandelbrot-iter) @@ -53,11 +53,14 @@ main-is: MandelbrotIter.lhs ghc-options: -Wall build-depends: - base == 4.*, + -- This unusually restrictive lower version bound on base is a workaround + -- for the fact that X11-1.10 does not build correctly on older versions of + -- base (see https://github.com/ekmett/free/runs/3235998897#step:18:237) + base >= 4.9 && < 5, free, HGL >= 3.2.3.2, - mtl >= 2.0.1 && < 2.3, - transformers >= 0.2 && < 0.6 + mtl >= 2.0.1 && < 2.4, + transformers >= 0.2 && < 0.7 executable free-newton-coiter hs-source-dirs: . @@ -79,9 +82,8 @@ base == 4.*, fail == 4.9.*, free, - mtl >= 2.0.1 && < 2.3, rdtsc, - transformers >= 0.2 && < 0.6 + transformers >= 0.2 && < 0.7 executable free-retry-th hs-source-dirs: . @@ -93,8 +95,8 @@ base-compat >= 0.6, fail == 4.9.*, free, - transformers >= 0.2 && < 0.6, - transformers-compat >= 0.6.4 && < 0.7 + transformers >= 0.2 && < 0.7, + transformers-compat >= 0.6.4 && < 0.8 executable free-teletype hs-source-dirs: . @@ -116,4 +118,4 @@ base == 4.*, base-compat >= 0.6, free, - mtl >= 2.0.1 && < 2.3 + transformers >= 0.2 && < 0.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/free.cabal new/free-5.1.9/free.cabal --- old/free-5.1.7/free.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/free.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,6 @@ name: free category: Control, Monads -version: 5.1.7 +version: 5.1.9 license: BSD3 cabal-version: 1.18 license-file: LICENSE @@ -19,8 +19,9 @@ , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 - , GHC == 8.10.4 - , GHC == 9.0.1 + , GHC == 8.10.7 + , GHC == 9.0.2 + , GHC == 9.2.2 synopsis: Monads for free description: Free monads are useful for many tree-like structures and domain specific languages. @@ -89,7 +90,7 @@ indexed-traversable >= 0.1.1 && < 0.2, semigroupoids >= 5.3.5 && < 6, th-abstraction >= 0.4.2.0 && < 0.5, - transformers >= 0.3 && < 0.6, + transformers >= 0.3 && < 0.7, transformers-base >= 0.4.5.2 && < 0.5, template-haskell >= 2.7.0.0 && < 2.19 @@ -97,10 +98,10 @@ -- mtl-2.2.* requires transformers >=0.4 if impl(ghc >=7.10) build-depends: - mtl >= 2.2.2 && < 2.3 + mtl >= 2.2.2 && < 2.4 else build-depends: - mtl >= 2.1.3.1 && < 2.3 + mtl >= 2.1.3.1 && < 2.4 -- recent profunctors dropped support for GHCs older than 7.8 if impl(ghc >=7.8) @@ -120,7 +121,7 @@ if impl(ghc >= 7.10) build-depends: transformers >= 0.4.2.0 else - build-depends: transformers-compat >= 0.5.1.0 && <0.7 + build-depends: transformers-compat >= 0.5.1.0 && <0.8 exposed-modules: Control.Applicative.Free diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Free/Class.hs new/free-5.1.9/src/Control/Monad/Free/Class.hs --- old/free-5.1.7/src/Control/Monad/Free/Class.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/src/Control/Monad/Free/Class.hs 2001-09-09 03:46:40.000000000 +0200 @@ -3,13 +3,15 @@ {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE Safe #-} +{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 704 {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TypeFamilies #-} #endif +#if !(MIN_VERSION_transformers(0,6,0)) {-# OPTIONS_GHC -fno-warn-deprecations #-} -{-# LANGUAGE Safe #-} +#endif #include "free-common.h" ----------------------------------------------------------------------------- @@ -41,11 +43,14 @@ import qualified Control.Monad.Trans.RWS.Lazy as Lazy import Control.Monad.Trans.Cont import Control.Monad.Trans.Maybe -import Control.Monad.Trans.List -import Control.Monad.Trans.Error import Control.Monad.Trans.Except import Control.Monad.Trans.Identity +#if !(MIN_VERSION_transformers(0,6,0)) +import Control.Monad.Trans.Error +import Control.Monad.Trans.List +#endif + #if !(MIN_VERSION_base(4,8,0)) import Control.Applicative import Data.Monoid @@ -139,18 +144,20 @@ instance (Functor f, MonadFree f m) => MonadFree f (IdentityT m) where wrap = IdentityT . wrap . fmap runIdentityT -instance (Functor f, MonadFree f m) => MonadFree f (ListT m) where - wrap = ListT . wrap . fmap runListT - -instance (Functor f, MonadFree f m, Error e) => MonadFree f (ErrorT e m) where - wrap = ErrorT . wrap . fmap runErrorT - instance (Functor f, MonadFree f m) => MonadFree f (ExceptT e m) where wrap = ExceptT . wrap . fmap runExceptT -- instance (Functor f, MonadFree f m) => MonadFree f (EitherT e m) where -- wrap = EitherT . wrap . fmap runEitherT +#if !(MIN_VERSION_transformers(0,6,0)) +instance (Functor f, MonadFree f m, Error e) => MonadFree f (ErrorT e m) where + wrap = ErrorT . wrap . fmap runErrorT + +instance (Functor f, MonadFree f m) => MonadFree f (ListT m) where + wrap = ListT . wrap . fmap runListT +#endif + -- | A version of lift that can be used with just a Functor for f. liftF :: (Functor f, MonadFree f m) => f a -> m a liftF = wrap . fmap return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free/Ap.hs new/free-5.1.9/src/Control/Monad/Trans/Free/Ap.hs --- old/free-5.1.7/src/Control/Monad/Trans/Free/Ap.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/src/Control/Monad/Trans/Free/Ap.hs 2001-09-09 03:46:40.000000000 +0200 @@ -318,7 +318,7 @@ instance (Applicative f, Applicative m, Fail.MonadFail m) => Fail.MonadFail (FreeT f m) where fail e = FreeT (Fail.fail e) -instance MonadTrans (FreeT f) where +instance Applicative f => MonadTrans (FreeT f) where lift = FreeT . liftM Pure {-# INLINE lift #-} @@ -418,9 +418,9 @@ -- | Lift a monad homomorphism from @m@ to @n@ into a monad homomorphism from @'FreeT' f m@ to @'FreeT' f n@ -- --- @'hoistFreeT' :: ('Monad' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 'FreeT' f n@ -hoistFreeT :: (Monad m, Applicative f) => (forall a. m a -> n a) -> FreeT f m b -> FreeT f n b -hoistFreeT mh = FreeT . mh . liftM (fmap (hoistFreeT mh)) . runFreeT +-- @'hoistFreeT' :: ('Functor' m, 'Applicative' f) => (m ~> n) -> 'FreeT' f m ~> 'FreeT' f n@ +hoistFreeT :: (Functor m, Applicative f) => (forall a. m a -> n a) -> FreeT f m b -> FreeT f n b +hoistFreeT mh = FreeT . mh . fmap (fmap (hoistFreeT mh)) . runFreeT -- | Lift an applicative homomorphism from @f@ to @g@ into a monad homomorphism from @'FreeT' f m@ to @'FreeT' g m@ transFreeT :: (Monad m, Applicative g) => (forall a. f a -> g a) -> FreeT f m b -> FreeT g m b diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs new/free-5.1.9/src/Control/Monad/Trans/Free/Church.hs --- old/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/src/Control/Monad/Trans/Free/Church.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,4 @@ {-# LANGUAGE CPP #-} -{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE RankNTypes #-} @@ -97,10 +96,20 @@ compare1 x y = compare1 (fromFT x) (fromFT y) #endif -instance (Eq1 (FT f m), Eq a) => Eq (FT f m a) where +instance ( Functor f, Monad m, Eq1 f, Eq1 m +# if !(MIN_VERSION_base(4,8,0)) + , Functor m +# endif + , Eq a + ) => Eq (FT f m a) where (==) = eq1 -instance (Ord1 (FT f m), Ord a) => Ord (FT f m a) where +instance ( Functor f, Monad m, Ord1 f, Ord1 m +# if !(MIN_VERSION_base(4,8,0)) + , Functor m +# endif + , Ord a + ) => Ord (FT f m a) where compare = compare1 instance Functor (FT f m) where @@ -172,7 +181,7 @@ local f = hoistFT (local f) {-# INLINE local #-} -instance (Functor f, MonadWriter w m) => MonadWriter w (FT f m) where +instance (Functor f, Functor m, MonadWriter w m) => MonadWriter w (FT f m) where tell = lift . tell {-# INLINE tell #-} listen = toFT . listen . fromFT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/free-5.1.7/src/Control/Monad/Trans/Free.hs new/free-5.1.9/src/Control/Monad/Trans/Free.hs --- old/free-5.1.7/src/Control/Monad/Trans/Free.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/free-5.1.9/src/Control/Monad/Trans/Free.hs 2001-09-09 03:46:40.000000000 +0200 @@ -319,7 +319,7 @@ instance (Functor f, Fail.MonadFail m) => Fail.MonadFail (FreeT f m) where fail e = FreeT (Fail.fail e) -instance MonadTrans (FreeT f) where +instance Functor f => MonadTrans (FreeT f) where lift = FreeT . liftM Pure {-# INLINE lift #-} @@ -331,13 +331,13 @@ liftBase = lift . liftBase {-# INLINE liftBase #-} -instance (Functor f, MonadReader r m) => MonadReader r (FreeT f m) where +instance (Functor f, Functor m, MonadReader r m) => MonadReader r (FreeT f m) where ask = lift ask {-# INLINE ask #-} local f = hoistFreeT (local f) {-# INLINE local #-} -instance (Functor f, MonadWriter w m) => MonadWriter w (FreeT f m) where +instance (Functor f, Functor m, MonadWriter w m) => MonadWriter w (FreeT f m) where tell = lift . tell {-# INLINE tell #-} listen (FreeT m) = FreeT $ liftM concat' $ listen (fmap listen `liftM` m) @@ -421,9 +421,9 @@ -- | Lift a monad homomorphism from @m@ to @n@ into a monad homomorphism from @'FreeT' f m@ to @'FreeT' f n@ -- --- @'hoistFreeT' :: ('Monad' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 'FreeT' f n@ -hoistFreeT :: (Monad m, Functor f) => (forall a. m a -> n a) -> FreeT f m b -> FreeT f n b -hoistFreeT mh = FreeT . mh . liftM (fmap (hoistFreeT mh)) . runFreeT +-- @'hoistFreeT' :: ('Functor' m, 'Functor' f) => (m ~> n) -> 'FreeT' f m ~> 'FreeT' f n@ +hoistFreeT :: (Functor m, Functor f) => (forall a. m a -> n a) -> FreeT f m b -> FreeT f n b +hoistFreeT mh = FreeT . mh . fmap (fmap (hoistFreeT mh)) . runFreeT -- | The very definition of a free monad transformer is that given a natural -- transformation you get a monad transformer homomorphism.
participants (1)
-
Source-Sync