[r6rs-discuss] Interpreters need not apply?

Abdulaziz Ghuloum aghuloum at cs.indiana.edu
Wed Mar 7 16:07:58 EST 2007


On Mar 7, 2007, at 2:31 PM, AndrevanTonder wrote:

> On Wed, 7 Mar 2007, William D Clinger wrote:
>> AndrevanTonder wrote:
>>> Granted, but what does this have to do with being an interpreter  
>>> or not?
>>
>> "Pure" is the operative word.
> [...]
> Maybe I do not understand what is meant by "pure".

A pure interpreter here (I guess) is one that does not perform *any*  
work (other than reading the program perhaps) on the program prior to  
evaluating it.  So, for example, an (impure?) interpreter may  
"compile" a reference to a variable X to one of the following:

- if X is an identifier-syntax, call the transformer and re-expand  
the residual expression.
- if X is a global reference, mark it as such.
- if X is a lexical variable, compute its position in the lexical  
environment.

and so on.  A "pure" interpreter, on the other hand, does none of  
this business prior to evaluation (it just interprets source-level s- 
expressions; plain and simple).  I'm actually surprised to see this  
used in anything other than a homework assignment for junior-level  
course on programming languages.

Aziz,,,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.r6rs.org/pipermail/r6rs-discuss/attachments/20070307/5499353b/attachment.htm


More information about the r6rs-discuss mailing list