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

MarLinn monkleyon at googlemail.com
Wed Aug 17 23:53:40 UTC 2016


> Some of you might be familiar with (.:) = (.) . (.).
>
> It has type :: (c -> d) -> (a -> b -> c) -> a -> b -> d

First of all, I always called it "dot". Don't know where I picked that 
one up, though. (.:) looks like it could conflict with some lens or 
something. Would need checking.

Also, which version? This simple one? Or the Category one?

     (.).(.) :: (Category cat) => cat c d -> (a -> cat b c) -> a -> cat b d

I know little about Category Theory, but throwing together some random 
words I collected over time that looks like... a "contravariant bind in 
the monad of endocategories", maybe? I just invented that and it's 
almost certainly meaningless gibberish, but knowing our community it 
might well be that /there's a lib for that/.

Also, why is

     h = f .: g == (f .) . g

not good enough?

So many questions, so much bikeshedding to do, so little time...

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160818/c7e99d96/attachment.html>


More information about the Haskell-Cafe mailing list