[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: CONSTANT-COMPILABLE-TYPES (Version 5)
- To: cperdue@Sun.COM
- Subject: Issue: CONSTANT-COMPILABLE-TYPES (Version 5)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Mon, 30 Jan 89 16:01 EST
- Cc: email@example.com, moon@STONY-BROOK.SCRC.Symbolics.COM
- In-reply-to: <8901302041.AA11122@clam.sun.com>
Date: Mon, 30 Jan 89 12:41:42 PST
From: cperdue@Sun.COM (Cris Perdue)
I do not believe you can write a cross-compiler for Lisp which works in
the general case.
You can get caught in situations where a particular macro definition must
expand code for the current environment, for the target environment,
for other macros which must run in the current environment to produce
output for the target, for other macros which must run in the current
environment to produce output which must run in the current environment
and which must produce output for the target, and so on.
The root of the problem is that you are permitted to use a macro definition
in the same file in which the macro is defined. I also believe that, good
or bad, it's too late to change this property of the language.
I believe that you can write a cross-compiler for a subset of Common Lisp,
but I think it would be somewhat difficult to describe the restrictions on
that subset to the casual user. Anyway, once you start to restrict yourself
to subsets, the whole ballgame becomes a lot easier and not really very
interesting, since you can always define away any problem situation that
might come up in the full language.
As such, I believe any time spent discussing cross-compilers is time wasted.
If someone really claims to support a cross-compiler, I'd be interested to
hear the concept defended.