[R6RS] Safe/unsafe mode
dyb at cs.indiana.edu
dyb at cs.indiana.edu
Wed Jul 19 13:43:13 EDT 2006
Will,
Thanks for committing the updated safety.txt.
I noticed it contains the following for me to reconsider:
> Furthermore Kent has written that an equivalent of this
> example (bug2) is not required to raise an exception
> under his interpretation of Proposal 3. [FIXME: He may
> wish to reconsider that.]
>
> (let ()
> (define (my-memq x things)
> (cond ((null? things) #f)
> ((eq? x (car things)) things)
> (else (my-memq x (cdr things)))))
> (let ()
> (declare unsafe)
> (my-memq 1 2 3)))
Assuming there are no other declarations, an exception must be raised.
This is consistent with what I said earlier about whether an exception
must be raised for for bug2:
If the procedure value of my-memq was created by a keyword (e.g., define
or lambda) that was imported from a standard R6RS library and associated
with safe priority 0, then no, otherwise yes.
Kent
More information about the R6RS
mailing list