
On 13.12.2016 19:06, David Feuer wrote:
On Dec 13, 2016 4:01 AM, "Oleg Grenrus"
mailto:oleg.grenrus@iki.fi> wrote: Hi,
continuing pushing the adoption Data.Functor.Classes, I wrote a small package `functor-classes-compat` [1].
It provides lifted (Eq1, Ord1, etc.) classes for types in `containers`, `vector` and `unordered-containers`(not for Sequence or Tree yet though).
Thanks for working on this. Obviously, some of these really belong in containers. I'll try to add them today.
Thanks to you!
I guess there is no way they could depend on `transformers` to provide instances in build plans with `base < 4.9`, I'm not sure when I'll have time to write patches for the actual packages myself.
No, I don't think that's likely. One option might be to add these instances to transformers when compiling with older base, but I don't know if Ross Paterson will want them.
I'm not sure we want `transformers` to depend on `containers` either, not even mentioning `vector` and `unordered-containers`. Also there are people stuck with `transformers-0.4` (GHC 7.10).
Current implementations are naive, but more obviously correct.
More than what?
It seems that implementation for Data.Map is indeed "check size, compare lists", but e.g for vector it uses streaming framework to make things fuse, I still use "check size, compare lists" approach. Also I see that my `HashMap` implementation is actually incorrect, as HashMap's `toList` may return results in different order (depends on the history)