We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
This:
var umem = new Uint8Array(1024); macro word { rule { ($addr:expr) } => { ((umem[$addr] << 8) | umem[($addr)+1]) } } word(4);
expands to this:
var umem$186 = new Uint8Array(1024); umem[4] << 8 | umem[4 + 1];
So, umem is being renamed at its definition site, but the expansion isn't using that name.
The text was updated successfully, but these errors were encountered:
Oh, but I see it does work as a case macro:
macro word { case { _ ($addr:expr) } => { return #{((umem[$addr] << 8) | umem[($addr)+1])} } }
Is it intentional that it doesn't word as a rule macro? Scheme's syntax-rules does handle this.
Sorry, something went wrong.
Nope, not intentional. Looks like a bug in rule macros.
916a651
No branches or pull requests
This:
expands to this:
So, umem is being renamed at its definition site, but the expansion isn't using that name.
The text was updated successfully, but these errors were encountered: