[Haskell-beginners] The Missing Arrow Function Strikes Back
Adrian May
adrian.alexander.may at gmail.com
Wed Jun 5 07:02:40 CEST 2013
Thanks Ertugrul. In the meantime I noticed that split and unsplit are also
missing. Is there a similar replacement for them?
Adrian.
On 5 Jun 2013 12:57, "Ertugrul Söylemez" <es at ertes.de> wrote:
> Adrian May <adrian.alexander.may at gmail.com> wrote:
>
> > I just banged up against this problem:
> >
> >
> http://haskell.1045720.n5.nabble.com/The-case-of-the-missing-Arrow-function-td3125388.html
> >
> > Was liftA2 (not the applicative one) a bad idea, or is there another
> > way to do it, or what?
>
> That liftA2 (let me call it liftA2') likely has this type signature:
>
> liftA2' :: (Arrow cat)
> => (b -> c -> d)
> -> cat a b
> -> cat a c
> -> cat a d
>
> Does this sound familiar? You can write this function in terms of the
> arrow combinators:
>
> liftA2' f c d = arr (uncurry f) . (c &&& d)
>
> However, if your arrow is also a family of applicative functors
> (i.e. pretty much always),
>
> instance Applicative (MyArrow a)
>
> then it's probably a bad idea, because you really want to use the
> cleaner liftA2 instead:
>
> liftA2 :: (Applicative f)
> => (a -> b -> c)
> -> f a
> -> f b
> -> f c
>
>
> Greets,
> Ertugrul
>
> --
> Not to be or to be and (not to be or to be and (not to be or to be and
> (not to be or to be and ... that is the list monad.
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130605/7a2d2667/attachment.htm>
More information about the Beginners
mailing list