CLHS: Section 24.1.2.1.1

#

## 24.1.2.1.1 Examples of Feature Expressions

For example, suppose that in implementation A, the features `spice` and `perq` are present, but the feature `lispm` is not present; in implementation B, the feature `lispm` is present, but the features `spice` and `perq` are not present; and in implementation C, none of the features `spice`, lispm, or `perq` are present. The next figure shows some sample expressions, and how they would be read[2] in these implementations.

    (cons #+spice "Spice" #-spice "Lispm" x)

    in implementation A ...  (CONS "Spice" X)
    in implementation B ...  (CONS "Lispm" X)
    in implementation C ...  (CONS "Lispm" X)

    (cons #+spice "Spice" #+LispM "Lispm" x)

    in implementation A ...  (CONS "Spice" X)
    in implementation B ...  (CONS "Lispm" X)
    in implementation C ...  (CONS X)

    (setq a '(1 2 #+perq 43 #+(not perq) 27))

    in implementation A ...  (SETQ A '(1 2 43))
    in implementation B ...  (SETQ A '(1 2 27))
    in implementation C ...  (SETQ A '(1 2 27))

    (let ((a 3) #+(or spice lispm) (b 3)) (foo a))

    in implementation A ...  (LET ((A 3) (B 3)) (FOO A))
    in implementation B ...  (LET ((A 3) (B 3)) (FOO A))
    in implementation C ...  (LET ((A 3)) (FOO A))

    (cons #+Lispm "#+Spice" #+Spice "foo" #-(or Lispm Spice) 7 x)

    in implementation A ...  (CONS "foo" X)
    in implementation B ...  (CONS "#+Spice" X)
    in implementation C ...  (CONS 7 X)

Figure 24-1. Features examples

Copyright 1996-2005, LispWorks Ltd. All rights reserved.