[R6RS] revised draft of record srfi

dyb at cs.indiana.edu dyb
Tue Aug 2 14:15:22 EDT 2005


> I didn't realize the record? predicate would return true even
> for opaque records.  One way to solve the problem would be to
> make the record? predicate return false for opaque records.
> I would favor that change.

This will prevent portable printers and inspectors from reporting that
an object is a record, but that's okay with me: they will just have to
report it as an "unknown type of object".

If record? returns #f for opaque records, record-type-descriptor need
not return #f for opaque records and can instead signal an error.

> Kent wrote:
> > gc-count actually *should* appear free.  It is the current gc-count as
> > of when the record is created.
>
> Had the value of gc-count been obtained by calling some procedure,
> it wouldn't have looked like a mistake in the SRFI.  It didn't
> occur to me that the current gc-count might be held in a global
> variable; IMO that's pretty un-Schemely.

Good point.

> > zero also works (sort of) if we assume that gc counts begin at
> > zero; the problem is that we can get an extra rehash if the actual
> > current gc-count is greater than zero.
>
> Zero works just fine.  The extra rehash occurs when the table is
> empty, so who cares?  It's more important to make the example
> easy to understand than to avoid the O(1) cost of rehashing an
> empty table.

Also a good point.

Kent


More information about the R6RS mailing list