From: Roger Dannenberg <rbd@cs...> - 2006-02-09 15:04:28
I think many Lisp newcomers have a misconception about parentheses. Maybe
this will help:
In mathematical notation and most programming languages, parentheses are
used mainly for grouping. As such, they are redundant: 5 and (5) mean the
same thing. But in some programming languages, parentheses can have a
special meaning. E.g. in C, if you write foo(1, 2), you are calling a
function, whereas foo 1, 2 is meaningless. In Lisp (and Xlisp and Nyquist),
EVERY parenthesis changes the meaning of the program. There are NO redundant
parentheses, so you have to be very careful, especially in the beginning.
After you've written a lot of Lisp, you'll get in the habit of introducing a
parenthesis the way you would think about writing "if" or "while" in some
other programming language, that is, only when called for.