File ghc-semigroupoids.changes of Package ghc-semigroupoids
-------------------------------------------------------------------
Sat Sep 30 12:41:14 UTC 2023 - Peter Simons <psimons@suse.com>
- Update semigroupoids to version 6.0.0.1 revision 1.
6.0.0.1 [2023.03.16]
--------------------
* When building with GHC 9.6, require `transformers >= 0.6.1` and
`containers >= 0.6.7`. This ensures that `semigroupoids` always provides
`Traversable1` instances for data types from `transformers` and `containers`
unconditionally.
6 [2023.03.12]
--------------
* Drop support for GHC 7.10 and earlier.
* The `Foldable1` and `Bifoldable1` classes have been migrated:
* When building with `base-4.18` or later, `semigroupoids` re-exports
`Foldable1` and `Bifoldable1` from `base`. (These classes were added to
`base-4.18` as a result of
[this Core Libraries proposal](haskell/core-libraries-committee#9).)
* When building with older versions of `base`, `semigroupoids` re-exports
`Foldable1` and `Bifoldable1` from the
[`foldable1-classes-compat`](https://github.com/haskell-compat/foldable1-classes-compat)
compatibility package.
Note that the version of `Foldable1` that `semigroupoids` defined in previous
releases only had three class methods: `fold1`, `foldMap1`, and `toNonEmpty`.
Moreover, `foldMap1` had a default implementation in terms of a `Foldable`
constraint. `base`'s version of `Foldable1`, however, has some notable
differences:
1. It has many more methods than the three listed above, such as the
`foldrMap1` method.
2. `foldMap1` now has a default implementation in terms of `foldrMap1` instead
of in terms of a `Foldable` constraint.
To avoid (1) causing issues when upgrading to `semigroupoids-6`,
`Data.Semigroup.Foldable` only re-exports the `fold1`, `foldMap1`, and
`toNonEmpty` methods, which reflects the API in previous `semigroupoids`
releases. If you want to use the other, new class methods of `Foldable1`,
consider importing it from `Data.Foldable1` (its home in `base`) instead.
Difference (2) is trickier, because it is possible that existing code that
defines valid `Foldable1` instances will need to be migrated. If you have an
instance like this:
```hs
import Data.Semigroup.Foldable
data T a = MkT a
instance Foldable T where
foldMap f (MkT x) = f x
instance Foldable1 T -- Relying on Foldable-based defaults
```
Then calling `foldMap1` on `T` will throw an error with `semigroupoids-6`, as
`foldMap1`'s default implementation no longer uses `Foldable`. To migrate this
code, change the instance to explicitly define `foldMap1`:
```hs
instance Foldable1 T where
foldMap1 f (MkT x) = f x
```
This approach should be backwards-compatible with previous `semigroupoids`
releases.
Some other side effects of this migration include:
* The `Data.Semigroup.Foldable.Class` module has been deprecated. It no
longer serves a useful role, as it simply re-exports a limited subset of
the `Data.Foldable1` and `Data.Bifoldable1` API.
* All of the `Foldable1` and `Bifoldable1` instances that were previously
defined in `semigroupoids` have now been migrated to downstream libraries
(`base`, `bifunctors`, `containers`, `tagged`, and `transformers`), so it
is no longer strictly necessary to depend on `semigroupoids` to make use of
these instances.
* Add `Generic1`-based functions for many classes, useful for writing instances:
- `Data.Functor.Alt.(<!>)` -> `Data.Functor.Alt.galt`
- `Data.Functor.Apply.{liftF2,liftF3}` -> `Data.Functor.Apply.{gliftF2,gliftF3}`
- `Data.Functor.Bind.(>>-)` -> `Data.Functor.Bind.gbind`
- `Data.Functor.Contravariant.Conclude.{conclude,concluded}` -> `Data.Functor.Contravariant.Conclude.{gconclude,gconcluded}`
- `Data.Functor.Contravariant.Decide.{decide,decided}` -> `Data.Functor.Contravariant.Decide.{gdecide,gdecided}`
- `Data.Functor.Contravariant.Divise.{divise,divised}` -> `Data.Functor.Contravariant.Divise.{gdivise,gdivised}`
- `Data.Functor.Extend.{duplicated,extended}` -> `Data.Functor.Extend.{gduplicated,gextended}`
- `Data.Functor.Plus.zero` -> `Data.Functor.Plus.gzero`
- `Data.Semigroup.Foldable.{fold1,foldMap1,toNonEmpty}` -> `Data.Semigroup.Foldable.{gfold1,gfoldMap1,gtoNonEmpty}`
- `Data.Semigroup.Traversable.{traverse1,sequence1}` -> `Data.Semigroup.Traversable.{gtraverse1,gsequence1}`
-------------------------------------------------------------------
Thu Mar 30 17:08:11 UTC 2023 - Peter Simons <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
-------------------------------------------------------------------
Thu Feb 2 15:17:08 UTC 2023 - Peter Simons <psimons@suse.com>
- Update semigroupoids to version 5.3.7 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon Jan 10 00:07:09 UTC 2022 - Peter Simons <psimons@suse.com>
- Update semigroupoids to version 5.3.7.
5.3.7 [2022.01.09]
------------------
* Relax the `Bind` constraints in the following instances to `Functor`:
```diff
-instance (Bind f, Monad f) => Alt (MaybeT f)
-instance (Bind f, Monad f) => Plus (MaybeT f)
+instance (Functor f, Monad f) => Alt (MaybeT f)
+instance (Functor f, Monad f) => Plus (MaybeT f)
-instance (Bind f, Monad f, Semigroup e) => Alt (ExceptT e f)
-instance (Bind f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f)
+instance (Functor f, Monad f, Semigroup e) => Alt (ExceptT e f)
+instance (Functor f, Monad f, Semigroup e, Monoid e) => Plus (ExceptT e f)
-- If building with transformers-0.5.* or older
-instance (Bind f, Monad f) => Alt (ErrorT e f)
-instance (Bind f, Monad f, Error e) => Plus (ErrorT e f
+instance (Functor f, Monad f) => Alt (ErrorT e f)
+instance (Functor f, Monad f, Error e) => Plus (ErrorT e f)
```
-------------------------------------------------------------------
Wed Nov 10 10:04:07 UTC 2021 - psimons@suse.com
- Update semigroupoids to version 5.3.6 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sun Oct 10 14:17:19 UTC 2021 - psimons@suse.com
- Update semigroupoids to version 5.3.6 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Fri Oct 8 07:18:53 UTC 2021 - psimons@suse.com
- Update semigroupoids to version 5.3.6.
5.3.6 [2021.10.07]
------------------
* Allow building with GHC 9.2.
* Allow building with `transformers-0.6.*`.
* Add `Alt` instance for `Identity`.
* Add `Conclude`, `Decide` and `Divise` type classes and instances.
* Add `(<.*>)`, `(<*.>)`, and `traverseMaybe` functions, which make it easier
to defined `Traversable1` instances for data types that have fields with a
combination of `Traversable` and `Traversable1` instances.
* Add `Semigroupoids.Do` module with overloads for use with `QualifiedDo`.
* Add `Apply`, `Alt`, `Plus`, `Bind` and `BindTrans` instances for the CPS
versions of `WriterT` and `RWST`.
* Add `psum` function to `Data.Functor.Plus`.
* Add `Categorical` data type.
-------------------------------------------------------------------
Tue Jul 27 07:51:53 UTC 2021 - psimons@suse.com
- Update semigroupoids to version 5.3.5 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon Jan 4 11:48:22 UTC 2021 - psimons@suse.com
- Update semigroupoids to version 5.3.5.
5.3.5 [2020.12.31]
------------------
* The build-type has been changed from `Custom` to `Simple`.
To achieve this, the `doctests` test suite has been removed in favor of using
[`cabal-docspec`](https://github.com/phadej/cabal-extras/tree/master/cabal-docspec)
to run the doctests.
* Explicitly mark modules as `Safe`.
-------------------------------------------------------------------
Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
-------------------------------------------------------------------
Tue Oct 6 08:56:50 UTC 2020 - psimons@suse.com
- Update semigroupoids to version 5.3.4 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon Aug 31 09:34:34 UTC 2020 - psimons@suse.com
- Update semigroupoids to version 5.3.4 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue Aug 18 10:45:58 UTC 2020 - Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
-------------------------------------------------------------------
Tue Jun 16 11:14:34 UTC 2020 - Peter Simons <psimons@suse.com>
- Re-generate file with latest version of spec-cleaner.
-------------------------------------------------------------------
Wed Nov 27 03:01:07 UTC 2019 - psimons@suse.com
- Update semigroupoids to version 5.3.4.
5.3.4 [2019.11.26]
------------------
* Achieve forward compatibility with
[GHC proposal 229](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0229-whitespace-bang-patterns.rst).
-------------------------------------------------------------------
Fri Nov 8 16:14:42 UTC 2019 - Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
-------------------------------------------------------------------
Wed Aug 28 02:02:29 UTC 2019 - psimons@suse.com
- Update semigroupoids to version 5.3.3.
5.3.3 [2019.08.27]
------------------
* Add `Alt` and `Plus` instances for `HashMap` from the `unordered-containers`
package.
-------------------------------------------------------------------
Tue Jun 11 14:29:16 UTC 2019 - Peter Simons <psimons@suse.com>
- Update Cabal file for more accurate build dependencies.
-------------------------------------------------------------------
Sat Jan 5 03:01:15 UTC 2019 - psimons@suse.com
- Update semigroupoids to version 5.3.2.
5.3.2 [2019.01.04]
------------------
* Bump the lower bound on `semigroups` to 0.16.2, and avoid incurring
the dependency entirely on recent GHCs.
* Fix the build on GHC 7.0 and 7.2.
-------------------------------------------------------------------
Sat Oct 20 11:31:58 UTC 2018 - Peter Simons <psimons@suse.com>
- Use https URL to refer to bugs.opensuse.org.
-------------------------------------------------------------------
Wed Jul 18 14:26:40 UTC 2018 - psimons@suse.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
-------------------------------------------------------------------
Fri Jul 13 14:32:00 UTC 2018 - psimons@suse.com
- Update semigroupoids to version 5.3.1.
* Fix a regression introduced in `semigroupoids-5.3` in which some modules
regressed from `Trustworthy` to `Unsafe`.
* Allow building with `containers-0.6`.
* Add `Alt` instances for `First` and `Last` from `Data.Semigroup`, and
`Alt` and `Plus` instances for `First` and `Last` from `Data.Monoid`.
* Add missing `Apply`, `Bind`, `Extend`, `Foldable1` and `Traversable1`
instances for `Data.Semigroups`, `Data.Monoid` and `GHC.Generics`.
-------------------------------------------------------------------
Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
- Update semigroupoids to version 5.2.2 revision 3.
* Add `optional` to `Data.Functor.Alt` (analogous to the `optional` function
in `Control.Applicative`)
* `liftF2` is now a class method of `Apply` (mirroring the fact that `liftA2`
is now a class method of `Applicative`). `liftF2` and `(<.>)` have default
definitions in terms of the other.
* Allow building with GHC 8.4
* `Apply` and `Bind` instances for `Q`, from the `template-haskell` package.
* Add instances for `(:~:)` and `(:~~:)` from `Data.Type.Equality`, and
`Coercion` from `Data.Type.Coercion`
* Add the `toNonEmpty` method to `Foldable1`. Add `foldrM1` and `foldlM1`
functions to `Data.Semigroup.Foldable` that are defined in terms of `toNonEmpty`.
* Add `Apply`, `Bind`, `Foldable1`, and `Traversable1` instances for `Complex`
* Add `Apply` and `Bind` instances for `HashMap` from the `unordered-containers` package
(on which `semigroupoids` now depends)
* Add `Semigroupoid` instances for `Tagged` and `Const`
-------------------------------------------------------------------
Thu Jul 27 14:03:56 UTC 2017 - psimons@suse.com
- Update to version 5.2.
-------------------------------------------------------------------
Thu Sep 15 07:10:53 UTC 2016 - psimons@suse.com
- Update to version 5.1 revision 0 with cabal2obs.
-------------------------------------------------------------------
Sun Jul 10 17:28:16 UTC 2016 - psimons@suse.com
- Update to version 5.0.1 revision 1 with cabal2obs.
-------------------------------------------------------------------
Mon Jan 18 11:49:27 UTC 2016 - mimi.vx@gmail.com
- update to 5.0.1
* transformers-compat 0.5 support
* Removed some redundant constraints.
-------------------------------------------------------------------
Sun Aug 23 17:39:53 UTC 2015 - mimi.vx@gmail.com
- update to 5.0.0.4
* doctest 0.10 support
-------------------------------------------------------------------
Thu Aug 13 16:09:42 UTC 2015 - mimi.vx@gmail.com
- update to 5.0.0.3
-------------------------------------------------------------------
Thu Aug 6 19:43:49 UTC 2015 - mimi.vx@gmail.com
- update to 5.0.0.2
* Added the CHANGELOG to the distribution so that hackage can link to it in the haddocks.
* Absorbed Data.Bifunctor.Apply, Data.Semigroup.Bifoldable and Data.Semigroup.Traversable
from bifunctors.
* This caused us to pick up a dependency on tagged.
* Exiled Data.Semifunctor.*, Data.Semigroupoid.Product and Data.Semigroupoid.Coproduct
to semigroupoid-extras.
* Set an explicit fixity for -<- and ->-.
* Major changes to the API to support PolyKinds and DataKinds. This necessarily shuts off GHC <= 7.4.
* Orphan instances have moved upstream into a common base-orphans package.
* Added asum1 to Data.Semigroup.Foldable.
* Support for 'ConstrainedClassMethods' is currently required for GHC HEAD.
-------------------------------------------------------------------
Wed May 27 10:00:37 UTC 2015 - mimi.vx@gmail.com
- correct license to BSD-2-Clause
-------------------------------------------------------------------
Sun Apr 26 17:05:36 UTC 2015 - mimi.vx@gmail.com
- initial commit