Takashi Kato <ktakashi19@gmail.com> schrieb am Mo., 27. Juni 2016 um 12:20 Uhr:
On 27 June 2016 at 11:02, Marc Nieper-Wißkirchen
<xxxxxx@nieper-wisskirchen.de> wrote:
> The main difference to SRFI 99/SRFI 131 is that SRFI 99/SRFI 131 relies
> on the identities of the parent's field names in a child's
> constructor. (snip ...).  In SRFI 136, the parent constructor's arguments
> are solely referred to by position, so the problem is bypassed.
It seems the same strategy as R6RS's record type.

I will add a note to the SRFI. Using (rnrs records) as a substitute for this SRFI is not possible, though, because of the incompatible syntax to SRFI-9's define-record-type.
 
> The intended meaning of "it's an extension of R7RS-small's record type" is
> that any implementation of SRFI 136 could be included in (scheme base).
I think it's better to say it in the SRFI. (there might be people, like me,
who don't read this SRFI's pupose like that)

Will add this as well.
 
> Yes. This makes introspection possible already at the syntactic level. For
> the procedural level, the predicate serves as the record-type identity.
I think it might be better to say it explicitly rather than implicitly.

Ok.
 
>> - What would happen if make-record-type-predicate gets not yet defined
>> record
>>    type as its first argument?
>
> It is an error because the procedure is called with unsupported arguments.
Does it mean the name argument must be a simple of already defined record type?
Then I don't see the purpose of this procedure. (Maybe there's miscommunication.
I meant a symbol of 'not yet defined record type name')

Now I think I can guess where the misunderstanding lies. The procedure "make-record-type-predicate" applied to a predicate of record type A returns a predicate for a record type B (that is not exposed on the syntactic level) that is a child of A. Maybe I should have named the procedure "make-subtype-predicate".
 
Cheers,

Marc