Drastic Prelude changes imminent

malcolm.wallace malcolm.wallace at me.com
Wed Feb 4 16:27:04 UTC 2015


Perhaps this discomfort points to another possible way forward:  remove from the Prelude all functions that were formerly list-y, and now Foldable/Traversable.  Make it so that you must import Data.List if you want the List versions, or Data.Foldable if you want the generalised versions.

Of course, it would be a change causing a lot of breakage in existing code, but then, I have never experienced a major release of ghc that did not break existing code.
Regards,
    Malcolm

On 04 Feb, 2015,at 04:14 PM, Christopher Done <chrisdone at gmail.com> wrote:

Looking at the generalizations in Data.List I find them pretty odd now when
I think about it. I'd expect Data.List functions to be monomorphic to
lists, just like I expect functions in Data.Map to be monomorphic to maps.
Now there might be generalized versions of these functions in e.g. the
Prelude, but generalizing Data.List means that I don't even have the
monomorphic versions available if I want to resolve ambiguity by using
them*.

Sums up my feelings exactly. Data.Map, Data.List, etc. should be
monomorphic. Adding generalized functions in Data.List is a little
baffling.
_______________________________________________
Libraries mailing list
Libraries at haskell.org
http://www.haskell.org/mailman/listinfo/libraries
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20150204/ffbb58fd/attachment.html>


More information about the Libraries mailing list