This page is part of the web mail archives of SRFI 102 from before July 7th, 2015. The new archives for SRFI 102 contain all messages, not just those from before July 7th, 2015.
Alexey Radul wrote:
I wonder about the utility of a facility like this when it has such weak guarantees. Can you give an example of a situation when this would be useful without having confidence that the arity information is accurate at least for "most" procedures?
I believe it is useful for reporting diagnostic information such as generating good error messages. Aubrey Jaffer wrote of the Clinger proposal in 1996 that it "offers a solution to the problem of generating useful, uniform error messages for the dozen implementations supporting SLIB -- something currently lacking." The Clinger proposal makes no stronger guarantees than this proposal.
It also seems that including a means by which the programmer can declare arity information for procedures (perhaps including system procedures) could significantly improve the accuracy (and therefore usefulness) of arity information, in particular about the arities of procedures produced by procedure combinators. In the presence of mutation and procedures being comparable by eq?, such a mechanism could be implemented with a (weak) eq? hash table on procedures. (For what it's worth, declaring arity information for procedures is semantically different from restricting the arities of procedures, and may therefore enjoy broader use).
First of all, let me point out that procedures are not comparable by `eq?'.I agree this would be useful. I am reluctant to expand the scope of this SRFI, however. Is this issue important to others, and is there a an interface for doing this that is supported by multiple Scheme systems? (I am trying to introduce no novel designs in this SRFI).
It would seem that if there is not a strong precedent for such facilities, it is best put off for another SRFI to take up, which of course can be designed to work with this one.
David