Email list hosting service & mailing list manager

Editorial nits; define-record-type John Cowan (02 Sep 2015 20:27 UTC)
Re: Editorial nits; define-record-type taylanbayirli@xxxxxx (03 Sep 2015 12:05 UTC)
Re: Editorial nits; define-record-type John Cowan (03 Sep 2015 13:33 UTC)
Re: Editorial nits; define-record-type taylanbayirli@xxxxxx (03 Sep 2015 15:01 UTC)
Re: Editorial nits; define-record-type taylanbayirli@xxxxxx (03 Sep 2015 15:31 UTC)

Re: Editorial nits; define-record-type taylanbayirli@xxxxxx 03 Sep 2015 12:04 UTC

John Cowan <xxxxxx@mercury.ccil.org> writes:

> 1) Add SRFI 69 hash tables to R6RS hashtables as a supported type.
> The only difference for SRFI 123 purposes is the spelling of the procedure
> names.

From what I can tell, SRFI-69 is obsoleted by the R6RS hashtable API.
There is even an (r6rs hashtables) library for R7RS (which bases itself
on SRFI-69 if that's available) so I see no reason to support SRFI-69
directly in new code and specifications.

The really stubborn people can just use 'register-getter-with-setter!',
but this should probably be discouraged.  After all, R6RS hashtables
make concrete improvements over SRFI-69 (in terms of specification) as
was pointed out by Will Clinger on the scheme-reports-wg2 mailing list.
Given that, and the existence of the portable (r6rs hashtables) library,
I see no reason to support SRFI-69.

Am I wrong?

> 2) I think you should say "it is an error" rather than "an error is raised"
> in the definition of `ref` (in two places).  That allows implementations
> to support SRFI 123 in unsafe mode as well.

Done.

> 3) The first comma in the paragraph marked "Warning:" should be dropped.

Done.

> 4) Change "reference implementation" to "sample implementation".  A reference
> implementation is one used as a specification, which SRFI implementations
> are not.

Done.

> Define-record-type should not be overridden if the R6RS, ERR5RS, or SRFI 99
> implementations of inspection are available, as determined by cond-expand.
> They already have the capability of taking a non-opaque record and determining
> its field names, as well as accessing and mutating fields by their names.
> This should be added to the implementation and to the "Considerations when
> using as a library" section.

Done but needs some testing.  I'll see what R7RS + R6RS-records Scheme
implementations I can use to test this.  Maybe Larceny.

Changes pushed so far (but no pull-request made yet).

Thanks for the feedback!
Taylan