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 2021-05-05 20:40:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-free (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-free.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-free"

Wed May  5 20:40:30 2021 rev:18 rq:890699 version:5.1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-free/ghc-free.changes        2021-01-20 
18:25:07.575386469 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-free.new.2988/ghc-free.changes      
2021-05-05 20:40:55.842672685 +0200
@@ -1,0 +2,9 @@
+Fri Apr 30 20:30:54 UTC 2021 - psim...@suse.com
+
+- Update free to version 5.1.7.
+  5.1.7 [2021.04.30]
+  ------------------
+  * Enable `FlexibleContexts` in `Control.Monad.Trans.Free.Church` to allow
+    building with GHC 9.2.
+
+-------------------------------------------------------------------

Old:
----
  free-5.1.6.tar.gz

New:
----
  free-5.1.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-free.spec ++++++
--- /var/tmp/diff_new_pack.xFaW4W/_old  2021-05-05 20:40:56.338670501 +0200
+++ /var/tmp/diff_new_pack.xFaW4W/_new  2021-05-05 20:40:56.342670483 +0200
@@ -18,7 +18,7 @@
 
 %global pkg_name free
 Name:           ghc-%{pkg_name}
-Version:        5.1.6
+Version:        5.1.7
 Release:        0
 Summary:        Monads for free
 License:        BSD-3-Clause

++++++ free-5.1.6.tar.gz -> free-5.1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/CHANGELOG.markdown 
new/free-5.1.7/CHANGELOG.markdown
--- old/free-5.1.6/CHANGELOG.markdown   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.7/CHANGELOG.markdown   2001-09-09 03:46:40.000000000 +0200
@@ -1,3 +1,8 @@
+5.1.7 [2021.04.30]
+------------------
+* Enable `FlexibleContexts` in `Control.Monad.Trans.Free.Church` to allow
+  building with GHC 9.2.
+
 5.1.6 [2020.12.31]
 ------------------
 * Explicitly mark modules as `Safe`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/Cabbage.lhs 
new/free-5.1.7/examples/Cabbage.lhs
--- old/free-5.1.6/examples/Cabbage.lhs 2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.7/examples/Cabbage.lhs 2001-09-09 03:46:40.000000000 +0200
@@ -1,7 +1,6 @@
 > {-# LANGUAGE ViewPatterns #-}
 > module Cabbage where
- 
-> import Control.Applicative
+
 > import Control.Monad
 > import Control.Monad.State
 > import Control.Monad.Trans.Iter
@@ -9,23 +8,25 @@
 > import Data.Functor.Identity
 > import Data.Maybe
 > import Data.Tuple
-> import Data.List
+> import Data.List (inits, tails)
+> import Prelude ()
+> import Prelude.Compat
 
 Consider the following problem:
 
-A farmer must cross a river with a wolf, a sheep and a cabbage. 
-He owns a boat, which can only carry himself and one other item. 
+A farmer must cross a river with a wolf, a sheep and a cabbage.
+He owns a boat, which can only carry himself and one other item.
 The sheep must not be left alone with the wolf, or with the cabbage:
-if that happened, one of them would eat the other. 
+if that happened, one of them would eat the other.
 
 > data Item = Wolf | Sheep | Cabbage | Farmer deriving (Ord, Show, Eq)
-> 
+>
 > eats :: Item -> Item -> Bool
 > Sheep `eats` Cabbage = True
 > Wolf `eats` Sheep    = True
 > _ `eats` _           = False
 
-The problem can be represented as the set of items on each side of the river. 
+The problem can be represented as the set of items on each side of the river.
 
 > type Situation = ([Item],[Item])
 
@@ -35,7 +36,7 @@
 First, some helper functions to extract single elements from lists, leaving the
 rest intact:
 
-> plusTailOf :: [a] -> [a] -> (Maybe a, [a]) 
+> plusTailOf :: [a] -> [a] -> (Maybe a, [a])
 > a `plusTailOf` b = (listToMaybe b,  a ++ drop 1 b)
 
 > singleOut1 :: (a -> Bool) -> [a] -> (Maybe a,[a])
@@ -61,11 +62,11 @@
 
 > move :: Situation -> [Situation]
 > move = move2
->   where 
+>   where
 >   move2 (singleOut1 (== Farmer) -> (Just Farmer,as), bs)  = move1 as bs
 >   move2 (bs, singleOut1 (== Farmer) -> (Just Farmer,as))  = map swap $ move1 
 > as bs
 >   move2 _                                            = []
-> 
+>
 >   move1 as bs = [(as', [Farmer] ++ maybeToList b ++ bs) |
 >                  (b, as') <- singleOutAll as,
 >                  and [not $ x `eats` y | x <- as', y <- as']]
@@ -74,15 +75,15 @@
 *Cabbage> move initial
 [([Wolf,Cabbage],[Farmer,Sheep])]
 @
-  
+
 When the starting side becomes empty, the farmer succeeds.
 
 > success :: Situation -> Bool
 > success ([],_) = True
 > success _      = False
 
-A straightforward implementation to solve the problem could use the 
-list monad, trying all possible solutions and 
+A straightforward implementation to solve the problem could use the
+list monad, trying all possible solutions and
 
 > solution1 :: Situation
 > solution1 = head $ solutions' initial
@@ -96,8 +97,8 @@
 
 To guarantee termination, we can use the 'Iter' monad with its MonadPlus 
instance.
 As long as one of the possible execution paths finds a solution, the program
-will terminate: the solution is looked for _in breadth_. 
- 
+will terminate: the solution is looked for _in breadth_.
+
 > solution2 :: Iter Situation
 > solution2 = solution' initial
 >             where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/MandelbrotIter.lhs 
new/free-5.1.7/examples/MandelbrotIter.lhs
--- old/free-5.1.6/examples/MandelbrotIter.lhs  2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/examples/MandelbrotIter.lhs  2001-09-09 03:46:40.000000000 
+0200
@@ -3,6 +3,7 @@
 For example: @ghc -o 'mandelbrot_iter' -O2 MandelbrotIter.lhs ; 
./mandelbrot_iter@
 
 > {-# LANGUAGE PackageImports #-}
+> module Main where
 
 > import Control.Arrow hiding (loop)
 > import Control.Monad.Trans.Iter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/NewtonCoiter.lhs 
new/free-5.1.7/examples/NewtonCoiter.lhs
--- old/free-5.1.6/examples/NewtonCoiter.lhs    2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/examples/NewtonCoiter.lhs    2001-09-09 03:46:40.000000000 
+0200
@@ -5,11 +5,13 @@
 to find zeroes of a function is one such algorithm.
 
 > {-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, UndecidableInstances 
 > #-}
+> module Main where
 
 > import Control.Comonad.Trans.Coiter
 > import Control.Comonad.Env
-> import Control.Applicative
 > import Data.Foldable (toList, find)
+> import Prelude
+> import Prelude.Compat ()
 
 > data Function = Function {
 >   -- Function to find zeroes of
@@ -62,7 +64,8 @@
 
 > estimateError :: Solution Double -> Result
 > estimateError s =
->   let a:a':_ = toList s in
+>   let (a, s') = extract $ runCoiterT s in
+>   let a' = extract s' in
 >   let f = asks function s in
 >   Result { value = a,
 >            xerror = abs $ a - a',
@@ -75,9 +78,9 @@
 > estimateOutlook :: Int -> Solution Result -> Outlook
 > estimateOutlook sampleSize solution =
 >   let sample = map ferror $ take sampleSize $ tail $ toList solution in
->   let result = extract solution in
->   Outlook { result = result,
->             progress = ferror result > minimum sample }
+>   let result' = extract solution in
+>   Outlook { result = result',
+>             progress = ferror result' > minimum sample }
 
 To compute the square root of @c@, we solve the equation @x*x - c = 0@. We will
 stop whenever the accuracy of the result doesn't improve in the next 5 steps.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/PerfTH.hs 
new/free-5.1.7/examples/PerfTH.hs
--- old/free-5.1.6/examples/PerfTH.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.7/examples/PerfTH.hs   2001-09-09 03:46:40.000000000 +0200
@@ -6,21 +6,15 @@
 module Main where
 
 import System.CPUTime.Rdtsc
-import System.IO
 import System.IO.Unsafe
 import Data.IORef
 import Data.Word
 import Control.Monad
 import Control.Monad.State.Strict
-import Control.Monad.Fail (MonadFail)
+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.IO.Class
-import Control.Monad.Trans.Maybe
-import Control.Category ((>>>))
-import qualified Data.Foldable as F
-import Text.Read.Compat (readMaybe)
 import Text.Printf
 
 -- | A data type representing basic commands for our performance-testing eDSL.
@@ -57,7 +51,7 @@
 runPerfFree :: (MonadIO m) => [String] -> Free PerfF () -> m ()
 runPerfFree [] _ = return ()
 runPerfFree (s:ss) x = case x of
-  Free (Output o next) -> do
+  Free (Output _o next) -> do
     runPerfFree (s:ss) next
   Free (Input next) -> do
     g_print_time_since_prev_call
@@ -66,12 +60,12 @@
     return a
 
 -- | Church-based interpreter
-runPerfF :: (MonadFail m, MonadIO m) => [String] -> Church.F PerfF () -> m ()
+runPerfF :: (Fail.MonadFail m, MonadIO m) => [String] -> Church.F PerfF () -> 
m ()
 runPerfF [] _ = return ()
 runPerfF ss0 f =
   fst `liftM` do
   flip runStateT ss0 $ Church.iterM go f where
-    go (Output o next) = do
+    go (Output _o next) = do
       next
     go (Input next) = do
       g_print_time_since_prev_call
@@ -80,7 +74,8 @@
       next (read s)
 
 -- | Test input is the same for all cases
-test_input = [show i | i<-([1..9999] ++ [0])]
+test_input :: [String]
+test_input = [show i | i<-([1..9999] ++ [0 :: Int])]
 
 -- | Tail-recursive program
 test_tail :: (MonadFree PerfF m) => m ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/Teletype.lhs 
new/free-5.1.7/examples/Teletype.lhs
--- old/free-5.1.6/examples/Teletype.lhs        2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/examples/Teletype.lhs        2001-09-09 03:46:40.000000000 
+0200
@@ -1,11 +1,13 @@
 > {-# LANGUAGE DeriveFunctor, TemplateHaskell, FlexibleContexts #-} --
+> module Main where
 
 > import qualified Control.Exception as E (catch)
 > import Control.Monad         (mfilter)
 > import Control.Monad.Loops   (unfoldM)
 > import Control.Monad.Free    (liftF, Free, iterM, MonadFree)
 > import Control.Monad.Free.TH (makeFree)
-> import Control.Applicative   ((<$>))
+> import Prelude               ()
+> import Prelude.Compat
 > import System.IO             (isEOF)
 > import System.IO.Error       (ioeGetErrorString)
 > import System.Exit           (exitSuccess)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/examples/free-examples.cabal 
new/free-5.1.7/examples/free-examples.cabal
--- old/free-5.1.6/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/examples/free-examples.cabal 2001-09-09 03:46:40.000000000 
+0200
@@ -18,8 +18,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
 synopsis:      Monads for free
 description:   Examples projects using @free@
 build-type:    Simple
@@ -39,13 +40,11 @@
   ghc-options: -Wall
   build-depends:
     base         == 4.*,
+    base-compat  >= 0.6,
     free,
     mtl          >= 2.0.1 && < 2.3,
     transformers >= 0.2   && < 0.6
 
--- This example depends on the HGL library which, unfortunately, fails to
--- compile on GHC 8.4 or later. (See https://github.com/xpika/hgl/issues/3.)
--- Build at your own risk.
 executable free-mandelbrot-iter
   if !flag(mandelbrot-iter)
     buildable: False
@@ -56,7 +55,7 @@
   build-depends:
     base == 4.*,
     free,
-    HGL,
+    HGL          >= 3.2.3.2,
     mtl          >= 2.0.1 && < 2.3,
     transformers >= 0.2   && < 0.6
 
@@ -66,8 +65,9 @@
   main-is: NewtonCoiter.lhs
   ghc-options: -Wall
   build-depends:
-    base    == 4.*,
-    comonad >= 4 && < 6,
+    base        == 4.*,
+    base-compat >= 0.6,
+    comonad     >= 4 && < 6,
     free
 
 executable free-perf-th
@@ -77,7 +77,6 @@
   ghc-options: -Wall
   build-depends:
     base         == 4.*,
-    base-compat,
     fail         == 4.9.*,
     free,
     mtl          >= 2.0.1 && < 2.3,
@@ -91,7 +90,7 @@
   ghc-options: -Wall -fno-warn-orphans
   build-depends:
     base                == 4.*,
-    base-compat,
+    base-compat         >= 0.6,
     fail                == 4.9.*,
     free,
     transformers        >= 0.2   && < 0.6,
@@ -103,7 +102,8 @@
   main-is: Teletype.lhs
   ghc-options: -Wall
   build-depends:
-    base == 4.*,
+    base        == 4.*,
+    base-compat >= 0.6,
     free,
     monad-loops
 
@@ -113,7 +113,7 @@
   main-is: ValidationForm.hs
   ghc-options: -Wall
   build-depends:
-    base == 4.*,
-    base-compat,
+    base        == 4.*,
+    base-compat >= 0.6,
     free,
-    mtl  >= 2.0.1 && < 2.3
+    mtl         >= 2.0.1 && < 2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/free.cabal new/free-5.1.7/free.cabal
--- old/free-5.1.6/free.cabal   2001-09-09 03:46:40.000000000 +0200
+++ new/free-5.1.7/free.cabal   2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 name:          free
 category:      Control, Monads
-version:       5.1.6
+version:       5.1.7
 license:       BSD3
 cabal-version: 1.18
 license-file:  LICENSE
@@ -18,8 +18,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
 synopsis:      Monads for free
 description:
   Free monads are useful for many tree-like structures and domain specific 
languages.
@@ -90,7 +91,7 @@
     th-abstraction       >= 0.4.2.0 && < 0.5,
     transformers         >= 0.3     && < 0.6,
     transformers-base    >= 0.4.5.2 && < 0.5,
-    template-haskell     >= 2.7.0.0 && < 2.18
+    template-haskell     >= 2.7.0.0 && < 2.19
 
   -- GHC-7.8 bundles transformers-0.3,
   -- mtl-2.2.* requires transformers >=0.4
@@ -160,3 +161,5 @@
     -- these flags may abort compilation with GHC-8.10
     -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
     ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode
+
+  x-docspec-extra-packages: tagged
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/src/Control/Comonad/Cofree/Class.hs 
new/free-5.1.7/src/Control/Comonad/Cofree/Class.hs
--- old/free-5.1.6/src/Control/Comonad/Cofree/Class.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.7/src/Control/Comonad/Cofree/Class.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -26,7 +26,7 @@
 import Control.Comonad.Trans.Store
 import Control.Comonad.Trans.Traced
 import Control.Comonad.Trans.Identity
-import Data.List.NonEmpty
+import Data.List.NonEmpty (NonEmpty(..))
 import Data.Tree
 #if __GLASGOW_HASKELL__ < 710
 import Data.Monoid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/src/Control/Monad/Free/Ap.hs 
new/free-5.1.7/src/Control/Monad/Free/Ap.hs
--- old/free-5.1.6/src/Control/Monad/Free/Ap.hs 2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/src/Control/Monad/Free/Ap.hs 2001-09-09 03:46:40.000000000 
+0200
@@ -77,6 +77,14 @@
 import GHC.Generics
 #endif
 
+-- $setup
+-- >>> import Control.Applicative (Const (..))
+-- >>> import Data.Functor.Identity (Identity (..))
+-- >>> import Data.Monoid (First (..))
+-- >>> import Data.Tagged (Tagged (..))
+-- >>> let preview l x = getFirst (getConst (l (Const . First . Just) x))
+-- >>> let review l x = runIdentity (unTagged (l (Tagged (Identity x))))
+
 -- | A free monad given an applicative
 data Free f a = Pure a | Free (f (Free f a))
 #if __GLASGOW_HASKELL__ >= 707
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/src/Control/Monad/Free.hs 
new/free-5.1.7/src/Control/Monad/Free.hs
--- old/free-5.1.6/src/Control/Monad/Free.hs    2001-09-09 03:46:40.000000000 
+0200
+++ new/free-5.1.7/src/Control/Monad/Free.hs    2001-09-09 03:46:40.000000000 
+0200
@@ -71,6 +71,14 @@
 import GHC.Generics
 #endif
 
+-- $setup
+-- >>> import Control.Applicative (Const (..))
+-- >>> import Data.Functor.Identity (Identity (..))
+-- >>> import Data.Monoid (First (..))
+-- >>> import Data.Tagged (Tagged (..))
+-- >>> let preview l x = getFirst (getConst (l (Const . First . Just) x))
+-- >>> let review l x = runIdentity (unTagged (l (Tagged (Identity x))))
+
 -- | The 'Free' 'Monad' for a 'Functor' @f@.
 --
 -- /Formally/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/free-5.1.6/src/Control/Monad/Trans/Free/Church.hs 
new/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs
--- old/free-5.1.6/src/Control/Monad/Trans/Free/Church.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/free-5.1.7/src/Control/Monad/Trans/Free/Church.hs       2001-09-09 
03:46:40.000000000 +0200
@@ -1,4 +1,5 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes #-}

Reply via email to