lean4-htt/src/Lean/Data
Paul Reichert 98e4b2882f
refactor: migrate to new ranges (#8841)
This PR migrates usages of `Std.Range` to the new polymorphic ranges.

This PR unfortunately increases the transitive imports for
frequently-used parts of `Init` because the ranges now rely on iterators
in order to provide their functionality for types other than `Nat`.
However, iteration over ranges in compiled code is as efficient as
before in the examples I checked. This is because of a special
`IteratorLoop` implementation provided in the PR for this purpose.

There were two issues that were uncovered during migration:

* In `IndPredBelow.lean`, migrating the last remaining range causes
`compilerTest1.lean` to break. I have minimized the issue and came to
the conclusion it's a compiler bug. Therefore, I have not replaced said
old range usage yet (see #9186).
* In `BRecOn.lean`, we are publicly importing the ranges. Making this
import private should theoretically work, but there seems to be a
problem with the module system, causing the build to panic later in
`Init.Data.Grind.Poly` (see #9185).
* In `FuzzyMatching.lean`, inlining fails with the new ranges, which
would have led to significant slowdown. Therefore, I have not migrated
this file either.
2025-07-07 12:41:53 +00:00
..
Json refactor: migrate to new ranges (#8841) 2025-07-07 12:41:53 +00:00
Lsp feat: server-side for module hierarchy (#8654) 2025-06-11 08:02:18 +00:00
Xml chore: rename Array.back to back! (#5897) 2024-10-31 09:18:18 +00:00
Array.lean refactor: migrate to new ranges (#8841) 2025-07-07 12:41:53 +00:00
AssocList.lean fix: replace bad simp lemmas for Id (#7352) 2025-05-22 22:45:35 +00:00
DeclarationRange.lean feat: labeled and unique sorries (#5757) 2024-12-11 23:53:02 +00:00
Format.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
FuzzyMatching.lean refactor: migrate to new ranges (#8841) 2025-07-07 12:41:53 +00:00
Json.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
JsonRpc.lean refactor: more complete channel implementation for Std.Channel (#7819) 2025-04-12 21:02:24 +00:00
KVMap.lean chore: remove duplicated ForIn instances (#5892) 2024-10-31 07:40:09 +00:00
LBool.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
LOption.lean feat: NoZeroNatDivisors helper class for grind (#8111) 2025-04-26 15:14:27 +00:00
Lsp.lean chore: USE_LAKE: integrate into CMake (#4466) 2025-03-15 08:58:01 +00:00
Name.lean feat: do not report metaprogramming declarations via exact? and rw? (#6672) 2025-06-16 09:20:49 +00:00
NameMap.lean feat: lean --setup (#8024) 2025-05-03 23:57:37 +00:00
NameTrie.lean fix: replace bad simp lemmas for Id (#7352) 2025-05-22 22:45:35 +00:00
OpenDecl.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Options.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
PersistentArray.lean fix: replace bad simp lemmas for Id (#7352) 2025-05-22 22:45:35 +00:00
PersistentHashMap.lean fix: replace bad simp lemmas for Id (#7352) 2025-05-22 22:45:35 +00:00
PersistentHashSet.lean fix: replace bad simp lemmas for Id (#7352) 2025-05-22 22:45:35 +00:00
Position.lean feat: cleanup of get and back functions on List/Array (#7059) 2025-02-17 01:43:45 +00:00
PrefixTree.lean feat: Environment.addConstAsync (#6691) 2025-01-19 02:00:16 +00:00
RArray.lean feat: linter.loopingSimpArgs (#8865) 2025-06-23 07:36:21 +00:00
RBMap.lean chore: upstream some NameMap functions (#6056) 2024-11-13 23:22:01 +00:00
RBTree.lean chore: upstream some NameMap functions (#6056) 2024-11-13 23:22:01 +00:00
SMap.lean chore: remove the old Lean.Data.HashMap implementation (#7519) 2025-03-20 23:49:55 +00:00
SSet.lean fix: remove PersistentHashMap.size 2024-06-19 20:21:34 +02:00
Trie.lean chore: do not use the coercion α → Option α in Init and Std (#8085) 2025-04-24 13:35:01 +00:00
Xml.lean chore: add missing copyright headers (#3411) 2024-02-20 01:49:55 +00:00