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

David Feuer david.feuer at
Tue Dec 9 21:55:25 UTC 2014

On Dec 9, 2014 4:44 PM, "Christopher Done" <chrisdone at> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list