[Haskell-cafe] Removing polymorphism from type classes (viz.
ankarakulov at gmail.com
Sun Aug 15 05:39:52 EDT 2010
On Sun, Aug 15, 2010 at 10:50 AM, Ivan Lazar Miljenovic <
ivan.miljenovic at 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,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe