Drastic Prelude changes imminent

Johan Tibell johan.tibell at gmail.com
Wed Feb 4 17:05:27 UTC 2015

On Wed, Feb 4, 2015 at 9:01 AM, Edward Kmett <ekmett at gmail.com> wrote:

> The current step was to generalize them so that code that imported
> Data.List so that they don't conflict with the Prelude versions.
> The intent was that once we gained the ability to deprecate re-exports
> that we'd remove them entirely. We now have a patch that enables us to do
> such things.
> It turns out that if you look at hackage, for the most part folks are
> actually importing Data.List unqualified to bring into scope foldl' or
> sort. Almost nobody invokes foldr from it.
> The "generalization and subsequent re-export deprecation" path breaks less
> code than the "leaving them monomorphic and breaking everyone who uses
> Data.List unqualified" path, even if it leads to an intermediate state that
> is a bit awkward, and doesn't lead easily to a final state where
> monomorphic versions of those combinators are available.

I didn't quite follow this. Does this mean that the Data.List functions
will be generalized for now but eventually monomorphized again?

> -Edward
> On Wed, Feb 4, 2015 at 11:13 AM, 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/af02d606/attachment-0001.html>

More information about the Libraries mailing list