I think the guile-user list might be more appropriate.

Noted

   (let-syntax ((outer (lambda (x) #'(+ 1 2))))
     (let-syntax ((inner (lambda (x) (outer x))))
       (inner)))

That works, but I guess this isn't possible then

(lambda* (#:key outer)
  (let-syntax ((inner outer))
    (inner ...)))

Since that would require evaluating run-time code at compile-time

Is there a way to write a macro that's expanded at run-time?

It feels like I'm asking the wrong question now, but I'm
really looking for a way to bind macros at run-time
so they can be used functionally

I guess the right answer is to use functions instead of macros?

Reply via email to