Ryan Culpepper

Results 67 comments of Ryan Culpepper

I had hoped to avoid exposing the issue to users, but I understand your reservation, and the point about Homebrew on ARM makes it sound like this PR is too...

This issue came up on Slack a few years ago: https://benknoble.github.io/racket-slack-archive/general/2019-03-12.html. There was a followup discussion by email (off-list), but I don't know if it resulted in any code changes....

@rfindler: I was thinking about @jeapostrophe's solution instead. I just tried it again, and it appears to fix the error, but it misses opportunities to use the cache. That is,...

Sadly, it doesn't fix the problem on the right-hand side of `define-syntax`, since those lifts are processed in a different order. It might be a good compromise to make `(syntax-local-lift-context)`...

The first change looks good, thanks. I don't think the second change is necessary, and the resulting behavior is wrong. If `f` is bound to an `expr-and-stxclass` and `(f 1...

The difference is that `racket/base` provides `string` only at phase 0, but `racket` provides it at phase 1 also, which is where syntax class bindings used to implement macros are...

Yes, the same index variable can be used with different prefixes: > (with-syntax ([(x ...) '(a b c)]) #'([(~indexed t x) (~indexed u x)] ...)) # and the same prefix...

@jsmaniac no, that macro is still hygienic, because the identifiers created by `~indexed` still get the macro scope that distinguishes identifiers introduced by the macro from identifiers in the macro's...

I don't have this fully paged in, but my recollection, reinforced by @michaelballantyne's example above, is that use-site scopes are needed to differentiate identifiers in syntax constants in a macro...

Thanks @yjqww6 and @michaelballantyne for the links and explanation. I'm still paging in the details of the mechanics. Meanwhile, I've been thinking about the discrepancy between the behavior of `local-expand`...