[plt-scheme] A first metacircular evaluator

From: Michael Vanier (mvanier at cs.caltech.edu)
Date: Sat Nov 10 22:16:16 EST 2007

And if you want to go back even further to pre-Scheme days, there's John McCarthy's paper:

http://www-formal.stanford.edu/jmc/recursive/recursive.html

Paul Graham has written a commentary article on it, with a code translation to more modern lisp:

http://www.paulgraham.com/rootsoflisp.html
http://lib.store.yahoo.net/lib/paulgraham/jmc.lisp

Mike

Stephen De Gabrielle wrote:
> Here,
> 
> The Art of the Interpreter of, the Modularity Complex (Parts Zero, One, and Two)
> Guy Lewis Steele, Jr. and Gerald Jay Sussman
> 
> http://library.readscheme.org/servlets/cite.ss?pattern=Ste-78a
> ps & pdf http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-453.pdf
> 
> 
> cheers,
> 
> S>
> 
> On Nov 11, 2007 12:35 AM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>> Start with the Art of the Interpreter instead. It's somewhere on-line.
>>
>> Then move to PLAI. -- Matthias
>>
>>
>>
>> On Nov 10, 2007, at 5:34 PM, Jens Axel Soegaard wrote:
>>
>>> Grant Rettke skrev:
>>>> I've yet to implement a metacircular evaluator for Scheme.
>>>> Seemingly there are two places where this problem is posed:
>>>> SICP: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html#
>>>> %_sec_4.1
>>>> TSPL: http://www.scheme.com/tspl3/examples.html#./examples:h7
>>>> Are there more?
>>> Are you kidding? It has been a favorite pasttime for Lisp and
>>> Scheme hackers at least since the reference manual of Lisp 1.5
>>> to write meta circular interpreters. The first page of the
>>> first chapter of "Lisp in Small Pieces" contains references
>>> to the first 26 interpreters.
>>>
>>>> With which one should I begin?
>>> SICP is a fine place to start.
>>>
>>>
>>> For a short meta circular interpreter see:
>>>
>>>     http://scheme.dk/blog/archive/2006_12_01_archive.html
>>>
>>> --
>>> Jens Axel Søgaard
>>>
>>> _________________________________________________
>>>  For list-related administrative tasks:
>>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>> _________________________________________________
>>   For list-related administrative tasks:
>>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.