Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Henrik Böving 473b34561d
feat: Revamp file reading and writing (#4906)
This PR:
- changes the implementation of `readBinFile` and `readFile` to only
require two system calls (`stat` + `read`) instead of one `read` per
1024 byte chunk.
- fixes a bug where `Handle.getLine` would get tripped up by a NUL
character in the line and cut the string off. This is caused by the fact
that the original implementation uses `strlen` and `lean_mk_string`
which is the backer of `mk_string` does so as well.
- fixes a bug where `Handle.putStr` and thus by extension `writeFile`
would get tripped up by a NUL char in the line and cut the string off.
Cause here is the use of `fputs` when a NUL char is possible.

Closes: #4891 
Closes: #3546
Closes: #3741
2024-08-07 07:39:15 +00:00
.github chore: deprecate Nix-based build, remove interactive components (#4895) 2024-08-02 09:57:34 +00:00
doc chore: minor fixes to release checklist (#4937) 2024-08-07 01:09:35 +00:00
images
nix chore: deprecate Nix-based build, remove interactive components (#4895) 2024-08-02 09:57:34 +00:00
releases_drafts chore: copy release notes from releases/v4.10.0 (#4864) 2024-07-31 03:30:13 +00:00
script feat: support Lake for building Lean core oleans (#3886) 2024-06-13 16:18:24 +00:00
src feat: Revamp file reading and writing (#4906) 2024-08-07 07:39:15 +00:00
stage0 chore: update stage0 2024-08-05 17:53:40 +00:00
tests feat: Revamp file reading and writing (#4906) 2024-08-07 07:39:15 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore feat: support Lake for building Lean core oleans (#3886) 2024-06-13 16:18:24 +00:00
.ignore chore: ignore stage0/ (for rg etc.) 2022-03-18 15:28:20 +01:00
CMakeLists.txt chore: update-stage0-commit cmake target (#3692) 2024-04-04 13:35:53 +00:00
CMakePresets.json chore: modernize build instructions (#4032) 2024-05-23 10:55:07 +00:00
CODEOWNERS chore: update codeowners (#4681) 2024-07-08 07:57:54 +00:00
CONTRIBUTING.md doc: triage 2024-07-26 18:24:06 +02:00
flake.lock chore: deprecate Nix-based build, remove interactive components (#4895) 2024-08-02 09:57:34 +00:00
flake.nix chore: deprecate Nix-based build, remove interactive components (#4895) 2024-08-02 09:57:34 +00:00
lean-toolchain doc: VS Code dev setup (#2961) 2023-11-30 08:35:03 +00:00
lean.code-workspace chore: add the lean4 extension to the vscode workspace (#3059) 2023-12-14 08:58:21 +00:00
LICENSE chore: remove LICENSE header that confused GitHub 2021-11-18 09:42:35 +01:00
LICENSES chore: add GMP license for now 2021-11-18 09:42:35 +01:00
README.md doc: mention build doc source location (#4045) 2024-05-01 22:42:54 +00:00
RELEASES.md chore: copy release notes from releases/v4.10.0 (#4864) 2024-07-31 03:30:13 +00:00

This is the repository for Lean 4.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean (documentation source: doc/make/index.md).