In guile 2.0, I need to use "define*" to define second-order functions
such as:

(define* ((f a) b) ...)

But define* doesn't work for higher-order functions, or for more
complicated definitions of second-order functions, such as:

(define* (((f a) b) c) ...)

(define* ((f #:optional a) b) ...)

These forms are very common in the scmutils mechanics functions.
Is there any way around this, other than using lambda, as in:

(define* ((f a) b) (lambda (c) ...))

(define* (f #:optional a) (lambda (b) ...))

?

Reply via email to