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
Consider this program
x.head = 0 x.tail = 1 main = match x=[1] { List/Cons: @x (x x.head x.tail) List/Nil: 0 }
Here, x.head and x.tail should refer to the variables bound by the elimination of List/Cons. Instead they resolved as references to the two functions.
x.head
x.tail
List/Cons
We can reproduce this by running the program, which results in λa (a x.head x.tail) instead o λa (a 1 []) which we get by calling x any other name.
λa (a x.head x.tail)
λa (a 1 [])
x
This happens because resolve_refs is called before fix_match_terms and so the names bound by each match arm haven't been generated yet.
resolve_refs
fix_match_terms
Bend commit 45839a7
No response
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Reproducing the behavior
Consider this program
Here,
x.head
andx.tail
should refer to the variables bound by the elimination ofList/Cons
. Instead they resolved as references to the two functions.We can reproduce this by running the program, which results in
λa (a x.head x.tail)
instead oλa (a 1 [])
which we get by callingx
any other name.This happens because
resolve_refs
is called beforefix_match_terms
and so the names bound by each match arm haven't been generated yet.System Settings
Bend commit 45839a7
Additional context
No response
The text was updated successfully, but these errors were encountered: