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

multiple-valued macros (was: do-nothing macro generates nil nevertheless)

(our newsfeed is a little warped (with apologies to OS/2), so I haven't
read the beginning of this thread, yet.)

[Dave Yost]

|   My point is that some functionality is not provided:
|   namely, the ability of a macro to expand into _nothing_.

assuming the Common Lisp `if', do you mean something like

    (if (something) (macro-1) (macro-2) (macro-3))

where one or more of the macro-n's would expand into nothing to make this
invalid form valid?

but why stop with zero or one result when we have multiple values in other
parts of the language (albeit for completely different reasons)?  can we
think of it as ,@ outside of backquote?  (could #. just be replaced by ,?)

multiple-valued macros would certainly pose interesting problems in parsing
and evaluation.  for completeness, we should also consider multiple-valued
reader-macroes.  the mind boggles.

miracle of miracles.  look what the Net dragged in.