[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: IN-SYNTAX (Version 1)
- To: jonl@lucid.com
- Subject: Issue: IN-SYNTAX (Version 1)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Fri, 21 Oct 88 17:13 EDT
- Cc: KMP@STONY-BROOK.SCRC.Symbolics.COM, CL-Cleanup@SAIL.Stanford.EDU, CL-Compiler@SAIL.Stanford.EDU
- In-reply-to: <8810212059.AA11541@bhopal>
Date: Fri, 21 Oct 88 13:59:17 PDT
From: Jon L White <jonl@lucid.com>
This issue is far too narrowly focused right now. For example,
[Reasonable comments ommitted for now.]
In short, we would all be better off if LOAD and COMPILE-FILE started out
in a ***known*** configuration. I would suggest binding *READ-BASE* to 10,
*PACKAGE* to USER, and *READTABLE* to a value like (copy-readtable nil).
I'm worried about this because:
- LISP is unsuitable because you don't know what's in it.
- USER is unsuitable because
- it may contain implementation-dependent stuff, including
shadowed definitions of standard common lisp things.
- its express purpose is for users to muck around in, so even
if it starts off clean, it won't stay that way. as such, either
it will be unreliable to load anything once you've been fooling
around awhile or you'll have to know not to do some things that
might screw up loading. either of these is unacceptable.
- SYSTEM is unsuitable because you can't know what's in it.
- KEYWORD is unsuitable because it has no functions in it and you'd
have to use package prefixes anyway.
...
The MIMIMAL proposal -- assuming the name change -- is nearly
uncontroversial, and wouldn't preclude subsequent embellishments.
How about adding *READ-BASE* to it, and considering more standard
default values?
Something I just thought of (a result of thinking about your message):
In spite of my hesitation about using USER, I have to say that it might
be kinda nice if LOAD could rebind everything to its `standard value' if
we could adopt the STANDARD-VALUE proposal. If that were true, then
people could do LET-STANDARD to affect the value if they really wanted
to, yet not only *PACKAGE*, but also *READTABLE*, *PRINT-BASE*, etc.
could be handled in a reason which was intuitively nice and didn't have
to pick some arbitrary set of variables to bind. Maybe if we did that,
I wouldn't feel a need to push this issue. When you've had a chance to
review that proposal, let me know how you feel about this idea.