Thanks to both of you for the helpful comments!
All corrections/additions will be incorporated into the next
draft. Marc, you're right (as usual :) about the syntax-rules
simplification.
Thank you for this SRFI, Lassi!
Three comments on the fly:
(1) Simplify by removing artificial restrictions. By this, I mean, generalize the syntax so that, for example, (define a (lambda (b) (lambda (c) (lambda (d) ...)))) becomes (define (((a b) c) d) ...). SRFI 219 currently allows only 0, 1, and 2 nested lambdas. Generalize to arbitrary N.
(2) You should cite SRFI 201, where the extension has already been proposed for standardization (if I read SRFI 201 correctly).
(3) I am too tired to check at the moment, but do you really need four cases in the syntax-rules macro? Wouldn't a clause of the form (define ((name . tail) . xtail) . body) => (define/native (name . tail) (lambda xtail . body)) suffice?
Marc
Am Mi., 3. Feb. 2021 um 21:11 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
This looks like a Mary Poppins draft to me (i.e. "practically perfect in every way").