> That's why I think of `match` as special: it has its own means of extending > its interface, namely with match expanders. > > What I'm curious about is the more general situation of composing macros that > hold identifiers.
It is my understanding that this is what Jack Firth’s generic-syntax-expanders package does. Disclaimer: I have not used it myself. More generally, macros can communicate by using arbitrary transformer bindings, usually containing structure instances which have structure type properties attached to their struct types. This is how match expanders, syntax classes, rename transformers, and other macros that communicate with one another work internally. Even more generally, if you want macros to compose in a more arbitrary and less structured way, you can call local-expand from the containing macro in order to “flip” evaluation order as I believe you described in your original message. Alexis -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

