-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Remove quoted name splices #8693
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
Conversation
Additionally, this feature does not provide any semantic meaning to the names hence it does not align with the quotes and splices abstractions. It is always possible to recover this name using reflection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice refactoring 👍
def rhsEnv = summon[Env] + (scrutinee.symbol -> pattern.symbol) | ||
bindMatch && tpt1 =?= tpt2 && treeOptMatches(rhs1, rhs2)(using summon[Context], rhsEnv) | ||
tpt1 =?= tpt2 && treeOptMatches(rhs1, rhs2)(using summon[Context], rhsEnv) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pattern matching on definitions up to alpha-conversion 👍
f495ef1
to
95eeaef
Compare
We need to rebootstrap the compiler to have #8692 in the reference compiler. |
Alternatively, you could leave the definitions needed by the non-bootstrapped compiler in the library for now, or move them to |
95eeaef
to
1d2ac5c
Compare
The current encoding of name splices is quite ad-hoc and intrusive. It changes the meaning of a name that starts with `$` which does not align with other kinds of splices. It also does not align with the names that may be shown by `Expr.show`.
1d2ac5c
to
5c40b96
Compare
I kept the annotation for now as it is internal and will not change anything. I left a |
The current encoding of name splices is quite ad-hoc and intrusive. It changes the meaning
of a name that starts with
$
which does not align with other kinds of splices. It also doesnot align with the names that may be shown by
Expr.show
.Based on #8692.