Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: split Lean.Kernel.Environment from Lean.Environment #5145

Merged
merged 1 commit into from
Jan 18, 2025

Conversation

Kha
Copy link
Member

@Kha Kha commented Aug 23, 2024

This PR splits the environment used by the kernel from that used by the elaborator, providing the foundation for tracking of asynchronously elaborated declarations, which will exist as a concept only in the latter.

Minor changes:

  • kernel diagnostics are moved from an environment extension to a direct environment as they are the only extension used directly by the kernel
  • initQuot is moved from an environment header field to a direct environment as it is the only header field used by the kernel; this also makes the remaining header immutable after import

@tobiasgrosser
Copy link
Contributor

Hi @Kha, this sounds exciting. I don't understand the appreciation (TCB); spelling it out may help others here. Most importantly, let me not distract you from your mission towards more parallelism in the lean compilation. It is exciting to see progress here.

@tobiasgrosser
Copy link
Contributor

I got it. TCB = Trusted Code Base

@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Aug 26, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Aug 26, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Aug 27, 2024
@Kha Kha marked this pull request as ready for review August 27, 2024 11:32
@Kha Kha force-pushed the kernel-env branch 2 times, most recently from 4aebbe2 to 4ba7bdc Compare November 8, 2024 15:41
@Kha Kha requested a review from tydeu as a code owner November 8, 2024 15:41
@Kha
Copy link
Member Author

Kha commented Nov 8, 2024

!bench

@Kha Kha added the changelog-language Language features, tactics, and metaprograms label Nov 8, 2024
@leanprover-bot
Copy link
Collaborator

Here are the benchmark results for commit 4ba7bdc.
There were significant changes against commit c779f3a:

  Benchmark             Metric          Change
  =====================================================
- big_omega.lean MT     task-clock       13.7% (12.0 σ)
- big_omega.lean MT     wall-clock       13.7% (12.4 σ)
- bv_decide_mul         branch-misses     2.0% (12.3 σ)
- bv_decide_realworld   branch-misses     1.2% (31.5 σ)
- rbmap_fbip            task-clock        4.1% (18.2 σ)
- rbmap_fbip            wall-clock        4.1% (18.2 σ)

leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Nov 8, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request Nov 8, 2024
@leanprover-community-bot leanprover-community-bot added the breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan label Nov 8, 2024
src/Lean/Message.lean Outdated Show resolved Hide resolved
@leodemoura
Copy link
Member

@Kha This PR has update stage0 commits. So, squash should not be used, and the commit messages should be fixed.

@leodemoura leodemoura closed this Nov 12, 2024
@leodemoura leodemoura reopened this Nov 12, 2024
@Kha Kha force-pushed the kernel-env branch 2 times, most recently from 3d308a8 to 514ee09 Compare November 19, 2024 15:56
@Kha Kha changed the base branch from master to nightly-with-mathlib November 19, 2024 16:05
@Kha
Copy link
Member Author

Kha commented Nov 19, 2024

!bench

leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Nov 25, 2024
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request Nov 25, 2024
@Kha Kha force-pushed the kernel-env branch 2 times, most recently from e4759d2 to a9fd0d1 Compare December 11, 2024 22:33
@Kha Kha requested a review from Vtec234 as a code owner January 9, 2025 16:38
@Kha Kha force-pushed the kernel-env branch 5 times, most recently from a0a7047 to 3ca7e29 Compare January 16, 2025 15:02
@Kha Kha changed the base branch from kernel-env-base to master January 18, 2025 18:29
@Kha Kha enabled auto-merge January 18, 2025 18:29
@Kha Kha added this pull request to the merge queue Jan 18, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Jan 18, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4 that referenced this pull request Jan 18, 2025
Merged via the queue into leanprover:master with commit 3770808 Jan 18, 2025
21 checks passed
@leanprover-community-bot leanprover-community-bot added breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan and removed builds-mathlib CI has verified that Mathlib builds against this PR labels Jan 18, 2025
@Kha Kha deleted the kernel-env branch January 18, 2025 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaks-mathlib This is not necessarily a blocker for merging: but there needs to be a plan changelog-language Language features, tactics, and metaprograms toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants