<div dir="auto">Because that's what Edward Kmett does. If he didn't exist, the Haskell community would have had to invent him.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 9, 2019, 15:04 Olaf Klinke <<a href="mailto:olf@aatal-apotheke.de">olf@aatal-apotheke.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Cool, thanks for the pointer. But why is it that whenever something mildly categorical pops into my head, Edward Kmett has already published a package containing it? <br>
<br>
Olaf<br>
<br>
Am 09.07.2019 um 01:07 schrieb Zemyla <<a href="mailto:zemyla@gmail.com" target="_blank" rel="noreferrer">zemyla@gmail.com</a>>:<br>
> <br>
> It needs to be an ArrowChoice, not just an Arrow, but it can be done. <a href="https://github.com/ekmett/profunctors/pull/40" rel="noreferrer noreferrer" target="_blank">https://github.com/ekmett/profunctors/pull/40</a><br>
> <br>
> On Mon, Jul 8, 2019, 15:37 Olaf Klinke <<a href="mailto:olf@aatal-apotheke.de" target="_blank" rel="noreferrer">olf@aatal-apotheke.de</a>> wrote:<br>
> Dear cafe, <br>
> <br>
> consider the declaration<br>
> <br>
> mapM :: (SomeArrow a, Traversable t) => a b c -> a (t b) (t c)<br>
> <br>
> For the Arrow a = (->), the above mapM is just an over-constrained fmap, since Functor is a superclass of Traversable. For the arrow a = Kleisi m, the above mapM is the Control.Monad.mapM we know. Currently I fail to see how it could be defined with any of the existing sub-classes in Control.Arrow. <br>
> <br>
> One might say that fmap and mapM are on the same spectrum: If you specialize SomeArrow to (->) you can generalize Traversable to Functor, if you specialize Functor to Traversable you can generalize (->) to SomeArrow. <br>
> <br>
> Cheers,<br>
> Olaf<br>
> _______________________________________________<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 noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
> Only members subscribed via the mailman list are allowed to post.<br>
<br>
</blockquote></div>