Is there any good reason for the standard prelude defining

  infixr 0  $, $!, `seq`

ie, making $ and $! right associative?  I understand that
for `seq`, we like

  x `seq` y `seq` z  =  x `seq` (y `seq` z)

but why

  f $ x $ y  =  f $ (x $ y)

I'd rather prefer

  f $ x $ y  =  (f $ x) $ y

ie, ($) is like application by juxtaposition, but changes
the precedence level (not the associativity).  Whereas `f $
x $ y' may be rare, I sometimes like to write `f $! x $! y'
meaning `f x y' with strict application.

Cheers,

Manuel

PS: If this has been discussed before, could someone please
    give me a pointer to the discussion?


Reply via email to