Hi Olaf,

Olaf Chitil <[EMAIL PROTECTED]> wrote,
> "Manuel M. T. Chakravarty" wrote:
> > 
> > Is there any good reason for the standard prelude defining
> > 
> >   infixr 0  $, $!, `seq`
> > 
> > ie, making $ and $! right associative? 
> ...
> > 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.
> 
> I think the idea behind $ is exactly the change of
> associativity.

Hmm, I thought, the idea behind it is a change of precedence...

> I use $ a lot to save a lot of brackets. I very much prefer
> 
> f $ g $ h $ i $ j $ x
> 
> to
> 
> f (g (h ( i ( j x))))
> 
> and even to
> 
> (f . g . h . i . j) x

The latter is actually what I use in this case.

> So I fear you have to define your own operator for strict multi-argument
> application.

As I only use it once in a while, I guess, I will use extra
parenthesis instead of a new operator for the sake of
readability.

Anyway, thanks for your comment.

Cheers,

Manuel


Reply via email to