On 2017-07-07 12:48 AM, Clinton Mead wrote:
Consider the illustrative code below:
...
class MyFunctor f where
myFmap :: (forall a. t a -> u a) -> f t -> f u
...
Basically this is a sort of "higher order" functor, but I can't seem to fit it into an ordinary functor.
But it seems like I'm reinventing the wheel, as my code is suspiciously like `Functor` but only slightly different.
Has this sort of class already been created and if so what package is it in?
Yes, I have recently created rank2classes package:
http://hackage.haskell.org/package/rank2classes
Apart from the mirror-universe Functor class, the package exports the Applicative, Foldable, Traversable, Applicative, and Distributive classes, as well as some Template Hashell to derive some of their instances automatically.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-caf e
Only members subscribed via the mailman list are allowed to post.