Given that layout has been used in Miranda, Haskell, etc., to determine
when one thing ends and another begins, it might be worth trying the 
same idea within expressions.  The suggestion is that any subexpression 
that contains no white space but is surrounded by white space has 
implied parentheses around it.  Hence

f x!i would parse as f (x!i)

This would make functions definitions with pattern matching easier too.  
For example, we could write:

sum x:xs = x + sum xs

instead of

sum (x:xs) = x + sum xs

I'm not completely convinced myself, but thought it was an idea worth 
floating.

Warren

Reply via email to