Make LLVM backend the default and use it to compile Lean
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 9.2k
- Forks
- 990
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 175
Description
The plan is to leave compilation and storage of stage 0 untouched, but then to compile stage 1+ Lean with LLVM (at least on release CI) and ship that binary. In theory we could make the backend the default without compiling Lean with it, but that seems unwise.
leanc and Lake will have to be adjusted. They could be extended to support either backend, but I don't think that's necessary except for limited support for bootstrapping.
Probably depends on all the other issues in this milestone.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing leanc and Lake entry points to understand how stage 0 and later stages are compiled and stored. Done means stage 0 remains unchanged, stage 1+ uses LLVM, and the resulting Lean binary is shipped through release CI; account for the milestone's dependent issues first.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, compilers, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100