[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Quoting vectors?

   Date: Wed, 1 Feb 89 08:46:38 EST
   From: jinx@chamartin.ai.mit.edu (Guillermo J. Rozas)

       I would rather that vectors (and all objects that cannot be confused
       with expressions) not need quotes, as the only reason for quotes is to
       distinguish expressions from their values.

   You've all forgotten a little detail.

   `#(foo ,bar baz ,@quux)

   is legal.  It would be REALLY strange if a constant vector did not
   need to be quoted when a "quasi-constant" vector did.

I think there may be a confusion here between two distinct properties
of a data object: whether or not it self-evaluates, and whether or
not is has (Lisp) substructure.

It is hard to work from analogy, because all other self-evaluating items
happen also to have the property of having no substructure, so I cannot
give you a plausible example of, for example, a quasi-quoted integer.

In the context of Common Lisp I might offer the fact that the complex
number #c(0 1) does not require quotation, but `#c(0 ,x) might be a
reasonable thing to want to write (though in fact it is not permitted in
Common Lisp).