Repository navigation
Agda 2.9.0 release candidate 3 (including tests) - #8891
Open
andreasabel wants to merge 11 commits into
Open
andreasabel wants to merge 11 commits into
andreasabel wants to merge 11 commits into
Conversation
Closes #8858 <details> <summary>Claudesplanation</summary> I implemented the suggested fix: after Give or Refine, `Cmd_highlight` no longer emits stale annotations. I confirmed the bug on an older binary (`agda-8811`, from early October), and the new test shows it gone with the patched build. **Is the suggested fix reasonable?** Yes. The entries `give_gen` records in `stDisambiguatedNames` carry ranges inside the old goal. They are only correct for the highlighting `give_gen` does right away, while the text is still inside the goal. Once the goal is replaced by the expression, they point at the wrong place. A fresh reload starts with an empty map, so dropping them loses nothing that a reload would have. The issue's fallback options (removing entries by range, or skipping `generateConstructorInfo` in `Cmd_highlight`) only treat the symptom. **The change** is in `give_gen` in `src/full/Agda/Interaction/InteractionTop.hs`: ```haskell disambiguatedNames <- useTC stDisambiguatedNames flip finally (setTCLens stDisambiguatedNames disambiguatedNames) $ unless (null s) $ do ... ``` - The map is saved on entry and restored at the end, after the immediate highlighting has used it. Every other state change Give or Refine makes is kept. - `finally` also restores the map when the give fails with an error, so a failed attempt doesn't leave entries behind either. **Test:** I added `test/Interaction/Issue8858.{agda,sh,out}`, which runs both reproductions from the issue in one file: - **Give:** `con x y` on an ambiguous constructor. The old binary reports `x` as a constructor with `con`'s definition site; now `con` is a constructor and `x`, `y` are `bound`. - **Refine:** a record expression. The old binary returns `(103 105 (field)) (105 106 …) (106 108 …)`; now it returns just `(103 106 (field)) (113 116 (field))`. </summary>
`a ≤ b₁ ⊔ ... ⊔ bₙ` and `bᵢ ≤ a` for all `i` give `a = b₁ ⊔ ... ⊔ bₙ`. Implemented by Claude. Closes #8881.
When splitting x :^μ on c : (y :^ν C) → D, the new variable y has modality μ∘ν in the context, but the pattern c y^ν has to carry the field's own modality ν, as in Coverage. checkLHS used the composed modality for the pattern as well, and patternToTerm copied it into the term c y that replaces x, e.g. in as-patterns and types. Such ill-annotated terms were rejected by CheckInternal, i.e. by --double-check and also by with-abstraction without --double-check: - cohesion, polarity: __IMPOSSIBLE__ in checkModality - erasure: spurious QuantityMismatch Fix by Claude Opus 5.5. Closes #8888.
Repeatedly dividing even numbers by 2 might just not terminate. That pesky 0. Fixed manually. Closes #8898.
And I say [ecosystem] !
Now the following approach is taken (this text is copied from the documentation of agda2-maybe-goto): If `agda2-highlight-in-progress' is `nil', or if the selected window does not visit (does not contain a buffer that visits) `agda2-file-buffer', then nothing happens. Otherwise: * If the selected window visits FILE, or if no visible window visits FILE, then the selected window is made to visit FILE, and point is set to POSITION. * Otherwise point is set to POSITION in every visible window that visits FILE.
Member
Author
|
Updating this PR for the final release candidate: https://hackage.haskell.org/package/Agda-2.9.0/candidate |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Agda 2.9.0 release candidate 3 (including tests)
Commits (over RC2):
Fix
Cmd_highlightafter Give/Refine emits stale disambiguated names fromstDisambiguatedNames#8858 as suggested: don't persists DisambiguatedNames during giveFix Regression in 2.9.0-rc1 and 2.9.0-rc2: level meta left with only inequalities after instance search under a λ #8881 by strengthening simplifyLevelConstraint
Fix
__IMPOSSIBLE__reached with--flat-splitand--double-check#8888: constructor patterns keep the modality of the constructorCHANGELOG: issues fixed for 2.9.0-RC3