[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: #-, #+
- To: COMMON-LISP at SU-AI
- Subject: Re: #-, #+
- From: Masinter at PARC-MAXC
- Date: Thu, 16 Sep 1982 11:51:00 -0000
- In-reply-to: KMP's message of 16 September 1982 04:12-EDT
For what it is worth, Interlisp has settled more or less on s-expression
conditionalizations for environment-dependent operations; that is, there
are functions (SYSTEMTYPE), (COMPILEMODE) ... which return the current
values for the system you are running in, and then one writes
(SELECTQ (SYSTEMTYPE)
((TENEX TOPS-20) Interlisp-10 code)
(D Interlisp-D code)
(VAX Interlisp-VAX code)
(J Interlisp-Jericho code)
etc.)
Of course, the compiler can turn SYSTEMTYPE into a constant and
optimizes away all but the relevant case. This means
that there is no need for any special-purpose code walkers or whatever.
There have been a few cases where #+ and #- would have given better
control (e.g., in compiler declarations, which don't get evaluated)
but for the most part, the fact that there isn't a separate syntax is
an overriding advantage.