Gregory V. Larchev <gregl@leland.Stanford.EDU> wrote:
| My textbook does not explain the '#+' notation.
It's a "read-time conditional". The notation is borrowed from Common Lisp
(and many earlier Lisps). See the Common Lisp HyperSpec for all the gory
details [the following text edited slightly, to indicate fonts]:
#+ provides a read-time conditionalization facility; the syntax
is #+<test> <expression>. If the feature expression <test> succeeds,
then this textual notation represents an object whose printed
representation is <expression>. If the feature expression <test>
fails, then this textual notation is treated as "whitespace".
There's also "#-" for the inverse conditional, and the "test" can be
a fairly complex "feature expression", not just a single symbol. See:
By the way, very few Schemes implement #+/#- (or #. either).
Rob Warnock, 8L-855 email@example.com
Applied Networking http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673
1600 Amphitheatre Pkwy. FAX: 650-933-0511
Mountain View, CA 94043 PP-ASEL-IA