Commit graph

7 commits

Author SHA1 Message Date
pho
eda754ca5a Bump all Haskell packages after enabling "split sections" in mk/haskell.mk 2022-02-26 03:57:43 +00:00
pho
dc3a63e008 revbump after changing the default Haskell compiler 2022-02-12 08:50:25 +00:00
pho
3fdf081c59 Update to semigroupoids-5.3.7
5.3.7 [2022.01.09]
* Relax the Bind constraints in the following instances to Functor:

    -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)

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.
2022-02-12 05:26:25 +00:00
pho
75588a9d5d Bump packages that depends on GHC 2022-01-18 02:48:01 +00:00
pho
4d74cf7192 *: Bump PKGREVISION for ghc-9.0.1 2021-05-03 19:00:52 +00:00
pho
70dc641d7d Update to semigroupoids-5.3.5
* 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 to run the doctests.
* Explicitly mark modules as Safe.
2021-04-23 13:15:46 +00:00
pho
7ecc5fadd9 Import semigroupoids-5.3.4 from wip
Provides a wide array of (semi)groupoids and operations for working with them.

A Semigroupoid is a Category without the requirement of identity arrows
for every object in the category.

A Category is any Semigroupoid for which the Yoneda lemma holds.

When working with comonads you often have the <*> portion of an Applicative,
but not the pure. This was captured in Uustalu and Vene's
"Essence of Dataflow Programming" in the form of the ComonadZip class
in the days before Applicative. Apply provides a weaker invariant,
but for the comonads used for data flow programming
(found in the streams package), this invariant is preserved.
Applicative function composition forms a semigroupoid.

Similarly many structures are nearly a comonad, but not quite,
for instance lists provide a reasonable extend operation in the form of tails,
but do not always contain a value.
2020-01-03 05:15:10 +00:00