Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-base-compat-batteries for
openSUSE:Factory checked in at 2023-06-22 23:26:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-compat-batteries (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-compat-batteries.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-compat-batteries"
Thu Jun 22 23:26:01 2023 rev:11 rq:1094480 version:0.13.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-base-compat-batteries/ghc-base-compat-batteries.changes
2023-04-04 21:18:41.520529220 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-base-compat-batteries.new.15902/ghc-base-compat-batteries.changes
2023-06-22 23:26:26.917960166 +0200
@@ -1,0 +2,19 @@
+Fri Jun 10 12:07:43 UTC 2023 - Peter Simons <[email protected]>
+
+- Update base-compat-batteries to version 0.13.0.
+ ## Changes in 0.13.0 [2023.03.10]
+ - This coincides with the `base-compat-0.13.0` release. Refer to the
+ [`base-compat`
changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0130-20230310)
+ for more details.
+ - Require `OneTuple-0.4` or later on GHC 7.4+, as that is the first
`OneTuple`
+ release to backport the `MkSolo` data constuctor for `Solo`. See
+ `Data.Tuple.Compat`.
+ - Introduce `Data.Foldable1.Compat` and `Data.Bifoldable1.Compat` modules,
+ which correspond to changes made in `base-4.18.0.0`.
`base-compat-batteries`
+ uses the `foldable1-classes-compat` library to backport this code to older
+ versions of `base`.
+ - Depend on `bifunctor-classes-compat` to backport the `Bifunctor`,
+ `Bifoldable`, and `Bitraversable` classes instead of the
+ `bifunctors` library, which has more dependencies.
+
+-------------------------------------------------------------------
Old:
----
base-compat-batteries-0.12.2.tar.gz
New:
----
base-compat-batteries-0.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-compat-batteries.spec ++++++
--- /var/tmp/diff_new_pack.cAm550/_old 2023-06-22 23:26:27.469962981 +0200
+++ /var/tmp/diff_new_pack.cAm550/_new 2023-06-22 23:26:27.473963001 +0200
@@ -20,17 +20,21 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.12.2
+Version: 0.13.0
Release: 0
Summary: Base-compat with extra batteries
License: MIT
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
BuildRequires: ghc-Cabal-devel
+BuildRequires: ghc-OneTuple-devel
+BuildRequires: ghc-OneTuple-prof
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
+BuildRequires: ghc-foldable1-classes-compat-devel
+BuildRequires: ghc-foldable1-classes-compat-prof
BuildRequires: ghc-rpm-macros
ExcludeArch: %{ix86}
%if %{with tests}
++++++ base-compat-batteries-0.12.2.tar.gz ->
base-compat-batteries-0.13.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-compat-batteries-0.12.2/CHANGES.markdown
new/base-compat-batteries-0.13.0/CHANGES.markdown
--- old/base-compat-batteries-0.12.2/CHANGES.markdown 2001-09-09
03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/CHANGES.markdown 2001-09-09
03:46:40.000000000 +0200
@@ -1,3 +1,18 @@
+## Changes in 0.13.0 [2023.03.10]
+ - This coincides with the `base-compat-0.13.0` release. Refer to the
+ [`base-compat`
changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0130-20230310)
+ for more details.
+ - Require `OneTuple-0.4` or later on GHC 7.4+, as that is the first `OneTuple`
+ release to backport the `MkSolo` data constuctor for `Solo`. See
+ `Data.Tuple.Compat`.
+ - Introduce `Data.Foldable1.Compat` and `Data.Bifoldable1.Compat` modules,
+ which correspond to changes made in `base-4.18.0.0`. `base-compat-batteries`
+ uses the `foldable1-classes-compat` library to backport this code to older
+ versions of `base`.
+ - Depend on `bifunctor-classes-compat` to backport the `Bifunctor`,
+ `Bifoldable`, and `Bitraversable` classes instead of the
+ `bifunctors` library, which has more dependencies.
+
## Changes in 0.12.2 [2022.08.11]
- This coincides with the `base-compat-0.12.2` release. Refer to the
[`base-compat`
changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0122-20220811)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/base-compat-batteries.cabal
new/base-compat-batteries-0.13.0/base-compat-batteries.cabal
--- old/base-compat-batteries-0.12.2/base-compat-batteries.cabal
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/base-compat-batteries.cabal
2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
name: base-compat-batteries
-version: 0.12.2
+version: 0.13.0
license: MIT
license-file: LICENSE
copyright: (c) 2012-2018 Simon Hengel,
@@ -48,7 +48,7 @@
Haskell2010
build-depends:
base >= 4.3 && < 5,
- base-compat == 0.12.2,
+ base-compat == 0.13.0,
ghc-prim
if !impl(ghc >= 7.8)
build-depends:
@@ -65,14 +65,15 @@
transformers-compat >= 0.6 && < 0.8
if !impl(ghc >= 8.2)
build-depends:
- bifunctors >= 5.5.2 && < 5.6,
- type-equality >= 1 && < 1.1
+ bifunctor-classes-compat >= 0.1 && < 0.2,
+ type-equality >= 1 && < 1.1
if !impl(ghc >= 8.6)
build-depends:
contravariant >= 1.5 && < 1.6
- if !impl(ghc >= 9.0)
+ if !impl(ghc >= 9.6)
build-depends:
- OneTuple >= 0.3 && < 0.4
+ foldable1-classes-compat >= 0.1 && < 0.2,
+ OneTuple >= 0.4 && < 0.5
ghc-options:
-fno-warn-duplicate-exports
if impl(ghc >= 7.10)
@@ -91,6 +92,7 @@
Control.Monad.ST.Lazy.Unsafe.Compat
Control.Monad.ST.Unsafe.Compat
Data.Bifoldable.Compat
+ Data.Bifoldable1.Compat
Data.Bifunctor.Compat
Data.Bitraversable.Compat
Data.Bits.Compat
@@ -98,6 +100,7 @@
Data.Complex.Compat
Data.Either.Compat
Data.Foldable.Compat
+ Data.Foldable1.Compat
Data.Function.Compat
Data.Functor.Compat
Data.Functor.Compose.Compat
@@ -115,7 +118,9 @@
Data.Semigroup.Compat
Data.STRef.Compat
Data.String.Compat
+ Data.Traversable.Compat
Data.Tuple.Compat
+ Data.Typeable.Compat
Data.Type.Coercion.Compat
Data.Type.Equality.Compat
Data.Version.Compat
@@ -153,6 +158,7 @@
Control.Monad.ST.Lazy.Unsafe.Compat.Repl.Batteries
Control.Monad.ST.Unsafe.Compat.Repl.Batteries
Data.Bifoldable.Compat.Repl.Batteries
+ Data.Bifoldable1.Compat.Repl.Batteries
Data.Bifunctor.Compat.Repl.Batteries
Data.Bitraversable.Compat.Repl.Batteries
Data.Bits.Compat.Repl.Batteries
@@ -160,6 +166,7 @@
Data.Complex.Compat.Repl.Batteries
Data.Either.Compat.Repl.Batteries
Data.Foldable.Compat.Repl.Batteries
+ Data.Foldable1.Compat.Repl.Batteries
Data.Function.Compat.Repl.Batteries
Data.Functor.Compat.Repl.Batteries
Data.Functor.Compose.Compat.Repl.Batteries
@@ -177,7 +184,9 @@
Data.Semigroup.Compat.Repl.Batteries
Data.STRef.Compat.Repl.Batteries
Data.String.Compat.Repl.Batteries
+ Data.Traversable.Compat.Repl.Batteries
Data.Tuple.Compat.Repl.Batteries
+ Data.Typeable.Compat.Repl.Batteries
Data.Type.Coercion.Compat.Repl.Batteries
Data.Type.Equality.Compat.Repl.Batteries
Data.Version.Compat.Repl.Batteries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Bifoldable/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Bifoldable/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Bifoldable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Data/Bifoldable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -6,5 +6,5 @@
#if MIN_VERSION_base(4,10,0)
import "base-compat" Data.Bifoldable.Compat as Base
#else
-import "bifunctors" Data.Bifoldable as Base
+import "bifunctor-classes-compat" Data.Bifoldable as Base
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Bifoldable1/Compat/Repl/Batteries.hs
new/base-compat-batteries-0.13.0/src/Data/Bifoldable1/Compat/Repl/Batteries.hs
---
old/base-compat-batteries-0.12.2/src/Data/Bifoldable1/Compat/Repl/Batteries.hs
1970-01-01 01:00:00.000000000 +0100
+++
new/base-compat-batteries-0.13.0/src/Data/Bifoldable1/Compat/Repl/Batteries.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,8 @@
+{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}
+-- | Reexports "Data.Bifoldable1.Compat"
+-- from a globally unique namespace.
+module Data.Bifoldable1.Compat.Repl.Batteries (
+ module Data.Bifoldable1.Compat
+) where
+import "this" Data.Bifoldable1.Compat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Bifoldable1/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Bifoldable1/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Bifoldable1/Compat.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base-compat-batteries-0.13.0/src/Data/Bifoldable1/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,10 @@
+{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+module Data.Bifoldable1.Compat (
+ module Base
+) where
+
+#if MIN_VERSION_base(4,18,0)
+import "base-compat" Data.Bifoldable1.Compat as Base
+#else
+import "foldable1-classes-compat" Data.Bifoldable1 as Base
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Bifunctor/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Bifunctor/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Bifunctor/Compat.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Data/Bifunctor/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -6,5 +6,5 @@
#if MIN_VERSION_base(4,8,0)
import "base-compat" Data.Bifunctor.Compat as Base
#else
-import "bifunctors" Data.Bifunctor as Base
+import "bifunctor-classes-compat" Data.Bifunctor as Base
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Bitraversable/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Bitraversable/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Bitraversable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Data/Bitraversable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -6,5 +6,5 @@
#if MIN_VERSION_base(4,10,0)
import "base-compat" Data.Bitraversable.Compat as Base
#else
-import "bifunctors" Data.Bitraversable as Base
+import "bifunctor-classes-compat" Data.Bitraversable as Base
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Foldable1/Compat/Repl/Batteries.hs
new/base-compat-batteries-0.13.0/src/Data/Foldable1/Compat/Repl/Batteries.hs
---
old/base-compat-batteries-0.12.2/src/Data/Foldable1/Compat/Repl/Batteries.hs
1970-01-01 01:00:00.000000000 +0100
+++
new/base-compat-batteries-0.13.0/src/Data/Foldable1/Compat/Repl/Batteries.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,8 @@
+{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}
+-- | Reexports "Data.Foldable1.Compat"
+-- from a globally unique namespace.
+module Data.Foldable1.Compat.Repl.Batteries (
+ module Data.Foldable1.Compat
+) where
+import "this" Data.Foldable1.Compat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Foldable1/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Foldable1/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Foldable1/Compat.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base-compat-batteries-0.13.0/src/Data/Foldable1/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,10 @@
+{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+module Data.Foldable1.Compat (
+ module Base
+) where
+
+#if MIN_VERSION_base(4,18,0)
+import "base-compat" Data.Foldable1.Compat as Base
+#else
+import "foldable1-classes-compat" Data.Foldable1 as Base
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/List/NonEmpty/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/List/NonEmpty/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/List/NonEmpty/Compat.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Data/List/NonEmpty/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -4,76 +4,84 @@
NonEmpty(..)
-- * Non-empty stream transformations
- , map
- , intersperse
- , scanl
- , scanr
- , scanl1
- , scanr1
- , transpose
- , sortBy
- , sortWith
+ , map
+ , intersperse
+ , scanl
+ , scanr
+ , scanl1
+ , scanr1
+ , transpose
+ , sortBy
+ , sortWith
-- * Basic functions
- , length
- , head
- , tail
- , last
- , init
+ , length
+ , head
+ , tail
+ , last
+ , init
, singleton
- , (<|), cons
- , uncons
- , unfoldr
- , sort
- , reverse
- , inits
- , tails
+ , (<|), cons
+ , uncons
+ , unfoldr
+ , sort
+ , reverse
+ , inits
+ , inits1
+ , tails
+ , tails1
-- * Building streams
- , iterate
- , repeat
- , cycle
- , unfold
- , insert
- , some1
+ , iterate
+ , repeat
+ , cycle
+ , unfold
+ , insert
+ , some1
-- * Extracting sublists
- , take
- , drop
- , splitAt
- , takeWhile
- , dropWhile
- , span
- , break
- , filter
- , partition
- , group
- , groupBy
- , groupWith
- , groupAllWith
- , group1
- , groupBy1
- , groupWith1
- , groupAllWith1
+ , take
+ , drop
+ , splitAt
+ , takeWhile
+ , dropWhile
+ , span
+ , break
+ , filter
+ , partition
+ , group
+ , groupBy
+ , groupWith
+ , groupAllWith
+ , group1
+ , groupBy1
+ , groupWith1
+ , groupAllWith1
-- * Sublist predicates
- , isPrefixOf
+ , isPrefixOf
-- * \"Set\" operations
- , nub
- , nubBy
+ , nub
+ , nubBy
-- * Indexing streams
- , (!!)
+ , (!!)
-- * Zipping and unzipping streams
- , zip
- , zipWith
- , unzip
+ , zip
+ , zipWith
+ , unzip
-- * Converting to and from a list
- , fromList
- , toList
- , nonEmpty
- , xor
+ , fromList
+ , toList
+ , nonEmpty
+ , xor
) where
#if MIN_VERSION_base(4,9,0)
import "base-compat" Data.List.NonEmpty.Compat
#else
import "semigroups" Data.List.NonEmpty
+
+import qualified "this" Prelude.Compat as Prelude
+import "this" Prelude.Compat ((.))
+
+import qualified "this" Data.Foldable.Compat as Foldable
+import qualified "this" Data.List.Compat as List
#endif
#if !(MIN_VERSION_base(4,9,0))
@@ -82,4 +90,40 @@
-- /Since: 4.15/
singleton :: a -> NonEmpty a
singleton a = a :| []
+
+-- | The 'inits1' function takes a 'NonEmpty' stream @xs@ and returns all the
+-- 'NonEmpty' finite prefixes of @xs@, starting with the shortest.
+--
+-- > inits1 (1 :| [2,3]) == (1 :| []) :| [1 :| [2], 1 :| [2,3]]
+-- > inits1 (1 :| []) == (1 :| []) :| []
+--
+-- /Since: 4.18/
+inits1 :: NonEmpty a -> NonEmpty (NonEmpty a)
+inits1 =
+ -- fromList is an unsafe function, but this usage should be safe, since:
+ -- - `inits xs = [[], ..., init (init xs), init xs, xs]`
+ -- - If `xs` is nonempty, it follows that `inits xs` contains at least one
nonempty
+ -- list, since `last (inits xs) = xs`.
+ -- - The only empty element of `inits xs` is the first one (by the
definition of `inits`)
+ -- - Therefore, if we take all but the first element of `inits xs` i.e.
+ -- `tail (inits xs)`, we have a nonempty list of nonempty lists
+ fromList . Prelude.map fromList . List.tail . List.inits . Foldable.toList
+
+-- | The 'tails1' function takes a 'NonEmpty' stream @xs@ and returns all the
+-- non-empty suffixes of @xs@, starting with the longest.
+--
+-- > tails1 (1 :| [2,3]) == (1 :| [2,3]) :| [2 :| [3], 3 :| []]
+-- > tails1 (1 :| []) == (1 :| []) :| []
+--
+-- /Since: 4.18/
+tails1 :: NonEmpty a -> NonEmpty (NonEmpty a)
+tails1 =
+ -- fromList is an unsafe function, but this usage should be safe, since:
+ -- - `tails xs = [xs, tail xs, tail (tail xs), ..., []]`
+ -- - If `xs` is nonempty, it follows that `tails xs` contains at least one
nonempty
+ -- list, since `head (tails xs) = xs`.
+ -- - The only empty element of `tails xs` is the last one (by the definition
of `tails`)
+ -- - Therefore, if we take all but the last element of `tails xs` i.e.
+ -- `init (tails xs)`, we have a nonempty list of nonempty lists
+ fromList . Prelude.map fromList . List.init . List.tails . Foldable.toList
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Traversable/Compat/Repl/Batteries.hs
new/base-compat-batteries-0.13.0/src/Data/Traversable/Compat/Repl/Batteries.hs
---
old/base-compat-batteries-0.12.2/src/Data/Traversable/Compat/Repl/Batteries.hs
1970-01-01 01:00:00.000000000 +0100
+++
new/base-compat-batteries-0.13.0/src/Data/Traversable/Compat/Repl/Batteries.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,8 @@
+{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}
+-- | Reexports "Data.Traversable.Compat"
+-- from a globally unique namespace.
+module Data.Traversable.Compat.Repl.Batteries (
+ module Data.Traversable.Compat
+) where
+import "this" Data.Traversable.Compat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Traversable/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Traversable/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Traversable/Compat.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base-compat-batteries-0.13.0/src/Data/Traversable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,6 @@
+{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+module Data.Traversable.Compat (
+ module Base
+) where
+
+import "base-compat" Data.Traversable.Compat as Base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Tuple/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Tuple/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Tuple/Compat.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Data/Tuple/Compat.hs 2001-09-09
03:46:40.000000000 +0200
@@ -1,6 +1,27 @@
{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+#if __GLASGOW_HASKELL__ >= 708
+{-# LANGUAGE PatternSynonyms #-}
+#endif
+-- | This uses the @OneTuple@ compatibility library to backport 'Solo' to old
+-- versions of GHC. Note that @OneTuple@ makes use of pattern synonyms, which
+-- cannot be defined on pre-7.8 versions of GHC. As such, it is not feasible
+-- to backport the @Solo@ data constructor on pre-7.8 versions of GHC, as
+-- @OneTuple@ defines this as a pattern synonym.
module Data.Tuple.Compat
- ( Solo (..)
+ (
+#if MIN_VERSION_ghc_prim(0,10,0)
+ Solo(MkSolo, Solo)
+#elif MIN_VERSION_ghc_prim(0,7,0)
+ Solo(Solo)
+ , pattern MkSolo
+#elif __GLASGOW_HASKELL__ >= 800
+ Solo(MkSolo, Solo)
+#elif __GLASGOW_HASKELL__ >= 708
+ Solo(MkSolo)
+ , pattern Solo
+#else
+ Solo(MkSolo)
+#endif
, fst
, snd
, curry
@@ -8,9 +29,12 @@
, swap
) where
-#if MIN_VERSION_ghc_prim(0,7,0)
+#if MIN_VERSION_ghc_prim(0,10,0)
+import "base-compat" Data.Tuple.Compat
+#elif MIN_VERSION_ghc_prim(0,7,0)
import "base-compat" Data.Tuple.Compat
+import "OneTuple" Data.Tuple.Solo (pattern MkSolo)
#else
import "base" Data.Tuple
-import "OneTuple" Data.Tuple.Solo (Solo(..))
+import "OneTuple" Data.Tuple.Solo
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Typeable/Compat/Repl/Batteries.hs
new/base-compat-batteries-0.13.0/src/Data/Typeable/Compat/Repl/Batteries.hs
--- old/base-compat-batteries-0.12.2/src/Data/Typeable/Compat/Repl/Batteries.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base-compat-batteries-0.13.0/src/Data/Typeable/Compat/Repl/Batteries.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,8 @@
+{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}
+-- | Reexports "Data.Typeable.Compat"
+-- from a globally unique namespace.
+module Data.Typeable.Compat.Repl.Batteries (
+ module Data.Typeable.Compat
+) where
+import "this" Data.Typeable.Compat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Data/Typeable/Compat.hs
new/base-compat-batteries-0.13.0/src/Data/Typeable/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Data/Typeable/Compat.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base-compat-batteries-0.13.0/src/Data/Typeable/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,6 @@
+{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+module Data.Typeable.Compat (
+ module Base
+) where
+
+import "base-compat" Data.Typeable.Compat as Base
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base-compat-batteries-0.12.2/src/Numeric/Natural/Compat.hs
new/base-compat-batteries-0.13.0/src/Numeric/Natural/Compat.hs
--- old/base-compat-batteries-0.12.2/src/Numeric/Natural/Compat.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/src/Numeric/Natural/Compat.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,10 +1,24 @@
{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+#if __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
+#endif
module Numeric.Natural.Compat (
module Base
+, minusNaturalMaybe
) where
#if MIN_VERSION_base(4,8,0)
import "base-compat" Numeric.Natural.Compat as Base
#else
import "nats" Numeric.Natural as Base
+
+import "this" Prelude.Compat
+
+-- | 'Natural' subtraction. Returns 'Nothing's for non-positive results.
+--
+-- /Since: 4.18.0.0/
+minusNaturalMaybe :: Natural -> Natural -> Maybe Natural
+minusNaturalMaybe x y
+ | x < y = Nothing
+ | otherwise = Just (x - y)
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-compat-batteries-0.12.2/test/SafeHaskellSpec.hs
new/base-compat-batteries-0.13.0/test/SafeHaskellSpec.hs
--- old/base-compat-batteries-0.12.2/test/SafeHaskellSpec.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/base-compat-batteries-0.13.0/test/SafeHaskellSpec.hs 2001-09-09
03:46:40.000000000 +0200
@@ -14,6 +14,7 @@
import Control.Monad.Fail.Compat ()
import Control.Monad.IO.Class.Compat ()
import Data.Bifoldable.Compat ()
+import Data.Bifoldable1.Compat ()
import Data.Bifunctor.Compat ()
import Data.Bitraversable.Compat ()
import Data.Bits.Compat ()
@@ -21,6 +22,7 @@
import Data.Complex.Compat ()
import Data.Either.Compat ()
import Data.Foldable.Compat ()
+import Data.Foldable1.Compat ()
import Data.Function.Compat ()
import Data.Functor.Compat ()
import Data.Functor.Compose.Compat ()
@@ -38,7 +40,9 @@
import Data.Semigroup.Compat ()
import Data.STRef.Compat ()
import Data.String.Compat ()
+import Data.Traversable.Compat ()
import Data.Tuple.Compat ()
+import Data.Typeable.Compat ()
import Data.Type.Coercion.Compat ()
import Data.Type.Equality.Compat ()
import Data.Version.Compat ()