[r6rs-discuss] [Formal] Allow compilers to reject obvious violations

Aubrey Jaffer agj at alum.mit.edu
Sun Feb 25 20:44:31 EST 2007


 | Date: Sun, 25 Feb 2007 17:27:37 -0500
 | From: John Cowan <cowan at ccil.org>
 | 
 | William D Clinger scripsit:
 | 
 | > The language described by the draft R6RS cannot be
 | > implemented by a pure interpreter (*).  Lexical checking,
 | > macro expansion, syntax checking, bound-variable checking,
 | > and immutability checks are required before any part of a
 | > program can begin its execution.
 | 
 | Are there any pure interpreters of Scheme?  AFAIK, all of them
 | insist on reading at least one top-level form before executing
 | anything, and all do at least some preprocessing on that form.

Although it reads top-level expressions, SCM processes each
sub-expression only the first time it is evaluated.  So it has no
distinct macro-expansion phase.  Does that count as a "pure
interpreter"?

 | There are languages like APL and Basic that have been implemented
 | by pure interpreters.



More information about the r6rs-discuss mailing list