Skip to content

Commit b6cffb4

Browse files
committed
merge async-tc
2 parents 24d61ef + d519e08 commit b6cffb4

File tree

1,415 files changed

+927043
-573498
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,415 files changed

+927043
-573498
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -238,27 +238,27 @@ jobs:
238238
"name": "Linux 32bit",
239239
"os": "ubuntu-latest",
240240
// Use 32bit on stage0 and stage1 to keep oleans compatible
241-
"CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86 -DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/",
241+
"CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86 -DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DPKG_CONFIG_EXECUTABLE=/usr/bin/i386-linux-gnu-pkg-config",
242242
"cmultilib": true,
243243
"release": true,
244244
"check-level": 2,
245245
"cross": true,
246246
"shell": "bash -euxo pipefail {0}"
247-
},
248-
{
249-
"name": "Web Assembly",
250-
"os": "ubuntu-latest",
251-
// Build a native 32bit binary in stage0 and use it to compile the oleans and the wasm build
252-
"CMAKE_OPTIONS": "-DCMAKE_C_COMPILER_WORKS=1 -DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_CMAKE_CXX_COMPILER=clang++ -DSTAGE0_CMAKE_C_COMPILER=clang -DSTAGE0_CMAKE_EXECUTABLE_SUFFIX=\"\" -DUSE_GMP=OFF -DMMAP=OFF -DSTAGE0_MMAP=OFF -DCMAKE_AR=../emsdk/emsdk-main/upstream/emscripten/emar -DCMAKE_TOOLCHAIN_FILE=../emsdk/emsdk-main/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DLEAN_INSTALL_SUFFIX=-linux_wasm32 -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/",
253-
"wasm": true,
254-
"cmultilib": true,
255-
"release": true,
256-
"check-level": 2,
257-
"cross": true,
258-
"shell": "bash -euxo pipefail {0}",
259-
// Just a few selected tests because wasm is slow
260-
"CTEST_OPTIONS": "-R \"leantest_1007\\.lean|leantest_Format\\.lean|leanruntest\\_1037.lean|leanruntest_ac_rfl\\.lean|leanruntest_tempfile.lean\\.|leanruntest_libuv\\.lean\""
261247
}
248+
// {
249+
// "name": "Web Assembly",
250+
// "os": "ubuntu-latest",
251+
// // Build a native 32bit binary in stage0 and use it to compile the oleans and the wasm build
252+
// "CMAKE_OPTIONS": "-DCMAKE_C_COMPILER_WORKS=1 -DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_CMAKE_CXX_COMPILER=clang++ -DSTAGE0_CMAKE_C_COMPILER=clang -DSTAGE0_CMAKE_EXECUTABLE_SUFFIX=\"\" -DUSE_GMP=OFF -DMMAP=OFF -DSTAGE0_MMAP=OFF -DCMAKE_AR=../emsdk/emsdk-main/upstream/emscripten/emar -DCMAKE_TOOLCHAIN_FILE=../emsdk/emsdk-main/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DLEAN_INSTALL_SUFFIX=-linux_wasm32 -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/",
253+
// "wasm": true,
254+
// "cmultilib": true,
255+
// "release": true,
256+
// "check-level": 2,
257+
// "cross": true,
258+
// "shell": "bash -euxo pipefail {0}",
259+
// // Just a few selected tests because wasm is slow
260+
// "CTEST_OPTIONS": "-R \"leantest_1007\\.lean|leantest_Format\\.lean|leanruntest\\_1037.lean|leanruntest_ac_rfl\\.lean|leanruntest_tempfile.lean\\.|leanruntest_libuv\\.lean\""
261+
// }
262262
];
263263
console.log(`matrix:\n${JSON.stringify(matrix, null, 2)}`)
264264
return matrix.filter((job) => level >= job["check-level"])
@@ -327,7 +327,7 @@ jobs:
327327
run: |
328328
sudo dpkg --add-architecture i386
329329
sudo apt-get update
330-
sudo apt-get install -y gcc-multilib g++-multilib ccache libuv1-dev:i386
330+
sudo apt-get install -y gcc-multilib g++-multilib ccache libuv1-dev:i386 pkgconf:i386
331331
if: matrix.cmultilib
332332
- name: Cache
333333
uses: actions/cache@v4

