lean4-htt/tests
Henrik Böving c3d753640a
feat: use static initializers where possible (#12082)
This PR makes the compiler produce C code that statically initializes
close terms when possible. This change reduces startup time as the terms
are directly stored in the binary instead of getting computed at
startup.

The set of terms currently supported by this mechanism are:
- string literals
- ctors called with other statically initializeable arguments
- `Name.mkStrX` and other `Name` ctors as they require special support
due to their computed field and occur frequently due to name literals.

In core there are currently 152,524 closed terms and of these 103,929
(68%) get initialized statically with this PR. The remaining 48585 ones
are not extracted because they use (potentially transitively) various
non trivial pieces of code like `stringToMessageData` etc. We might
decide to add special support for these in the future but for the moment
this feels like it's overfitting too much for core.
2026-01-26 11:22:12 +00:00
..
bench feat: improves simpArrowTelescope simproc (#12153) 2026-01-25 22:29:38 +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 fix: lake: --no-build exit code w/ release fetch (#12142) 2026-01-24 17:03:07 +00:00
lean feat: use static initializers where possible (#12082) 2026-01-26 11:22:12 +00:00
pkg fix: revert "split ngen on async elab" (#12148) 2026-01-25 03:18:24 +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 feat: module system is no longer experimental (#11637) 2025-12-12 21:20:26 +00:00
lean-toolchain