--- This message is a formal comment which was submitted to formal-comment_at_r6rs.org, following the requirements described at: http://www.r6rs.org/process.html --- Submitter: John Cowan Email address: cowan_at_ccil.org Issue type: Simplification Priority: Major Component: Exceptions Report version: 5.92 Summary: The components of a compound condition should be independent. In R5.92RS, a condition may contain any number of component conditions. However, if two or more of the components are of the same exact type, then condition-ref will be able to retrieve the fields only of the first such component, not the others. A fortiori, if a condition contains two components foo and bar of types &foo and &bar respectively, such that &foo is a supertype of &bar, then asking for a field of &foo will return the value from whichever component appears first. In order to simplify the use of conditions, I propose to make it an error to create a compound condition with two or more components of the same type, unless that type has no fields. This means that the order of component conditions no longer matters. None of the standard condition types of report section 6.3 conflict in this way, but it would mean, for example, that the condition created by the "error" procedure could not be compounded with another such, nor with any simple condition of type &who, &irritants, or &message. If this is done, then the acccessor procedures defined by define-condition-type can be applied to compound as well as simple conditions of that type, since the result will not be ambiguous or order-dependent. (R5.92RS is silent on using such an accessor on a compound condition.) -- John Cowan http://ccil.org/~cowan cowan_at_ccil.org [P]olice in many lands are now complaining that local arrestees are insisting on having their Miranda rights read to them, just like perps in American TV cop shows. When it's explained to them that they are in a different country, where those rights do not exist, they become outraged. --Neal StephensonReceived on Thu Mar 15 2007 - 01:38:59 UTC
This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC