Comments
Takashi Kato
(27 Jun 2016 08:03 UTC)
|
Re: Comments
Marc Nieper-Wißkirchen
(27 Jun 2016 09:02 UTC)
|
Re: Comments Takashi Kato (27 Jun 2016 10:20 UTC)
|
Re: Comments
Marc Nieper-Wißkirchen
(30 Jun 2016 11:23 UTC)
|
Re: Comments Takashi Kato 27 Jun 2016 10:20 UTC
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. > 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) > 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. > Why do you think it requires eval? (I would agree that it was ugly if it > required it.) The sample implementation does not use eval. The rationale > behind make-record-type-predicate is that going from the syntactic to the > procedural layer is one-way. As soon as you create a subtype via > make-record-type-predicate, you can only use it with the procedural layer. Ah, ok. The SRFI doesn't specify those procedures, so I thought it needs to evaluate the expression described in the section. >> - 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') > Sorry, I am a bit slow-witted here and didn't get your point. Could you > explain it again (maybe with references to the sample implementation in case > you have taken a look at it)? I looked sample implementation. (Sorry, I didn't when I wrote comments). I thought it requires some sort of storage to lookup record type since predicate is mere procedure (which is misunderstanding) and there's no way to retrieve or store extra information from/to procedure. > I am no expert on R6RS. SRFI 99/SRFI 131 seems to have been written to > remove inadequacies of R6RS. My own proposal is based directly on the ideas > I got from reading SRFI 9/99/131. You might want to have a look at it. Or if you dislike R6RS, you can also see withdrawn SRFI-76 (I believe this is the base of R6RS record), since its field access is also done via index base. Cheers, -- _/_/ Takashi Kato E-mail: ktakashi19@gmail.com