> overload.scm must be before some definitions of scheme-infix.scm even
> if it is not used here, it is strange, i do not understand all but it
> compiles now


A minimal reproducer for your problem is

(define (foo)
  (bar 'quux))
(define-syntax-rule (bar x) x)
(display (foo))



Let's dissect what happens. At macro expansion time (during byte compilation),
first the definition of foo is expanded. bar is unbound, so it's compiled as a
function call. Then comes the definition of bar as a macro, but foo has already
been expanded without it.

At runtime, a macro is bound to a syntax transformer, so the binding for bar
that was unresolved at expand time gets resolved to the toplevel binding that
gets defined for bar, and you get this error because a macro transformer can't
be called as  a function.


Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to