
On Sun, Aug 15, 2010 at 10:50 AM, Ivan Lazar Miljenovic < ivan.miljenovic@gmail.com> wrote: Yeah, I'm working on something like this at the moment, but I'm
currently stuck on naming: if I want to have Functor for kind * -> *, what's a good name for a type class for kind *?
I was thinking about EtaFunctor, which stands for η-expanded Functor. But I'm not sure about η-expansion is correct term for removing polymorphism from the type class. Also, is there any type for which having a map a -> a _doesn't_ make
sense? Bloomfilters maybe?
Not the answer, but there are cases where having a map (a -> b) -> f -> g could make some new sense: data BitList = ... fromBoolList :: [Bool] -> BitList type instance NewPt [a] b = [b] type instance NewPt [a] Bool = BitList But this kind of overlapping type instance is not allowed in ghc (yet?) -- All the best, Alexey