[plt-scheme] how to write match expander?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat May 6 11:46:02 EDT 2006

At Thu, 4 May 2006 07:40:25 0200, Matthew Flatt wrote:
> The `match' macro implements its own macro expander to handle bindings
> introduced by `define-match-expander'.
> 
> [...]
> 
> I suspect that the custom macro expander should track introductions
> with marks, but maybe it doesn't matter. Properties probably don't
> matter. Certificates do matter, as your example shows.

Fixed and committed to SVN, but the person responsible for `match'
should look over my changes. To explain the general technique, I'll
send a separate message, "How to implement custom macro expanders that
use syntax objects".

Currently, `match' compares pattern identifiers using symbol equality.
It should use `bound-identifier=?' instead, but I didn't change that.

Matthew



Posted on the users mailing list.