leanprover / leanprover/lean4

Make LLVM backend the default and use it to compile Lean

Open
#1,961 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

P-low
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.