Andy Wingo <wi...@pobox.com> writes:

>> How much of this is compiler-specific?  Does some of it also apply to
>> old-style reading and interpreting?
>
> No, it's just compiler-specific. The reader captures source information
> at when it reads lists, as you know, and this is just propagating more
> of it.

OK, thanks.

> There is an interesting development in the vm branch regarding source
> information, though, and that is syncase. syntax-case has the capability
> to transfer source information through macro transformation, unlike
> defmacros (unless they are written very carefully, so as to preserve the
> original source). But the syncase situation is a longer mail...

I thought that was just a matter of using `cons-source'
(e.g. lang/elisp/transform.scm); or else something like

    (define (transform x)
      ...
      (let ((transformed-x ...))
        (set-car! x (car transformed-x))
        (set-cdr! x (cdr transformed-x))
        x))

(Assuming that x is a pair and doesn't need preservation.)

But I'll wait for the full syncase email...

   Neil


Reply via email to