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@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@haskell.org
http://www.haskell.org/mailman/listinfo/beginners