[CM] Performance of S7
bil at ccrma.Stanford.EDU
bil at ccrma.Stanford.EDU
Thu Dec 31 13:15:34 PST 2020
I haven't had a chance to look at the code yet, but
I think Kjetil is saying you are using define-macro
throughout your code. In s7 macros are "first class"
entities, so a macro can be local, or passed as
a function argument, etc. That means there's no
way to expand the macro at load time and splice
it into the code. define-expansion is like define-macro,
but it does expand (at read time), somewhat like
other schemes/lisps handle this, at least in the sense
that the expansion-macro is only expanded once per
occurrence in the code. You might try
(define define-macro define-expansion)
to automatically turn all s7-macros into normal-macros,
but any name collisions will cause confusion (the
reader only sees the current global environment,
and know nothing about the local code structure).
More information about the Cmdist
mailing list