[Haskell-cafe] Why is $ right associative instead of leftassociative?

Brian Hulley brianh at metamilk.com
Sat Feb 4 20:47:43 EST 2006

ajb at spamcop.net wrote:
> G'day all.
> Quoting ajb at spamcop.net:
>> This is the way that I normally express it.  Partly because I find
>> function application FAR more natural than right-associative
>> application,
> I meant to say that I find function COMPOSITION more natural than
> right-associative application.  It certainly fits better with my
> personal biases about good functional programming style.

Yes the case you've made for $ being left associative is very compelling - 
namely that the existing associativity actively encourages a *bad* 
programming style in which the right associative $ hides the composition in 
a chain of function applications instead of allowing the composition to be 
explicit and neatly separate from its argument.

Moreover, the existing associativity of $ implies that whoever thought it up 
was confusing two concepts: application and composition, instead of allowing 
"$" to take its proper place as an equal citizen to ".", with the 
associativity proper to its role as application alone.

Thus if $ were made left associative in Haskell Prime, this would add 
clarity to the thought forms associated with the language, which would 
(presumably) in turn lead to better programs being written in it.

Regards, Brian.

More information about the Haskell-Cafe mailing list