Drastic Prelude changes imminent

Eric Mertens emertens at gmail.com
Tue Jan 27 20:18:58 UTC 2015


-1 on both proposals.

I've been keeping up with the changes to GHC and specifically this BBP for
quite some time now, so none of this is coming as a surprise.

I'm in favor of the generalized types and I've found that updating to to
work with the new exports is a matter of jiggling my imports to not
generate redundancy warnings. I haven't found that the more general types
are creating inference problems for the kind of code I write.

I'm also uncomfortable with reducing Foldable to a mere "toList" method as
I find that that solution ends up being too "left-biased"  There might be a
discussion to be had about what is or isn't in Foldable, but I don't think
it's anything blocking.

I'm particularly excited about the Applicative being a super-class of Monad
change and the ability to have generalized operations on Traversables being
the default. The Traversable pattern happens to handle a lot of situations
and has become about as important to me as Functor.

I don't think it's fair to characterize any of these changes as a surprise.
The discussion has been open and the implementations have been visible for
a long time now.

I can certainly see the reasoning in wanting Data.List.foldr to actually be
the list-specific one, and this would be consistent with other cases like
Data.Map. Changing this might break some code, but it might be a more
reasonable situation in the end. If we're going to consider this it would
probably be better in its own thread so that it doesn't get drowned out by
the rest of the BBP discussion.

Sincerely,
Eric Mertens
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20150127/4f39e755/attachment.html>


More information about the Libraries mailing list