Change DEFINE-STRUCTURE to generate type descriptors for all
authorChris Hanson <org/chris-hanson/cph>
Thu, 13 Mar 2003 03:58:18 +0000 (03:58 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 13 Mar 2003 03:58:18 +0000 (03:58 +0000)
commita06e6610d6877af68adff539532ed913a9a27d5c
treef1de3865864d3ddf44c683c745f6f045ce21db4c
parent461c46fadf5bfca008027188b7110dd2bcd90dde
Change DEFINE-STRUCTURE to generate type descriptors for all
structures, including untagged ones.  This will simplify some
operations that need access to the type descriptor.

The default name to which the type descriptor is bound has been
changed to RTD:foo where "foo" is the structure's root name.

For the runtime cold load, allow TYPE-DESCRIPTOR option to accept #F
as an argument so that the structures defined in "packag.scm" don't
try to build a type descriptor.  This is important because this file
is loaded prior to the type-descriptor infrastructure.  A consequence
of this change is that the TYPE-DESCRIPTOR option no longer implies
tagging.  This is independently specified by the NAMED option, and
these two options are permitted to be used together.

Add TAG and OFFSET fields to the runtime type descriptor for
non-record structures.  In the next revision, this will allow building
more efficient constructors.
v7/src/runtime/defstr.scm
v7/src/runtime/packag.scm
v7/src/runtime/record.scm