Phase-0 exports are available because those were the only kind of exports when syntax properties were originally added to a `module` expansion.
I almost added information for other phases when I recently added the 'module-body-inside-context and 'module-direct-for-meta-requires properties. In the end, I skipped that addition; unlike the other information, it seemed relatively easy enough to reconstruct exports from a module's expansion. So, I can fill out provided-identifier information if it seems important, but it's somewhat tedious to add, and I'd prefer to leave it out. At Thu, 4 Feb 2016 15:24:22 -0500, Leif Andersen wrote: > A module's syntax properties when fully expanded do a reasonable job > getting the requires and provides out. However, if I have something > defined (and provided) in a phase other than 0, it seems to be > missing. For example: > > #lang racket > > (require zordoz) > > (define mod > #'(module foo racket/base > (#%plain-module-begin > (#%require (only racket/match match)) > (#%provide x) > (#%provide (for-syntax y)) > (define x 5) > (define-for-syntax y 6)))) > > (expand mod) > > In the expanded module there is no syntax property for `y`, even > though it's provided for syntax. > > Now, I could (and currently do) just recalculate this when I'm > compiling the module, but this seems a little bit silly to redo as the > macro expander seems to already have this information. > > Is it possible to have all of a module's provides included when a > syntax object is expanded, and not just it's phase level 0 ones, or am > I missing something? > > Thank you. > > ~Leif Andersen -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20160204204820.1547565005B%40mail-svr1.cs.utah.edu. For more options, visit https://groups.google.com/d/optout.
