1lab/mikan
13
52
Fork
You've already forked mikan
9

Cut out the language options #6

Merged
amyliao merged 7 commits from aliao/cut-language-options into main 2026年04月22日 13:45:08 +02:00

Can be merged fast-forward. This implements the first step of the language consolidation plan (#1), by removes the concept of a "language variant" (with K/without K/whichever cubical). A lot of tests had to move, and, of course, this drops support for the stdlib. In passing I fixed two upstream bugs.


There's a performance regression in code like below (see test/Perf/UnifyLiteral), which now can't make use of the literalStrategy to deal with the reflexive unification problem (since the Deletion step is disabled); they fall back to doing 9999999999 Injectivity steps instead.

pathological:(e:99999999999999999999)Setpathologicalrefl=Nat

The solution will be to split the Deletion step into the general case that is only supported when splitting on an SSet (for which we can't, and don't need to, generate left inverses), and a specialized LitDeletion step (which we can support).

Can be merged fast-forward. This implements the first step of the language consolidation plan (#1), by removes the concept of a "language variant" (with K/without K/whichever cubical). A *lot* of tests had to move, and, of course, this drops support for the stdlib. In passing I fixed two upstream bugs. --- There's a performance regression in code like below (see `test/Perf/UnifyLiteral`), which now can't make use of the `literalStrategy` to deal with the reflexive unification problem (since the `Deletion` step is disabled); they fall back to doing 9999999999 `Injectivity` steps instead. ```agda pathological : (e : 9999999999 ≡ 9999999999) → Set pathological refl = Nat ``` The solution will be to split the `Deletion` step into the general case that is only supported when splitting on an `SSet` (for which we can't, and don't need to, generate left inverses), and a specialized `LitDeletion` step (which we *can* support).
amyliao force-pushed aliao/cut-language-options from a25c480a80 to 6cd987ea90 2026年04月20日 17:13:41 +02:00 Compare
amyliao force-pushed aliao/cut-language-options from 6d0c0d2bc4 to c1ad50e2bf
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月20日 19:14:51 +02:00
Compare
amyliao force-pushed aliao/cut-language-options from d6dd62fff7
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
to 4b3c0b2bdf
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月22日 00:33:31 +02:00
Compare
amyliao force-pushed aliao/cut-language-options from 6790baf92f
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
to a1d78749aa
Some checks failed
ci/woodpecker/pull_request_metadata/test Pipeline was successful
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月22日 02:58:36 +02:00
Compare
amyliao changed title from (削除) WIP: Cut out the language options (削除ここまで) to Cut out the language options 2026年04月22日 02:58:41 +02:00
amyliao force-pushed aliao/cut-language-options from a1d78749aa
Some checks failed
ci/woodpecker/pull_request_metadata/test Pipeline was successful
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
to 5efa7042f2
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月22日 03:16:50 +02:00
Compare
amyliao force-pushed aliao/cut-language-options from 5efa7042f2
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
to 9d8f9bbffa
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月22日 03:44:07 +02:00
Compare
amyliao force-pushed aliao/cut-language-options from 9d8f9bbffa
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
to 6061a09f63
Some checks failed
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/pr/test Pipeline failed
2026年04月22日 03:46:47 +02:00
Compare
amyliao force-pushed aliao/cut-language-options from 56aa84ba83
Some checks failed
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
to aa56b40706
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
2026年04月22日 04:00:40 +02:00
Compare
amyliao deleted branch aliao/cut-language-options 2026年04月22日 13:45:11 +02:00
Sign in to join this conversation.
No reviewers
Labels
Clear labels
1 - scope
language
Backwards-compatible changes to the surface language, such as adding new features.
1 - scope
language change
Breaking changes to a documented part of the surface language. These should be documented and specifically called out in the changelog.
1 - scope
performance
Semantics-preserving performance work.
1 - scope
task
Changes that are not apparent to the user, e.g. developer documentation and refactors, which do not need to be documented.
A: dead-code
Dead code elimination and --save-metas.
A: errors
Reporting of error and warning messages.
A: highlighting
Highlighting during interaction & literate compilation
A: imports
Handling of imports and interface file de/serialization.
A: infra
Iinfrastructure (e.g. CI, developer documentation, the build system, or the repository itself)
A: instance
Instance declarations, arguments, and resolution
A: lhs
LHS checking, coverage checking, and clause compilation
A: modules
Declaration and instantiation of parametrised modules.
A: parallel
Parallel typechecking.
A: positivity
Positivity checking
A: printing
Pretty-printing, display forms, and the wording of diagnostic messages
A: records
Record declarations, record expressions and copattern matching
A: scoping
Scope checking (ConcreteToAbstract)
A: termination
Termination checking
0 - type
bug
Issues describing an incorrect behaviour in the project, typos in the documentation, etc.
0 - type
discussion
An issue raised to gather opinions on a proposed change, or a suggested language change.
0 - type
question
An issue raised to ask a question.
9 - status
duplicate
This issue or pull request already exists.
9 - status
info needed
More information is needed from the submitter to decide how to proceed with the issue report.
9 - status
invalid
The issue report or pull request does not describe an actual bug, or does otherwise does not meet the contributing guidelines.
good first issue
Interested in contributing? Get started here.
upstream
Related to an upstream repository, already reported there
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
1lab/mikan!6
Reference in a new issue
1lab/mikan
No description provided.
Delete branch "aliao/cut-language-options"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?