Proposal: Add Foldable1 from 'semigroupoids' to base
david.feuer at gmail.com
Thu Jun 7 19:14:46 UTC 2018
I'd be much more interested in Traversable1. Why only propose Foldable1?
On Thu, Jun 7, 2018 at 3:12 PM, Daniel Cartwright <chessai1996 at gmail.com> wrote:
> For those of you unfamiliar with 'Foldable1', it is a typeclass for nonempty
> foldable structures, that centres around Semigroup instead of Monoid.
> I have made a differential on Phabricator for the change here:
> Some discussion at the following links also:
> Note: foldl1 and foldr1 are currently typeclass methods of 'Foldable' and
> not 'Foldable1', and even though I think they should be, they probably (and
> shouldn't) be removed in this change, though I hope that eventually they can
> be moved to Foldable1.
> Foldable1 is also unfortunately named due to the suffix '1' being connotated
> with the conventions surrounded Data.Functor.Classes (Show1, Eq1, etc.). If
> this naming is seen as sufficiently unfortunate/confusing because of that,
> then perhaps the name should be changed to something like 'SemiFoldable'.
> The name change would most likely have to be made in 'semigroupoids' first
> if that is the case.
> Libraries mailing list
> Libraries at haskell.org
More information about the Libraries