.gitpod.Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# You can find the new timestamped tags here: https://hub.docker.com/r/gitpod/workspace-full/tags
2+
FROM gitpod/workspace-full
3+
4+
USER root
5+
RUN apt-get update && apt-get install git libgmp-dev libuv1-dev cmake ccache clang -y && apt-get clean
6+
7+
USER gitpod
8+
9+
# Install and configure elan
10+
RUN curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain none
11+
ENV PATH="/home/gitpod/.elan/bin:${PATH}"
12+
# Create a dummy toolchain so that we can pre-register it with elan
13+
RUN mkdir -p /workspace/lean4/build/release/stage1/bin && touch /workspace/lean4/build/release/stage1/bin/lean && elan toolchain link lean4 /workspace/lean4/build/release/stage1
14+
RUN mkdir -p /workspace/lean4/build/release/stage0/bin && touch /workspace/lean4/build/release/stage0/bin/lean && elan toolchain link lean4-stage0 /workspace/lean4/build/release/stage0

.gitpod.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
image:
2+
file: .gitpod.Dockerfile
3+
4+
vscode:
5+
extensions:
6+
- leanprover.lean4
7+
8+
tasks:
9+
- name: Release build
10+
init: cmake --preset release
11+
command: make -C build/release -j$(nproc || sysctl -n hw.logicalcpu)

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ foreach(var ${vars})
1818
if("${var}" MATCHES "LLVM*")
1919
list(APPEND STAGE0_ARGS "-D${var}=${${var}}")
2020
endif()
21+
if("${var}" MATCHES "PKG_CONFIG*")
22+
list(APPEND STAGE0_ARGS "-D${var}=${${var}}")
23+
endif()
2124
elseif(("${var}" MATCHES "CMAKE_.*") AND NOT ("${var}" MATCHES "CMAKE_BUILD_TYPE") AND NOT ("${var}" MATCHES "CMAKE_HOME_DIRECTORY"))
2225
list(APPEND PLATFORM_ARGS "-D${var}=${${var}}")
2326
endif()

CODEOWNERS

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Listed persons will automatically be asked by GitHub to review a PR touching these paths.
55
# If multiple names are listed, a review by any of them is considered sufficient by default.
66

7-
/.github/ @Kha @kim-em
7+
/.github/ @kim-em
88
/RELEASES.md @kim-em
99
/src/kernel/ @leodemoura
1010
/src/lake/ @tydeu
@@ -14,9 +14,7 @@
1414
/src/Lean/Elab/Tactic/ @kim-em
1515
/src/Lean/Language/ @Kha
1616
/src/Lean/Meta/Tactic/ @leodemoura
17-
/src/Lean/Parser/ @Kha
18-
/src/Lean/PrettyPrinter/ @Kha
19-
/src/Lean/PrettyPrinter/Delaborator/ @kmill
17+
/src/Lean/PrettyPrinter/ @kmill
2018
/src/Lean/Server/ @mhuisi
2119
/src/Lean/Widget/ @Vtec234
2220
/src/Init/Data/ @kim-em

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ This is the repository for **Lean 4**.
66
- [Homepage](https://lean-lang.org)
77
- [Theorem Proving Tutorial](https://lean-lang.org/theorem_proving_in_lean4/)
88
- [Functional Programming in Lean](https://lean-lang.org/functional_programming_in_lean/)
9-
- [Manual](https://lean-lang.org/lean4/doc/)
9+
- [Documentation Overview](https://lean-lang.org/lean4/doc/)
10+
- [Language Reference](https://lean-lang.org/doc/reference/latest/)
1011
- [Release notes](RELEASES.md) starting at v4.0.0-m3
1112
- [Examples](https://lean-lang.org/lean4/doc/examples.html)
1213
- [External Contribution Guidelines](CONTRIBUTING.md)

0 commit comments

Comments
 (0)