[racket] Wikipedia article update

From: John Clements (clements at brinckerhoff.org)
Date: Thu May 3 20:02:08 EDT 2012

On May 3, 2012, at 7:11 AM, Matthias Felleisen wrote:

> 
> On May 3, 2012, at 1:29 AM, John Clements wrote:
> 
>> "The earliest Lisp macros took the form of FEXPRs, function-like operators whose inputs were not the values computed by the arguments but rather the syntactic forms of the arguments, and whose output were syntactic fragments to be used in place of the FEXPR's use. In later Lisps, FEXPRs were replaced by DEFMACRO, a system that allowed programmers to specify source-to-source transformations that were applied before the program is run."
> 
> 
> I have accepted these two sentences as facts for the last 28 years so if you find out that they are wrong, please let us know in which way. 

Sigh. Okay, I just spent 30 minutes and dug up the e-mail that Joe Marshall sent me.  He pointed out that my text was wrong.  The most egregious error was my suggestion that FEXPRs emitted source code, when in fact they emit *values* to be used in continued computation. I've posted his e-mail to my website at 

http://www.brinckerhoff.org/scraps/joe-marshall-on-FEXPRS-and-DEFMACRO.txt

and updated the Wikipedia page to reflect my better understanding.  The text now reads:

"The earliest Lisp macros took the form of FEXPRs, function-like operators whose inputs were not the values computed by the arguments but rather the syntactic forms of the arguments, and whose output were values to be used in the computation. In other words, FEXPRs were implemented at the same level as EVAL, and provided a window into the meta-evaluation layer. This was generally found to be a difficult model to reason about effectively [6].
An alternate, later facility was called DEFMACRO, a system that allowed programmers to specify source-to-source transformations that were applied before the program is run."



John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120503/dd4f531c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4800 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20120503/dd4f531c/attachment.p7s>

Posted on the users mailing list.