Adding Fixed Point Data Types to base

Bardur Arantsson spam at
Thu Oct 20 20:53:58 UTC 2016

On 2016-10-20 19:41, John Wiegley wrote:
>>>>>> "AM" == Andrew Martin <andrew.thaddeus at> writes:
> AM> Is there some kind of general rule for when base should absorb things. In
> AM> the last several years, it's pulled in Data.Functor.Identity,
> AM> Data.Functor.Compose, Eq1, Ord1, Bifunctor. Is there any kind set of
> AM> criteria these had to meet to be pulled in?
> A principle I've inferred is that it goes into base if (a) it's foundational,
> and (b) there's really just one way to express the principle, rather than
> multiple ways with inherent trade-offs between them.
> For example, Free is known to have significant costs, which are ameliorated
> (though made worse in the other direction) by its tagless encoding. Since the
> two representations are isomorphic, it becomes strange for base to canonize
> one over the other; but with Data.Functor.Identity, there is no such
> contention.

Wasn't this thread about only pulling in Fix (from the 'free' package),
or am I missing something?

More information about the Libraries mailing list