-
-
Notifications
You must be signed in to change notification settings - Fork 670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
expander: add syntax-local-make-definition-context-introducer
#4929
Conversation
To clear up potential confusion seeing the mentioning Rhombus issue: this PR does not intend to introduce low-level mechanism for the user to replicate what definition contexts already do. Rather, it’s intended for situation where you want to create scopes that should be pruned for |
Since the Specifically, I have in mind that this function is useful to add use-site scopes to Rhombus's enforestation-level expansion. The name doesn't matter, but it can help with debugging if things are distinct. Also, seeing a debugging category for Rhombus Changing to a symbol would also help clarify that debugging is the only effect of the choice. |
As It may also be that |
This function makes an introducer that encapsulates a scope that should be pruned from `quote-syntax` forms, much like an {inside,outside}-edge scope. This can be useful for implementing forms like Rhombus `let` (which is indeed the motivation; see racket/rhombus#471).
871b301
to
590a178
Compare
I incorporated the suggestion and made some clarification to the purpose of this function. I’m not sure how much we still want this change, though. |
Thanks for the updates! Making sure I'm not confused: This is still a useful shortcut for implementing something like |
Yes, if we keep the current implementation strategy for |
Checklist
Description of change
This function makes an introducer that encapsulates a scope that should be pruned from
quote-syntax
forms, much like an {inside,outside}-edge scope. This can be useful for implementing forms like Rhombuslet
(which is indeed the motivation; see racket/rhombus#471).