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.

On 03.02.2021 22.44, Marc Nieper-Wißkirchen wrote:
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").