
Let me be more specific. Whereas we can get intuition for Foldable from
toList :: t a -> [a]
we get intuition for Bifoldable from the hypothetical
toEitherList :: t a b -> [Either a b]
This seems quite reasonable for some types.
data Loost a b
= Nool
| Corns b (Loost a b)
| Colns a (Loost a b)
But for something like
newtype Plist a b
= PNil
| PCons a b (PList a b)
it feels awfully strange. Independent parts of the structure just get
lumped together.
On Sat, May 30, 2020, 8:33 PM David Feuer
Let me take that back. I forgot how weird Bifoldable and Bitraversable are for product types and product-like types. Is this instance actually useful for anything, or is it mostly confusing?
On Mon, Apr 13, 2020, 9:46 PM David Feuer
wrote: I would go as far as to say we don't need to continue the proposal process here. We're doing it.
On Mon, Apr 13, 2020, 9:44 PM David Feuer
wrote: This seems eminently reasonable to me. We must also be sure to add one to Data.HashMap if that's missing too.
On Mon, Apr 13, 2020, 9:36 PM Joseph C. Sible
wrote: I'd like to propose a change to the containers package: adding a Bifoldable instance to Map. I briefly mentioned this on Reddit [1] and no obvious problems were brought up. I submitted a PR implementing it [2]. This seems like an obvious and straightforward instance to me. Thoughts?
Joseph C. Sible
[1]: https://old.reddit.com/r/haskell/comments/fsgqd6/monthly_hask_anything_april... [2]: https://github.com/haskell/containers/pull/714 _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries