[plt-scheme] jumping comma

From: Robby Findler (robby at cs.uchicago.edu)
Date: Sat Dec 31 18:44:34 EST 2005

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


Posted on the users mailing list.