Hello community, here is the log from the commit of package ghc-intro for openSUSE:Factory checked in at 2017-05-03 15:56:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-intro (Old) and /work/SRC/openSUSE:Factory/.ghc-intro.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-intro" Wed May 3 15:56:10 2017 rev:2 rq:489810 version:0.1.0.10 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-intro/ghc-intro.changes 2017-04-14 13:33:09.118135320 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-intro.new/ghc-intro.changes 2017-05-03 15:56:11.320708681 +0200 @@ -1,0 +2,5 @@ +Tue Mar 7 11:19:26 UTC 2017 - psimons@suse.com + +- Update to version 0.1.0.10 with cabal2obs. + +------------------------------------------------------------------- Old: ---- intro-0.1.0.8.tar.gz New: ---- intro-0.1.0.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-intro.spec ++++++ --- /var/tmp/diff_new_pack.DDczwV/_old 2017-05-03 15:56:12.284572608 +0200 +++ /var/tmp/diff_new_pack.DDczwV/_new 2017-05-03 15:56:12.288572044 +0200 @@ -19,7 +19,7 @@ %global pkg_name intro %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.1.0.8 +Version: 0.1.0.10 Release: 0 Summary: "Fixed Prelude" - Mostly total and safe, provides Text and Monad transformers License: MIT ++++++ intro-0.1.0.8.tar.gz -> intro-0.1.0.10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intro-0.1.0.8/intro.cabal new/intro-0.1.0.10/intro.cabal --- old/intro-0.1.0.8/intro.cabal 2017-02-14 16:43:42.000000000 +0100 +++ new/intro-0.1.0.10/intro.cabal 2017-03-03 06:18:06.000000000 +0100 @@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: intro -version: 0.1.0.8 +version: 0.1.0.10 synopsis: "Fixed Prelude" - Mostly total and safe, provides Text and Monad transformers description: Intro is a modern Prelude which provides safe alternatives for most of the partial functions and follows other diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intro-0.1.0.8/src/Intro/Trustworthy.hs new/intro-0.1.0.10/src/Intro/Trustworthy.hs --- old/intro-0.1.0.8/src/Intro/Trustworthy.hs 2017-02-14 14:16:47.000000000 +0100 +++ new/intro-0.1.0.10/src/Intro/Trustworthy.hs 2017-03-03 05:57:48.000000000 +0100 @@ -38,10 +38,9 @@ import Control.Monad.Trans (MonadIO(liftIO)) import Data.Function ((.)) -import Data.Text (Text) +import Data.Text (Text, unpack) import Text.Show (Show) import qualified Data.DList -import qualified Data.Text import qualified Debug.Trace import qualified GHC.Exts import qualified Data.Hashable.Lifted @@ -70,7 +69,7 @@ -- that it is a pure function but it has the side effect of outputting the -- trace message. trace :: Text -> a -> a -trace = Debug.Trace.trace . Data.Text.unpack +trace = Debug.Trace.trace . unpack {-# WARNING trace "'trace' remains in code" #-} -- | Like 'trace' but returning unit in an arbitrary 'Applicative' context. Allows @@ -89,7 +88,7 @@ -- > y <- ... -- > traceM $ "y: " ++ show y traceM :: APPLICATIVE m => Text -> m () -traceM = Debug.Trace.traceM . Data.Text.unpack +traceM = Debug.Trace.traceM . unpack {-# WARNING traceM "'traceM' remains in code" #-} -- | Like 'trace', but uses 'show' on the argument to convert it to a 'String'. @@ -121,5 +120,5 @@ -- | The 'traceIO' function outputs the trace message from the IO monad. -- This sequences the output with respect to other IO actions. traceIO :: MonadIO m => Text -> m () -traceIO = liftIO . Debug.Trace.traceIO . Data.Text.unpack +traceIO = liftIO . Debug.Trace.traceIO . unpack {-# WARNING traceIO "'traceIO' remains in code" #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intro-0.1.0.8/src/Intro.hs new/intro-0.1.0.10/src/Intro.hs --- old/intro-0.1.0.8/src/Intro.hs 2017-02-14 16:43:10.000000000 +0100 +++ new/intro-0.1.0.10/src/Intro.hs 2017-03-03 06:13:47.000000000 +0100 @@ -45,7 +45,7 @@ -- Some 'Prelude' functions are missing from 'Intro'. More general variants are available for the following functions: -- -- * '>>' = 'Control.Applicative.*>' --- * '++' = 'Data.Semigroup.<>' +-- * '++' = '<>' -- * 'concat' = 'Data.Monoid.mconcat' -- * 'fmap' is replaced by generalized 'map' -- * 'mapM' = 'Control.Applicative.traverse' @@ -70,7 +70,7 @@ -- * 'gcd' and 'lcm' are not commonly used. -- * 'error' and 'errorWithoutStackTrace' are not provided. Use 'panic' instead. -- * 'ioError' and 'userError' are not provided. Import modules for exception handling separately if needed. --- * Some 'Text.Read' and 'Text.Show' class functions are not provided. Don't write these instances yourself. +-- * Some 'Read' and 'Show' class functions are not provided. Don't write these instances yourself. -- -- Additional types and functions: -- @@ -137,6 +137,8 @@ , convertList , fromFoldable , Data.List.break + , Data.List.Extra.breakOn + , Data.List.Extra.breakOnEnd , Data.List.drop , Data.List.Extra.dropEnd , Data.List.dropWhile @@ -145,6 +147,9 @@ , Data.List.group , Data.List.groupBy , Data.List.Extra.groupOn + , Data.List.Extra.groupSort + , Data.List.Extra.groupSortBy + , Data.List.Extra.groupSortOn , Data.List.inits , Data.List.intercalate , Data.List.intersperse @@ -165,7 +170,10 @@ , Data.List.sortBy , Data.List.sortOn , Data.List.span + , Data.List.Extra.spanEnd , Data.List.splitAt + , Data.List.Extra.split + , Data.List.Extra.splitOn , Data.List.subsequences , Data.List.tails , Data.List.take @@ -220,8 +228,8 @@ -- * Text types -- ** Char and String - , Prelude.Char - , Prelude.String + , Data.Char.Char + , Data.String.String -- ** Text , Data.Text.Text @@ -484,12 +492,11 @@ , Data.List.NonEmpty.some1 -- ** Monad -#if MIN_VERSION_base(4,9,0) , Control.Monad.Monad((>>=)) - , Control.Monad.Fail.MonadFail(fail) -#else - , Control.Monad.Monad((>>=), fail) +#if MIN_VERSION_base(4,9,0) + , Control.Monad.Fail.MonadFail #endif + , fail , Control.Monad.Fix.MonadFix(mfix) , (Control.Monad.=<<) , (Control.Monad.<=<) @@ -635,7 +642,7 @@ --, interact -- ** File - , Prelude.FilePath + , System.IO.FilePath , readFile , writeFile , appendFile @@ -655,13 +662,18 @@ import Control.Monad.Trans (MonadIO(liftIO)) import Data.ByteString (ByteString) +import Data.Char (Char) import Data.Function ((.), ($)) +import Data.Functor (Functor(fmap)) import Data.Maybe (Maybe, fromMaybe) -import Data.Semigroup ((<>)) +import Data.Semigroup (Semigroup((<>))) +import Data.String (IsString(fromString), String) import Data.String.Conversions (ConvertibleStrings(convertString)) import Data.Text (Text) import Intro.Trustworthy (HasCallStack, IsList(Item, toList, fromList)) -import Prelude (String, Char, FilePath, Show) +import System.IO (FilePath) +import Text.Read (Read) +import Text.Show (Show) import qualified Control.Applicative import qualified Control.Category import qualified Control.DeepSeq @@ -708,7 +720,6 @@ import qualified Data.Semigroup import qualified Data.Sequence import qualified Data.Set -import qualified Data.String import qualified Data.Tagged import qualified Data.Text.IO import qualified Data.Text.Lazy @@ -751,16 +762,16 @@ convertList = fromList . toList {-# INLINE convertList #-} --- | A synonym for 'Data.Functor.fmap'. +-- | A synonym for 'fmap'. -- --- @map = 'Data.Functor.fmap'@ -map :: Data.Functor.Functor f => (a -> b) -> f a -> f b -map = Data.Functor.fmap +-- @map = 'fmap'@ +map :: Functor f => (a -> b) -> f a -> f b +map = fmap {-# INLINE map #-} -- | Convert a value to a readable string type supported by 'ConvertibleStrings' using the 'Show' instance. -show :: (Show a, ConvertibleStrings String b) => a -> b -show = convertString . showS +show :: (Show a, IsString s) => a -> s +show = fromString . showS {-# INLINE show #-} -- | Convert a value to a readable 'Text' using the 'Show' instance. @@ -885,8 +896,8 @@ {-# WARNING undefined "'undefined' remains in code" #-} -- | '<>' lifted to 'Control.Applicative.Applicative' -(<>^) :: (Control.Applicative.Applicative f, Data.Semigroup.Semigroup a) => f a -> f a -> f a -(<>^) = Control.Applicative.liftA2 (Data.Semigroup.<>) +(<>^) :: (Control.Applicative.Applicative f, Semigroup a) => f a -> f a -> f a +(<>^) = Control.Applicative.liftA2 (<>) infixr 6 <>^ {-# INLINE (<>^) #-} @@ -922,3 +933,34 @@ "Panic: " <> msg <> "\n\n" <> "Please submit a bug report including the stacktrace\n" <> "and a description on how to reproduce the bug." + +-- | Monad fail function from the 'Control.Monad.Fail.MonadFail' class. +-- +-- When a value is bound in @do@-notation, the pattern on the left +-- hand side of @<-@ might not match. In this case, this class +-- provides a function to recover. +-- +-- A 'Monad' without a 'MonadFail' instance may only be used in conjunction +-- with pattern that always match, such as newtypes, tuples, data types with +-- only a single data constructor, and irrefutable patterns (@~pat@). +-- +-- Instances of 'MonadFail' should satisfy the following law: @fail s@ should +-- be a left zero for '>>=', +-- +-- @ +-- fail s >>= f = fail s +-- @ +-- +-- If your 'Monad' is also 'MonadPlus', a popular definition is +-- +-- @ +-- fail _ = mzero +-- @ +#if MIN_VERSION_base(4,9,0) +fail :: Control.Monad.Fail.MonadFail m => Text -> m a +fail = Control.Monad.Fail.fail . convertString +#else +fail :: Control.Monad.Monad m => Text -> m a +fail = Control.Monad.fail . convertString +#endif +{-# INLINE fail #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intro-0.1.0.8/test/BaseCompat.hs new/intro-0.1.0.10/test/BaseCompat.hs --- old/intro-0.1.0.8/test/BaseCompat.hs 2017-01-09 20:20:17.000000000 +0100 +++ new/intro-0.1.0.10/test/BaseCompat.hs 2017-03-03 05:23:48.000000000 +0100 @@ -79,6 +79,6 @@ import Unsafe.Coerce as X #if MIN_VERSION_base(4,9,0) -import Control.Monad.Fail as X +import Control.Monad.Fail as X hiding (fail) import Data.Kind as X #endif