I posted this a while ago in a thread on the core/library split:
> - I'd like r6rs-small to have explicit records, no I/O, and no
> syntax-case. Possibly, there should be "error" and "violation"
> convenience procedures to raise exceptions. (Syntax-case is already
> pretty heavy; I/O is not needed in many programs; records are.)
This got lost in the shuffle, so I'd like to propose it more
formally. Specifically, I suggest that these procedure be added, and
that they behave as if they were defined as follows:
(define (violation msg . irritants)
(raise
(condition
(&violation)
(&irritants (values irritants))
(&message (message msg)))))
(define (error msg . irritants)
(raise
(condition
(&error)
(&irritants (values irritants))
(&message (message msg)))))
where &irritants is a condition type with the following definition:
(define-condition-type &irritants &condition
irritants?
(values condition-irritants))
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla