Skip to content
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

Walking form which is trying to rewrite a (var ...) special form errors because walk-exprs runs eval on it. #35

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

didibus
Copy link

@didibus didibus commented Sep 4, 2022

When trying to walk a form where I want to handle the var special form (var ...) in order to rewrite it to something else and not have it perform the actual var lookup walk-exprs fails, because even if you pass 'var into special-form? walk-exprs will still run (eval x) which will cause errors when walking, since the (var ...) form being walked is not compatible with the default behavior of the special form and meant to be rewritten.

To solve this, I modified walk-exprs so when 'var is passed as a sepcial-form? it will also skip running eval on it and calling the handler with it.

This was preventing walking macros that want to handle the var special form in different ways.

As far as I understand, this should make sense with what special-form? was intended.

… also skip running eval on it and calling the handler with it. This was preventing walking macros that want to handle the var special form in different ways.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant