|
1 Introduction 1.5 Conformance 1.5.2 Conforming Programs 1.5.2.1 Use of Implementation-Defined Language Features
1.5.2.1.1 Use of Read-Time Conditionals
Use of #+ and #- does not automatically disqualify a program
from being conforming. A program which uses #+ and #- is
considered conforming if there is no set of features in which the
program would not be conforming. Of course, conforming programs are
not necessarily working programs. The following program is conforming:
(defun foo ()
#+ACME (acme:initialize-something)
(print 'hello-there))
However, this program might or might not work, depending on whether the
presence of the feature ACME really implies that a function named
acme:initialize-something is present in the environment. In effect,
using #+ or #- in a conforming program means that the variable
*features*
becomes just one more piece of input data to that
program. Like any other data coming into a program, the programmer
is responsible for assuring that the program does not make unwarranted
assumptions on the basis of input data.
|