Re: Opaque syntax objects
Michael Sperber 13 Aug 2005 07:51 UTC
Andre van Tonder <xxxxxx@later.het.brown.edu> writes:
>
> Hi Mike, thanks for the comments.
>
> > I'd like to suggest that compound expressions be represented by an
> > opaque type rather than by pairs. This would ensure a modicum of
> > abstraction, and would *really* make comprehensive the ability of all
> > syntax objects to carry location information.
>
> The current representation does allow source tracking for compound syntax
> objects. One would make the reader put the location of each node (pair or
> vector) in a hash table. Each evaluation of a SYNTAX or QUASISYNTAX form
> can do likewise. Since pairs keep their identity during expansion,
> location information for every node (and identifier leaf) can always be
> looked up in the hash table at any stage of the expansion.
[Sorry for replying out of order.]
You mean in a global hash table? That's a hack around the lack of a
field in the syntax objects. To make it work efficiently, you'd have
to bring weakness in---a lot of machinery to duplicate functionality
that would trivially work if syntax objects were abstract and thus
extensible.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla