Commit graph

17165 commits

Author SHA1 Message Date
Leonardo de Moura
8a4bc188c2 feat(library/init/data): add BinomialHeap 2019-07-31 15:13:00 -07:00
Leonardo de Moura
906272d7e9 feat(library/init/data/list/basic): add eraseIdx 2019-07-31 15:04:43 -07:00
Leonardo de Moura
b2ff6bfd9f fix(library/relative.py): Windows and Linux builds 2019-07-30 18:56:34 -07:00
Leonardo de Moura
b0c84874ba chore(runtime/compact): add additional comments 2019-07-30 17:58:15 -07:00
Sebastian Ullrich
55104ad0c6 chore(library/compiler/csimp): remove wrong assertion 2019-07-30 17:52:43 -07:00
Sebastian Ullrich
2c12f9d0f6 chore(runtime/object): LEAN_FAKE_FREE: assert on double-free 2019-07-30 17:52:43 -07:00
Sebastian Ullrich
d09c512784 chore(library/module): lsan: ignore module objects 2019-07-30 17:52:43 -07:00
Sebastian Ullrich
20b6502aaf fix(runtime/compact): badly aligned "field" in terminator 2019-07-30 17:52:43 -07:00
Leonardo de Moura
6b62ed0c99 fix(library/relative.py): macos path names are case insensitive
The MacOS file system is not case sensitive.
Thus, the Lean path normalization function converts all characters in the pathname to lowercase.
We use the auxiliary Python script relative.py in our makefile.
The Python function `os.path.relpath` normalizes pathnames, but it only converts all characters to lowercase on Windows :(
Thus, Lean outputs the dependency files such as
```
/users/leonardodemoura/projects/lean4/library/init/lean/smap.olean
```
In Python, the current directory is
```
/Users/leonardodemoura/projects/lean4/library
```
Thus, `os.path.relpath` produces
```
../../../../../users/leonardodemoura/projects/lean4/library/init/lean/smap.olean
```
instead of
```
init/lean/smap.olean
```
2019-07-30 17:47:05 -07:00
Leonardo de Moura
2f5b2b2409 feat(library/init/lean/path): add realPathNormalized 2019-07-28 20:52:41 -07:00
Leonardo de Moura
4b10f09baf chore(stage0): update 2019-07-28 20:13:01 -07:00
Leonardo de Moura
378d75b3b4 feat(library/init/lean/path): use toLower at normalizePath if file system is case-insensitive 2019-07-28 19:50:01 -07:00
Leonardo de Moura
6cf8571e37 feat(library/init/system/platform): add System.Platform.isOSX 2019-07-28 19:49:40 -07:00
Leonardo de Moura
a48d635004 chore(library/init/lean/path): include search path in error message
Trying to understand why the Windows build is failing at Azure.
2019-07-28 19:11:01 -07:00
Leonardo de Moura
10fe453cf6 test(tests/lean/run/ubscalar): save UB scalar field test 2019-07-28 10:11:35 -07:00
Leonardo de Moura
1d0d65893b fix(library/init/lean/path): user normalizePathSeparators at moduleNameOfFileName 2019-07-28 10:09:51 -07:00
Leonardo de Moura
17e5f0b719 chore(stage0): update 2019-07-28 09:54:57 -07:00
Leonardo de Moura
fb14110b22 fix(library/compiler/llnf): sort scalar fields by size to avoid UB 2019-07-28 09:53:53 -07:00
Leonardo de Moura
e0d1892d72 fix(library/init): add normalizePathSeparators
Trying to fix broken tests on Windows.
2019-07-28 08:21:48 -07:00
Leonardo de Moura
ff6b868440 chore(library/module): remove dead code 2019-07-27 19:03:07 -07:00
Leonardo de Moura
943f6cbd55 chore(library/module): use module_name_of_file in Lean 2019-07-27 18:59:54 -07:00
Leonardo de Moura
bc525d980e chore(shell/CMakeLists): fix test 2019-07-27 18:52:53 -07:00
Leonardo de Moura
fda2cd23ec chore(shell/lean): use find_lean_file in Lean 2019-07-27 18:38:27 -07:00
Leonardo de Moura
fe45476d91 chore(stage0): update 2019-07-27 18:23:53 -07:00
Leonardo de Moura
66a93dbb39 feat(library/init/lean/elaborator/basic): absolutizeModuleName 2019-07-27 18:17:21 -07:00
Leonardo de Moura
2c755c60f5 feat(library/init/lean/path): fileNameToModuleName 2019-07-27 09:56:37 -07:00
Leonardo de Moura
a336176017 feat(runtime/io): improve "file not found" error message 2019-07-27 09:45:38 -07:00
Leonardo de Moura
761149e029 chore(stage0): update 2019-07-26 17:59:22 -07:00
Leonardo de Moura
bf5afbc289 feat(library/init/lean/environment): use findOLean implemented in Lean
TODO: cleanup `path.lean`
2019-07-26 17:57:43 -07:00
Leonardo de Moura
8a27a5e164 chore(stage0): update 2019-07-26 17:43:59 -07:00
Leonardo de Moura
c1e217da2b feat(library/init/lean/path): absolutizeModuleName 2019-07-26 17:26:44 -07:00
Leonardo de Moura
9bed367cc0 feat(library/init/lean/modulename): add helper functions 2019-07-26 16:46:03 -07:00
Leonardo de Moura
dea1e52c96 feat(shell/lean): initialize searchPath implemented in Lean 2019-07-26 16:15:38 -07:00
Leonardo de Moura
e9fafd3c4b chore(library/init/lean/path,stage0): export initSearchPath and update 2019-07-26 16:06:19 -07:00
Leonardo de Moura
e722ea9ed9 feat(library/init/lean): implement findOLean and findLean in Lean 2019-07-26 16:04:10 -07:00
Leonardo de Moura
2ddc797f65 feat(library/init/system/filepath): add dirName 2019-07-26 14:53:54 -07:00
Sebastian Ullrich
b902dc3dac fix(tests/lean/run/inline_fn): pretty-printer segfaults, disable for now 2019-07-26 12:39:35 -07:00
Sebastian Ullrich
7b18bc94fd fix(library/module): make sure header length preserves alignment 2019-07-26 12:39:35 -07:00
Sebastian Ullrich
d45cc4cb7b fix(kernel): manually align unboxed fields 2019-07-26 12:39:35 -07:00
Sebastian Ullrich
8fb004f917 fix(runtime/alloc): fix out-of-bounds pointer reported by ubsan 2019-07-26 12:39:35 -07:00
Sebastian Ullrich
aa30a8f273 fix(frontends/lean/elaborator): remove dubious error reporting code that makes Lean compiled with clang 8 segfault 2019-07-26 12:39:35 -07:00
Leonardo de Moura
a16df483fa fix(runtime/io): compilation error on windows 2019-07-26 10:09:55 -07:00
Leonardo de Moura
70b5e33766 chore(CMakeLists.txt): add link to cmake documentation 2019-07-26 08:10:46 -07:00
Sebastian Ullrich
e129a65948 fix(shell/CMakeLists): mark libleanstatic.a and libleanstdlib.a as cyclically dependent 2019-07-26 14:38:28 +02:00
Leonardo de Moura
5a1380ec6a feat(library/init/lean): add lean/path.lean 2019-07-25 19:28:22 -07:00
Leonardo de Moura
798bbc0662 feat(library/init/system/io): new primitives 2019-07-25 18:12:44 -07:00
Sebastian Ullrich
aef4a7159b chore(*): remove obsolete leanpkg.path files 2019-07-25 17:46:53 -07:00
Sebastian Ullrich
53a26b94ff chore(util/lean_path): remove leanpkg.path support
Because Lean 4 will not compile dependencies by itself, there is not much of a
point in it resolving them by itself either. The build tool that ensures that
all dependencies have been built should call `lean` with the `LEAN_PATH`
environment variable set accordingly.
2019-07-25 17:46:40 -07:00
Leonardo de Moura
b0d0cf973d chore(tests): fix tests 2019-07-25 17:44:25 -07:00
Leonardo de Moura
804c856282 chore(stage0): update 2019-07-25 17:39:40 -07:00