New draft (#2) and last call for comments on SRFI 191: Procedure Arity Inspection
Arthur A. Gleckler
(16 Jun 2020 17:44 UTC)
|
Re: New draft (#2) and last call for comments on SRFI 191: Procedure Arity Inspection Marc Nieper-Wißkirchen (16 Jun 2020 19:14 UTC)
|
Re: New draft (#2) and last call for comments on SRFI 191: Procedure Arity Inspection
John Cowan
(16 Jun 2020 19:59 UTC)
|
Re: New draft (#2) and last call for comments on SRFI 191: Procedure Arity Inspection
Marc Nieper-Wißkirchen
(16 Jun 2020 20:58 UTC)
|
Re: New draft (#2) and last call for comments on SRFI 191: Procedure Arity Inspection
Marc Nieper-Wißkirchen
(17 Jun 2020 11:10 UTC)
|
I think it is a bit too early for the last call because some fundamental issues haven't been addressed yet. And it leaves me a bit surprised about this last call. John, have you missed this thread? https://srfi-email.schemers.org/srfi-191/msg/13835702/ The point is that what this SRFI tries to specify cannot be specified with the R7RS semantics. To carry it to the extremes, both (define (procedure-arity-mask n) 42) and (define (procedure-arity-mask n) 123456789) would be valid implementations of this SRFI. I am not saying that `procedure-arity-mask` is useless for a particular implementation like, say, Racket, where the semantics are more strictly defined than in R7RS, which has to provide a common denominator for a lot of different Scheme implementations, but it seems possible to specify it on top of R7RS so that it can be used reliably. To illustrate my point let me draw an analogy: If R7RS were the axiomatization of a vector space, SRFI 191 would be trying to define the notion of an orthogonal coordinate system. The vector space of a particular Scheme implementation may happen to have a natural Euclidean structure. For such an implementation, procedure-arity-mask could be sensibly defined. Apart from the interface, SRFI 191 is SRFI 102. But none of the issues of SRFI 102 have been discussed nor resolved. While the new interface has been taken from an idea of Kent Dybvig, his concern with such introspection procedures has not been addressed ([1]). On the same list, Thomas Bushnell makes a number of excellent points (albeit quite pointed), which haven't been addressed either. Moreover, David van Horn, author of SRFI 102, writes quite self-critically about his attempt in [2]. Finally, SRFI 102 has been withdrawn, but this, again, hasn't been discussed on this list, although SRFI 191 has (apart from the improved API) exactly the same issues as SRFI 102. Thanks, Marc* -- * I'm sorry for playing the devil's advocate again, but quality matters. While we may not have the (wo)manpower to get the semantics as clear as in, say, the ISO C standards, we should always try to do our best and should not worry about setting aside ideas that still have to mature. [1] https://srfi-email.schemers.org/srfi-102/msg/2771967/ [2] https://srfi-email.schemers.org/srfi-102/msg/2772019/ Am Di., 16. Juni 2020 um 19:44 Uhr schrieb Arthur A. Gleckler <xxxxxx@speechcode.com>: > > I've just published draft #2 of SRFI 191. It was submitted by John Cowan, author of the SRFI. > > John has asked me to announce last call for this SRFI. He believes that it is ready for finalization, but would like to give reviewers one last chance to submit corrections and feedback before we finalize it. > > In particular, I appeal to anyone reading this to try the sample implementation, run the tests, and send feedback about your results. > > If you're interested in this SRFI, please give your feedback via the SRFI 191 mailing list before 2020-06-24. After that, assuming that no major revisions are required, we will declare it final. > > Here are John's comments on the draft: > > I have improved the language about what a 0 bit means: that the implementation can prove that the procedure cannot be called with the specified number of arguments. > > Here is the commit summary: > > fixed bad link > Fix link. > Show keywords. > Use HTML links on HTML pages. > editorial > Publish second draft. > > Here's the diff: > > https://github.com/scheme-requests-for-implementation/srfi-191/compare/draft-1..draft-2 > > Regards, > > > SRFI Editor