On May 3, 2016, at 2:40 PM, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> More specifically, the problem is in converting definitions to > `let-values` as opposed to `letrec-values`. If you have > > (define x^{s1,s2} 1) > (define x^{s1} 2) > x^{s1,s2} Now that we live in a world of scope sets, is there a way to treat these sets as standalone items that can be: a) created and passed around independently of a particular syntax object b) selectively applied / removed from syntax objects (similar to syntax properties) ? Of course, one can reveal the scopes with `(syntax-debug-info stx 'context)`, and impliedly copy a whole scope set from one syntax object to another with `replace-context` or equivalent. This question is about more granular control. Pseudocodishly: (define-for-syntax pink-scope (generate-unique-scope)) (define-for-syntax purple-scope (generate-unique-scope)) (define x (with-scopes (pink-scope purple-scope) 42)) In this case, `x` would be born carrying both the pink-scope and purple-scope, with others being added during the normal course of expansion. -- 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 racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.