
I should mention that LYAH, in
http://learnyouahaskell.com/a-fistful-of-monads , says
The >>= function is pronounced as bind.
RWH, in, http://book.realworldhaskell.org/read/monads.html , indicates
Here, (>>=) is our chaining function. [...] It's often referred to
as “bind”, as it binds the result of the computation on the left to
the parameter of the one on the right.
A Gentle Introduction to Haskell, at
https://www.haskell.org/tutorial/monads.html , says
The Monad class defines two basic operators: >>= (bind) and return.
http://en.wikibooks.org/wiki/Haskell/Understanding_monads#Definition says
an operator (>>=) which is pronounced "bind".
In case it's not clear yet, I am firmly against using the name "bind"
to mean (=<<).
On Tue, Dec 9, 2014 at 10:24 PM, Felipe Lessa
I'm not sure what Abel's vote is, but I'm -1 on this proposal precisely because of the issues he explained below.
Cheers,
On 09-12-2014 23:44, Andreas Abel wrote:
If there is a bindIO as specialization of (>>=), having a bind as alias for (=<<) is a bad idea.
In category theory (Kleisli triple), (=<<) is called the extension operator.
Most of my uses of (=<<) are infix, as a monadic application operator, so I never felt the need to have a non-operator version of it.
Haskell is all about saving parentheses and being not Scheme, so
f a =<< g b
is definitely preferable over
bind (f a) (g b)
;-)
Cheers, Andreas
On 10.12.2014 00:35, David Feuer wrote:
It's possible I got confused by GHC.Base, which defines
bindIO :: IO a -> (a -> IO b) -> IO b
If that's backwards, then go right ahead and use bind to mean (=<<).
On Tue, Dec 9, 2014 at 6:17 PM, Gabriel Gonzalez
mailto:gabriel439@gmail.com> wrote: My understanding was that bind historically referred to `(=<<)`, not `(>>=)`
Either way I am (+1) on this, even if my previous sentence is false.
On 12/9/14, 1:55 PM, David Feuer wrote:
On Dec 9, 2014 4:44 PM, "Christopher Done"
mailto:chrisdone@gmail.com> wrote: > The name for this function is a no-brainer: > > bind :: Monad m => (a -> m b) -> m a -> m b > bind = (=<<) Since most people use the term "bind" to refer to the >>= operator, this would be very confusing.
> For comparison, the not-very-pleasant <$> and <*> each have word > alternatives, fmap and ap. Even <> has mappend.
fmap predates <$>, and <$> tends to be used only in certain contexts. "ap" has a narrower type than <*>.
> I don’t hold much hope for this, Haskellers love operators as much as > Perl programmers so few on this list will see the value in plain old > words, but at least I can link to this email in the archives for > future reference.
I have nothing against the idea in principle, but that name won't fly.
_______________________________________________ Libraries mailing list Libraries@haskell.org mailto:Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
-- Felipe.
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries