[Haskell-cafe] Removing polymorphism from type classes (viz.
Functor) (Again)
Alexey Karakulov
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,
Alexey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100815/9b7cb7c6/attachment.html
More information about the Haskell-Cafe
mailing list