[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