Well, I've gotten the system running until it dies horrible in cold-init
due to defknown apparantly leaking type-definitions from the
cross-compiler host system into the target.
It looks like *backend-info-environment* ought to be avoiding this
problem, but I can't see anywhere that it is actually set to anything,
and so it doesn't seem to be being used...
Have I missed something?
The problem that I'm having is that sbcl is deciding that simple-string
really means simple-base-string in the defknowns, etc, which explains a
few issues I had earlier on.
In better news, it looks like unicode strings are almost there :)
The previous zillion bad assumptions that simple-string is
simple-base-string seem to have been fixed, and the dodgy type
definitions in the unix pathname stuff, etc likewise.
There is some cruft introduced into the array type handling code to deal
with though - but that array type info needs rewriting anyhow, tables
In good news, when I get the array type stuff sorted out (to allow
specialisation on non-primitive types), we'll be able to add a
universally specialisable array type, implemented like (array T), but
with an extra slot for a type-predicate, which could be checked at high
safety, and used for type-inferrence otherwise. So, a (simple-array cons
(*)) might be actually meaningful, and help the type-inferrence.
If Lovecraft had known cmucl, he would have never bothered with Cthulhu.