[Haskell-beginners] f . g or f g or f $ g?

mukesh tiwari mukeshtiwari.iiitm at gmail.com
Tue Feb 12 22:44:32 CET 2013


You can write  (f . g) x as  f . g $ x so for me, it's avoiding extra
parenthesis.

Mukesh

On Wed, Feb 13, 2013 at 2:53 AM, Emanuel Koczwara <poczta at emanuelkoczwara.pl
> wrote:

> Hi,
>
> Dnia 2013-02-12, wto o godzinie 22:09 +0100, Martin Drautzburg pisze:
> > On Friday, 1. February 2013 23:02:39 Ertugrul Söylemez wrote:
> >
> > >     (f . g) x = f (g x)
> >
> >
> > so (f . g) x = f $ g x
> >
> > right?
> >
> > That looks like the two are pretty interchangeable. When would I prefer
> one
> > over the other?
> >
> >
>
> ($) has lower precedence (it was introduced for that reason I belive).
>
> Prelude> :info ($)
> ($) :: (a -> b) -> a -> b       -- Defined in GHC.Base
> infixr 0 $
>
> Please take a look at:
>
> http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.6.0.1/Prelude.html#v:-36-
>
> From the docs:
>
> "Application operator. This operator is redundant, since ordinary
> application (f x) means the same as (f $ x). However, $ has low,
> right-associative binding precedence, so it sometimes allows parentheses
> to be omitted..."
>
> Emanuel
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130213/787655cb/attachment.htm>


More information about the Beginners mailing list