[plt-scheme] jumping comma
On Dec 31, 2005, at 10:05 AM, Felix Klock's PLT scheme proxy wrote:
> Andreas-
>
> For the same reason that you see:
> > (list 'jumping (list 'unquote 'comma))
> (jumping ,comma)
>
> The characters comma (" , "), quote (" ' "), and backquote (" ` ")
> are special characters that are first expanded by the reader into
> unquote, quote, and quasiquote special forms (the reader grabs the
> next S-expression as the argument to the form, and wraps it all in
> parens). When the evaluator returns an S-expression with unquote,
> quote, or quasiquote in operator position, the printer converts it
> back into a form that uses the shorthand form.
>
> Thus:
>
> '(jumping, comma)
> = reads to =>
> (quote (jumping (unquote comma)))
> = evals to =>
> (jumping (unquote comma))
This step is not evaluation. The quote is stripped by the printer.
> = prints to =>
> (jumping ,comma)
Robby