[Haskell-cafe] Removing polymorphism from type classes (viz. Functor) (Again)

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Sun Aug 15 03:50:48 EDT 2010


Alexey Karakulov <ankarakulov at gmail.com> writes:

>> > (Ord b) must be deduced from (Functor (Set b)) but it doesn't. I
>> > don't know whether it's my mistake somewhere or ghc problem.
>>
>> I've come across this problem as well; the best solution I've seen so
>> far is the one taken by Ganesh in his rmonad library:
>> http://hackage.haskell.org/package/rmonad
>
> Thanks for the link, but RFunctor typeclass is still (more or less)
> polymorphic, so I couldn't write ByteString instance for it. (Really I don't
> care about ByteString, but it's good example). However, I could try to use
> Suitable+Constraints concept for non-polymorphic functors.

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 *?

Also, is there any type for which having a map a -> a _doesn't_ make
sense?  Bloomfilters maybe?

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list