On Sun, Aug 15, 2010 at 10:50 AM, Ivan Lazar Miljenovic < ivan.miljeno...@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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe