[racket] Quoted expressions in #lang racket

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Sep 18 10:44:16 EDT 2011

On Sep 18, 2011, at 10:34 AM, Grant Rettke wrote:

> 2011/9/18 Racket Noob <racketnoob at hotmail.com>:
>> In Common Lisp or Clojure REPL, expression '(1 2 3) evaluates to (1 2 3).


No it doesn't. In CL and Clojure, '(1 2 3) evaluates to '(1 2 3) and then the printer turns it into (1 2 3). 

Now imagine you wish to experiment at the REPL. (What an outrageous idea but some of us do.) In that case, you may wish to reuse a result from some REPL computation in the repl again. Just paste it back in and run. Ouch for Common Lisp. Ouch for Clojure: 

 function expected; given 1 

This issue was clarified in a beautiful MIT dissertation around 1980 (Brian Smith) and nailed once and for all. Sadly Brian chose a horrible slogan, which the rest of the MIT lispers didn't understand and so his ideas got buried. I re-discovered them and so did many others. 

Go figure why Lispers are hung up on a mistake from the 1950s. 

-- Matthias






Posted on the users mailing list.