Email list hosting service & mailing list manager


questions about `condition-property-accessor' Richard Kelsey 11 Oct 1999 16:33 UTC

A great SRFI.  My thanks to the authors.

I do have some questions about the functions returned by
`condition-property-accessor'.

Question 1: What predicate is used to compare prop-keys?

The implementation uses `eq?' (via `assq' and `memq') for both
kind-keys and prop-keys.  The specification says that kind-keys
are compared using `eqv?' and says nothing about how prop-keys
are compared.

The rest of the questions relate to the following condition:

  (define condition
    (make-composite-condition (make-property-condition #f 0 'a 1 'b)
                              (make-property-condition #f 0 'c 1 'd 2 'e)))

Question 2: What happens if I ask for a property that the condition
doesn't have?

  ((condition-property-accessor #f 3) condition)  -->  ???

Question 3: What if I ask for a property that only one of the two
subconditions has?

  ((condition-property-accessor #f 2) condition)  -->  ???

Question 4: Will the accessor always use the same subcondition?
Can the following return (a d) or (c b), or must it return (a b)
or (c d)?

  (list ((condition-property-accessor #f 0) condition)
        ((condition-property-accessor #f 1) condition))
    --> ???

                                  -Richard