[Haskell-beginners] Usage of $

Mike Meyer mwm at mired.org
Mon Jun 8 10:20:13 UTC 2015


On Jun 8, 2015 05:01, "Martin Vlk" <martin at vlkk.cz> wrote:
>
> Mike Meyer:
> > s mp $ n - 1 parses as s mp (n - 1)
> > s mp n - 1 parses as (s mp n) - 1
>
>
> Hi, I think it is misleading to say that $ "parses" to something.

Which is why I didn't say such a thing. The two sentences show how the
expressions he was having trouble with are parsed.

> ($) is an infix operator with type:
>
> ($) :: (a -> b) -> a -> b       -- Defined in ‘GHC.Base’
> infixr 0 $
>
> So what it does is it takes a function on the left hand side and applies
> it to the second argument on the right hand side. The trick is it has
> the lowest possible precedence value (0) so everything on the right hand
> side will be evaluated before applying the function on the left.

Which explains why the expression containing a $ parses as it does, which
is also useful information.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150608/8a70207c/attachment.html>


More information about the Beginners mailing list