question on the opaque syntax object debate
Andrew Wilcox 18 Aug 2005 16:03 UTC
Andre, thank you for your work on the hygienic macros SRFI.
I'm excited to see the unification which allows the standard list
procedures (CAR, CDR, CONS) to work on syntax objects while retaining
hygiene.
I view this advance in the state of the art as similar to the
innovation of unifying control abstractions by providing
CALL-WITH-CURRENT-CONTINUATION.
I see in the email archives that this feature is controversial. From
the discussion I understand the following:
PLT Scheme provides extensive functionality in retaining and
manipulating syntax location information through the use of opaque
syntax objects.
The SRFI proposal also provides for associating location
information with syntax. However, there is a burden to the
implementor. For the location information to be garbage
collected, the Scheme implementation would need to provide either
weak pointers, the ability to have a pair subtype that contained
location information, or generic procedures.
What is not clear to me from the discussion is whether:
A) The SRFI proposal provides the the ability to carry syntax
location information which is just as comprehensive and
featureful as PLT Scheme.
or,
B) While the SRFI proposal provides the ability to carry syntax
location information, PLT Scheme is able to provide features
through the use of opaque syntax objects that the SRFI proposal
can not.
Thus my question is: does PLT Scheme have syntax location features
that this SRFI proposal is not able to provide?
Thank you,
Andrew Wilcox