> EMIT-ANNOTATIONS causes the SISC Scheme *reader* to include source
> file location information. However the location information is *not*
> propagated by the macro system. Thus after macro expansion, only
> source that didn't go through macro expansion still has location
> information.
To be a bit more clear, any expression that survives macro
transformation has source information, for example:
(let ([x (foo 3)])
(bar 4))
Location information won't exist for the let statement itself, but will
still be attached to the two function calls.
> But still... might it be possible for SchemeUnit to capture location
> information in SISC? Could be. The original syntax object passed to
> a macro transformer has location information; the information is not
> present in pattern variables after pattern matching by SYNTAX-RULES or
> SYNTAX-CASE. So you might be able to capture location information, if
> you get to it early enough.
That shouldn't be the case. It is only new code generated by the
expander and syntax itself which has no location information.
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
|