Is there a good reason why it does not have:

A good question. See
- (2017) https://gitlab.haskell.org/ghc/ghc/-/issues/13573
- (2017) https://www.reddit.com/r/haskell/comments/6d0vgt/could_we_have_foldable1_and_traversable1_in_base/
- (2019) https://mail.haskell.org/pipermail/libraries/2019-November/030059.html
- (2020) https://mail.haskell.org/pipermail/libraries/2020-December/031003.html
- (2021) https://twitter.com/kmett/status/1363774888603914242

For recent bits and bobs of the possible answers.

- Oleg

On 14.5.2021 22.54, coot@coot.me wrote:
Base has:
* foldMap :: (Foldable t, Monoid a) => (x -> a) -> t x -> a
* foldr1  :: (Foldable t) => (a -> a -> a) -> t x -> a
Is there a good reason why it does not have:
```
foldMap1 :: (Foldable t, Semigroup a, Functor f) => (a -> a) -> t x -> a
foldMap1 = fodlr1 (<>) . fmap f
```
Like `foldr1` it is partial for any foldable that can be empty.

Best regards,
Marcin Szamotulski

Sent with ProtonMail Secure Email.

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.