[plt-scheme] Re: Paren Paralysis Sufferers Unite

From: Stephen Bloch (sbloch at adelphi.edu)
Date: Sat Oct 17 11:56:41 EDT 2009

On Oct 16, 2009, at 7:27 PM, Gregory Marton <gremio at acm.org> wrote:

> ... This example is contrived, of course, but this is why the  
> parentheses are not "extra".  They mean "evaluate what's in here as  
> a function and its arguments". They always mean that, and there's no  
> ambiguity.

Another way to resolve the ambiguity would have been to add an  
explicit "call" keyword, so "call foo" and "(call((foo)))" would both  
mean the result of calling foo, and "foo" and "(((foo)))" would both  
mean the funtion foo itself.  But then the quadratic formula would  
have to be
call /(call -(call sqrt(call -(call sqr(b)), call *(4,a,c))), b), call  
which is too horrible to contemplate.

Posted on the users mailing list.