Some more changes in CVS:
- LOAD now accepts a fourth keyword argument, :SEARCH-LIST, which
is a list of directories where LOAD should try to find the file.
The value of SEARCH-LIST defaults to SI::*LOAD-SEARCH-LIST*. If
the file is not found using SEARCH-LIST, then the current
directory is tried.
- All streams have from now on element type (UNSIGNED-BYTE 8).
READ-CHAR and WRITE-CHAR work on any stream, though, as do
READ-BYTE and WRITE-BYTE.
- READ/WRITE-SEQUENCE implemented.
- READ/WRITE-BYTES removed!!!
- (UPGRADED-ARRAY-ELEMENT-TYPE NIL) => CHAR This solves the
problem (SUBTYPEP '(ARRAY NIL (*)) 'STRING) => T. However it is
against this piece of the Spec:
Type upgrading implies a movement upwards in the type hierarchy lattice. A
type is always a subtype of its upgraded array element type. Also, if a type
Tx is a subtype of another type Ty, then the upgraded array element type of
Tx must be a subtype of the upgraded array element type of Ty. Two disjoint
types can be upgraded to the same type.
That shouldn't be a problem, since we already violate that with the set
of specialized arrays for integers.