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

Programs writing backquote



    I'd like to second the proposal that Common LISP backquote "`" be
    explicitly defined as expanding into a macro, and that ",", ",@", and
    ",." expand similarly into s-expression forms.  This makes backquote
    more accessible to programs.  The point has been made that if "`"
    expands into a LISP macro invokation, a conventional interpreter will
    run the code relatively slowly.  This kind of objection of course
    applies to use of macros in general, and I don't think we usually let
    it stop us from defining macros where they are useful.

If we really want to do this, it should be sufficient to define
S-expression forms that the various backquote character macros COULD
expand into, and that programs can generate to get the same effect.  We
don't have to require implementors to actually use these in processing
backquoted expressions.

Since all of these generated forms have equivalents that use only
pre-defined things like QUOTE, CONS, APPEND, and NCONC, I don't really
see much point in adding a bunch of new things that correspond directly
to the backquote forms.  Programs can just say what they really mean,
without having to try to think in terms of these cute surface-level
forms that happen to be convenient for humans.

-- Scott