Eli convinced me the procedure entry is not really useful, due to macros. So it does not really matter how to define a procedure 'body' in terms of define, lambda, case-lambda. (I might need this for the native debugger, still not sure)
On the plus side, I made a little mod to handle case 2.
You will need to expose your 'make-annotation' procedure.
Hi
Eli convinced me the procedure entry is not really useful, due to macros. So it does not really matter how to define a procedure 'body' in terms of define, lambda, case-lambda. (I might need this for the native debugger, still not sure)
On the plus side, I made a little mod to handle case 2.
You will need to expose your 'make-annotation' procedure.
In do-macro-call, replace:
(add-mark (gen-mark) x expr)
with:
(add-mark (gen-mark)
(annotation ? (stx-expr expr))) make-annotation x (annotation-source (stx-expr expr)) x)
(if (and (pair? x)
(stx? expr)
(
x)
expr))
This works well for the simple case. It appears to work for multiple macro transforms too.
Not sure how correct this is.
Testing continues!
Cheers
leppie
PS: this hack was purely possible, because of the debugging support! Thanks again :)