I'm trying to learn how to restrict where expressions appear. Those expressions might be procedure applications, or macros before expansion.
[1] shows a library I use to help me implement a collection pass for a module language. To save you some reading, it uses syntax-parse with a lengthy #:datum-literals. That's the only way I know how to restrict what expressions appear in module context. One element of the #:datum-literals happens to share an identifier with a bound procedure, so I expand the calls as-is in a module-level expression [2][3]. I want that procedure to be applied ONLY in the module context, but nothing in the language enforces that. I don't know what I don't know. Could I please get a link to a part of the documentation that teaches me what I need to understand? I'm tied between querying syntax properties for a fully expanded module, and writing a second set of macros that somehow know where they should be. Not sure which is best. [1]: https://github.com/zyrolasting/xiden/blob/master/pkgdef/expand.rkt [2]: https://github.com/zyrolasting/xiden/blob/master/pkgdef/expand.rkt#L111 [3]: https://github.com/zyrolasting/xiden/blob/master/pkgdef/expand.rkt#L156 ~slg -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/bVbaZ_0mwFcWTIaeuwqMUr7TVY6Rhr5dusG9LkbT0gqW7gWIYAb8IOEUYnKQPIVR2ZrDGm9QMGnW-2YvYqw81oUJVCSCuwhuX_Wx2OGVG-w%3D%40sagegerard.com.

