<div dir="ltr">Hi All<div><br></div><div>Thanks for all your help.</div><div><br></div><div>I've actually picked up Mario's <a href="http://hackage.haskell.org/package/rank2classes">rank2classes package</a> as it seems like I need a little but more power than Functors, as I want things like `liftA2` for example. </div><div><br></div><div>I've pushed across a very simple pull request to you Mario that simply adds "PolyKinds" to your list of language extensions. This automatically this generalises the kinds your Functor and Apply accept (and perhaps others) as I'm quantifying not over * but over a data kind type. No other changes are needed.</div><div><br></div><div>Clinton</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 8, 2017 at 5:57 AM, Mario Blažević <span dir="ltr"><<a href="mailto:mblazevic@stilo.com" target="_blank">mblazevic@stilo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2017-07-07 12:48 AM, Clinton Mead wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Consider the illustrative code below:<br></span>
...<span class=""><br>
class MyFunctor f where<br>
myFmap :: (forall a. t a -> u a) -> f t -> f u<br></span>
...<span class=""><br>
<br>
<br>
Basically this is a sort of "higher order" functor, but I can't seem to fit it into an ordinary functor.<br>
<br>
But it seems like I'm reinventing the wheel, as my code is suspiciously like `Functor` but only slightly different.<br>
<br>
Has this sort of class already been created and if so what package is it in?<br>
</span></blockquote>
<br>
Yes, I have recently created rank2classes package:<br>
<br>
<a href="http://hackage.haskell.org/package/rank2classes" rel="noreferrer" target="_blank">http://hackage.haskell.org/pa<wbr>ckage/rank2classes</a><br>
<br>
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.<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bi<wbr>n/mailman/listinfo/haskell-caf<wbr>e</a><br>
Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div><br></div></div>