bind :: Monad m => (a -> m b) -> m a -> m b

David Feuer david.feuer at gmail.com
Tue Dec 9 23:35:09 UTC 2014


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 <gabriel439 at 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" <chrisdone at 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 listLibraries at haskell.orghttp://www.haskell.org/mailman/listinfo/libraries
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20141209/f176028f/attachment-0001.html>


More information about the Libraries mailing list