[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: It would certainly be easier if the langauge didn't require variables to be
given meaningless values.
There is a sense in which unbound variable checking for free-variable
references requires the variable to be given a value that is essentially
meaningless, except to detect the unboundedness.
Had CL make "unboundedness" a first class concept, then the bound but not
user-initialized loop variables could have been specified to be that (except
for storage-representation shifts). That wouldn't make the type analysis
and propagation in your compiler any simpler however, -- just more palatable.
Lucid has numerous "unbound object" types used internally, which are even
visible externally as the Built-In-Class UNBOUND-OBJECT; but I dunno if we
are ready to export them and document their usages.
re: b.t.w., you can add base-character, (signed-byte 32), (unsigned-byte 32),
and system-area-pointer (or char*) to your list of types that Lisp
compilers (or at least Python) uses non-descriptor representations for.
Interesting! this is in addition to FLOAT and FIXNUM too?
-- JonL --