<< Previous exercise (2.54) | Index | Next exercise (2.56) >>


 ;; 2.55 
 ;; (car ''something) is treated by the interpreter as: 
 ;; (car (quote (quote something))) 
 ;; The first occurrence of 'quote' quotes the next entity 
 ;; (quote something),which is actually a list with two elements, so 
 ;; caring this list yields 'quote. However, this is just a quoted 
 ;; symbol, not a procedure, typing quote in the interpreter prints: 
 ;; =>(#@keyword . #<primitive-macro! #<primitive-procedure quote>>) 
 ;; whereas typing 'quote just yielded it literally. 

note that (car '(list 'a)) returns list. Similarly, ''abracadabra is translated as '(quote abracadabra) and car it will return "quote" (the second quote)