lean4-htt/tests
Henrik Böving 332c1ec46a
perf: specializer a little more courageously (#12239)
This PR reverts a lot of the changes done in #8308. We practically
encountered situations such as:
```
fun y (z) :=
  let x := inst
  mkInst x z
f y
```
Where the instance puller turns it into:
```
let x := inst
fun y (z) :=
  mkInst x z
f y
```
The current heuristic now discovers `x` being in scope at the call site
of `f` and being used under a binder in `y` and thus blocks pulling in
`x` to the specialization, abstracting over an instance.

According to @zwarich this was done at the time either due to observed
stack overflows or pulling in computation into loops. With the current
configuration for abstraction in specialization it seems rather unlikely
that we pull in a non trivial computation into a loop with this. We also
practically didn't observe stack overflows in our tests or benchmarks.
Cameron speculates that the issues he observed might've been fixed
otherwise by now.

Crucial note: Deciding not to abstract over ground terms *might* cause
us to pull in computationally intensive ground terms into a loop. We
could decide to weaken this to just instance terms though of course even
computing instances might end up being non-trivial.
2026-01-30 08:23:15 +00:00
..
bench refactor: remove last appearances of allowNontermination (#12211) 2026-01-29 07:22:19 +00:00
bench-radar chore: make bench suite more similar to mathlib's (#12091) 2026-01-22 14:20:10 +00:00
compiler test: compiler test with big meta closure (#12141) 2026-01-24 15:18:33 +00:00
elabissues
ir
lake test: more .git cleanup (#12238) 2026-01-29 17:43:31 +00:00
lean perf: specializer a little more courageously (#12239) 2026-01-30 08:23:15 +00:00
pkg test: more .git cleanup (#12238) 2026-01-29 17:43:31 +00:00
playground
plugin
simpperf
.gitignore
common.sh feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
lakefile.toml
lean-toolchain