This page is part of the web mail archives of SRFI 93 from before July 7th, 2015. The new archives for SRFI 93 contain all messages, not just those from before July 7th, 2015.
On Mon, 26 Jun 2006, David Feuer wrote:
Should marks and substitutions be considered part of the specification, or an implementation technique? I would suggest that the SRFI author try to find a way to specify the macro system precisely without going into details of how the expander is implemented.
I like the operational semantics in the SRFI, since it may be less ambiguous than the alternative declarative approach.
As corrobrating evidence, I can mention the syntax-case implementation in SRFI-72. That implementation satisfies declarative descriptions of hygiene. However, the implementation technique is based on an "implicitized" version of explicit renaming, not marking/substitution. There are some highly obscure corner cases where it behaves differently from the marking algorithm, while still satisfying hygiene. I have to recheck, but I think these ambiguities should be resolved by specifying the algorithm as is
done here (though perhaps a little more detail might be required). Regards Andre