Applicative ((->) c) methods

Tony Morris tonymorris at gmail.com
Wed Nov 20 06:04:30 UTC 2019


No, they are not the same function.

λ> let (*>) = flip const in putStrLn "hi" *> putStrLn "bye"
bye
λ> let (*>) = liftA2 (flip const) in putStrLn "hi" *> putStrLn "bye"
hi
bye

On 20/11/19 3:41 pm, David Feuer wrote:
> Both are correct. 
>
> On Wed, Nov 20, 2019, 12:15 AM Tony Morris <tonymorris at gmail.com
> <mailto:tonymorris at gmail.com>> wrote:
>
>     This is incorrect.
>
>     (<*) = liftA2 const
>     (*>) = liftA2 (flip const)
>
>     On 19/11/19 6:40 am, Keith wrote:
>     > Just thinking for Applicative ((->) c)
>     > (<*) = const
>     > (*>) = flip const -- or \ _ x -> x
>     >
>
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20191120/57e0f6df/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20191120/57e0f6df/attachment.sig>


More information about the Libraries mailing list