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


I'm still very serious about the question of the default  
package/readtable/read-base  to be in effect when LOAD and 
COMPILE-FILE start to work.  I think the choice made way back 
when, to let all of these assume their dynamic value current at 
the time of the call to LOAD etc, has been counter-productive.  

It means that normal files *cannot* be guaranteed to be loadable;
the caller of LOAD must at least guarantee that (1) some reasonable 
readtable is in effect, (2) that either read-base is 10 or the file has 
isolated itself against integer bases, and (3) that the current package 
is "reasonable enough" to get something correctly read-in for the initial 
IN-PACKAGE or the file has no unqualified symbols.  [Note that very few
users write LISP:IN-PACKAGE -- not even those actually involved in 
writing portable code!].  While it is reasonable for a file to have 
something in it like:
   (in-syntax :package sys:big-loser :read-base 16)
and thus be parsed in a truly non-standard way, I can think of no
other standardized computer language that leaves so much of its
syntax to environmental accidents rather than to clear specification.

I've "looked ahead" [actually "jumped around"] in my mail file to see 
Kent's proposal for STANDARD-VALUE; while quite interesting in its own 
right, it is more focused at shielding the debugger.  Furthermore,
only 3 of the proposed 14 "standard values" would be involved in simple
file reading/loading.

Is there anyone else in this community simiarly concerned about specifying
a standard "foot to stand on", for the syntax of LOADing files?  It may
be too late to bring up such an incompatible change now, but I still 
think it is a serious problem.

-- JonL --