[Haskell-cafe] Proposal: (.:) operator in base.

Tony Morris tonymorris at gmail.com
Wed Aug 17 21:14:53 UTC 2016


You'd generalise it to:

fmap . fmap :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)

And then, would you do the same for Traversable, Foldable and Applicative?


On 18/08/16 03:43, Alex Belanger wrote:
> Hi,
>
> Some of you might be familiar with (.:) = (.) . (.).
>
> It has type :: (c -> d) -> (a -> b -> c) -> a -> b -> d
>
> It allows the composition of two functions, the first one, accepting
> one operand, and the second, two operands.
>
> This appears to be a very common pattern, referenced a bit everywhere,
> almost always defined on lambdabot and found in multiple codebases in
> the wild.
>
> I'd like the know the general sentiment about this operator, as well
> as how its inclusion in base, probably Data.Function, would be
> perceived before I actually try to make it happen.
>
> Cheers,
> Alex (nitrix).
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160818/c01a8d1f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160818/c01a8d1f/attachment.sig>


More information about the Haskell-Cafe mailing list