You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
open importData.Natusing (ℕ)
fails : ℕ → ℕ
fails =λwhere
x →?-- fails to case split here
Try to case split on x at the goal
Expected result
Variable x is successfully split in cases
Actual result
The following error:
UNHANDLED EXCEPTION ErrorResult nvim_buf_set_text (ObjectArray [ObjectInt 1,ObjectString "'start' is higher than 'end'"])
Where this is used
Afaik using λ where is a common pattern when paired with case_of_ from the Function.Base module in the stdlib. Personally, I use it for type-safety proofs in large developments, where the nesting makes it harder to cleanly use with-abstractions.
Edit: Found some more related weird behaviour. In the following snippet:
open importData.Natusing (ℕ)
works : ℕ → ℕ
works =λ {
z →?
}
fails : ℕ → ℕ
fails =λwhere
x →?
case splitting on x in the second goal will actually split z from the first lambda.
The text was updated successfully, but these errors were encountered:
I think this will be a hard one to fix; last I checked, Agda doesn't give us the buffer range we need to change when it gives splits. If that's still the case, we'd somehow need to figure out the scope of the where block on our own :|
Steps to reproduce
x
at the goalExpected result
Variable
x
is successfully split in casesActual result
The following error:
Where this is used
Afaik using
λ where
is a common pattern when paired withcase_of_
from theFunction.Base
module in the stdlib. Personally, I use it for type-safety proofs in large developments, where the nesting makes it harder to cleanly use with-abstractions.Edit: Found some more related weird behaviour. In the following snippet:
case splitting on
x
in the second goal will actually splitz
from the first lambda.The text was updated successfully, but these errors were encountered: