[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: preprocessor-based Common Lisps



> From: Masinter.pa@Xerox.COM
> 
> You don't say what you think a "pre-processor" is or does. Is READ a
> pre-processor? (I don't think so, but...)

This was sent to me as private mail, but I will respond to the entire list
because I want to get as much useful information as possible, and Larry's
point is valid.

I would not consider READ to be a preprocessor.  What I am looking for are
implementations that take some of the task of the interpreter and compiler
and combine them into a common pass.  Graphically:

				interpreter
			     /
		preprocessor 
			     \
				compiler

This could be as simple as a tokenizer, or as complex as everything but the
code generator in the compiler being moved to the preprocessor (but then
the interpreter would have to share the preprocessor -- otherwise, it would
just be a piece of the compiler).

Since READ is required by Common Lisp (though I suppose it doesn't actually
say anywhere that the compiler has to READ the file, I think this is obvious
that it should), this would not be anything unusual.  I am looking for
"alternate evaluation strategies" as referred to by CLTL.  Thus, an
compile-only implmentation would also be interesting to me.


John Diamant
Systems Software Operation	UUCP:  {ihnp4!hpfcla,hplabs}!hpfclp!diamant
Hewlett Packard Co.		ARPA/CSNET: diamant%hpfclp@hplabs.HP.COM
Fort Collins, CO