Adding Fixed Point Data Types to base

Andrew Martin andrew.thaddeus at
Thu Oct 20 16:21:02 UTC 2016

Is there some kind of general rule for when base should absorb things. In the last several years, it's pulled in Data.Functor.Identity, Data.Functor.Compose, Eq1, Ord1, Bifunctor. Is there any kind set of criteria these had to meet to be pulled in?

Sent from my iPhone

> On Oct 20, 2016, at 12:02 PM, Iavor Diatchki <iavor.diatchki at> wrote:
> I am against extending `base`, as the functionality is already available outside it---a smaller `base` is easier to maintain, and gives us more room to evolve and change things.  If the `free` package is considered "too heavy" of a dependency, then perhaps that package should be split into multiple smaller packages that provide the required functionality.
> -Iavor
>> On Tue, Oct 18, 2016 at 8:34 AM, Andrew Martin <andrew.thaddeus at> wrote:
>> The advantages I outlined were:
>> The advantage this offers is that Free and Cofree would be able to
>> enjoy a greater number of typeclass instances provided libraries
>> across the ecosystem. As it stands, adding the somewhat heavy `free`
>> dependency is not a good choice for libraries like `aeson`,
>> `mustache`, and `hashable`. In the case of Fix, the ecosystem
>> currently lacks a canonical library that provides it
>> (recursion-schemes and data-fix both offer the same definition though,
>> and various tutorials all define it the same way). It could benefit
>> from the new instances as well.
>>> On Mon, Oct 17, 2016 at 2:31 PM, John Wiegley <johnw at> wrote:
>>> >>>>> "AM" == Andrew Martin <andrew.thaddeus at> writes:
>>> AM> I would gladly help with any of the work that needs to be done to make
>>> AM> this happen. I believe that Fix and Free (and Cofree to a lesser extent)
>>> AM> have proved themselves over years of use in the ecosystem. I would
>>> AM> appreciate any feedback or thoughts that others have on this topic.
>>> What advantage is there to having them in base, rather than living in the
>>> 'free' package as they do now?
>>> --
>>> John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
>>>                          60E1 46C4 BD1A 7AC1 4BA2
>> -- 
>> -Andrew Thaddeus Martin
>> _______________________________________________
>> Libraries mailing list
>> Libraries at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list