Commit graph

17185 commits

Author SHA1 Message Date
Leonardo de Moura
0a86911bd0 fix(library/init/data/persistenthashmap/basic): isUnaryNode 2019-08-02 13:59:31 -07:00
Leonardo de Moura
b146ed735a test(tests/compiler/phashmap): add PersistentHashMap test 2019-08-02 13:31:29 -07:00
Leonardo de Moura
3c5a30649d feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.erase 2019-08-02 13:31:29 -07:00
Leonardo de Moura
69bca3ad42 feat(library/init/data/array/basic): add version of Array.indexOf with property about resulting size 2019-08-02 13:31:29 -07:00
Leonardo de Moura
19e341cfcc feat(library/init/data/array/basic): add Array.indexOf and Array.eraseIdx 2019-08-02 13:31:29 -07:00
Leonardo de Moura
c371b43970 feat(library/init/data): add PersistentHashMap 2019-08-02 13:31:29 -07:00
Sebastian Ullrich
25d8c76910 chore(azure-pipelines.yml): retry Nix install, move package setup to Setup phase
/cc @leodemoura @joehendrix
2019-08-02 11:15:44 +02:00
Sebastian Ullrich
b541bb9d4e chore(tests/compiler/binomial): lower input size
The previous inputs overflowed the stack using default stack limits with a debug build, and were a bit on the slow side
2019-08-02 10:25:54 +02:00
Sebastian Ullrich
3b96b31b66 chore(azure-pipelines.yml): debug, LLVM, sanitized builds 2019-08-02 10:25:54 +02:00
Sebastian Ullrich
2abfd7d90b chore(shell.nix): use clang 7 by default (latest release in stable Nix) 2019-08-02 10:17:29 +02:00
Leonardo de Moura
9e53db95ba chore(CMakeLists): set default to OFF
@joehendrix I changed the default to `LLVM=OFF` for now to avoid
disrupting existing projects. It will become `LLVM=ON` after we have
tested it more, and have the JIT integrated.

@kha Could you please set a new Azure pipeline job for `LLVM=ON`?
2019-08-01 10:15:43 -07:00
Joe Hendrix
e5d3a40d82 chore(azure-pipelines): Ensure build is with LLVM 2019-07-31 18:21:49 -07:00
Joe Hendrix
a113832342 chore(CMakeLists): Typo 2019-07-31 18:21:49 -07:00
Joe Hendrix
37ff241467 feat(CMakeLists): Add option to link in LLVM.
This updates cmake and Lean to link against the LLVM libraries.
2019-07-31 18:21:49 -07:00
Leonardo de Moura
1016309d1f feat(library/init/lean/path): always add builtin search path
We also add "." (i.e., current directory) if `LEAN_PATH` is not defined.
Users may still override stdlib since we add the builtin search path in the end.

@dselsam You should now be able to compile your project without setting `LEAN_PATH`

cc @kha
2019-07-31 18:13:17 -07:00
Leonardo de Moura
b221b09ad5 chore(library/init, frontends/lean): ensure old and new parser use the same command for initializing quotient module 2019-07-31 17:07:05 -07:00
Leonardo de Moura
bfb5bd3752 feat(library/init/lean/elaborator): add universe and universes elaborators 2019-07-31 16:46:02 -07:00
Leonardo de Moura
fe9908cad3 chore(tests/playground/persistentarray): fix test 2019-07-31 16:02:21 -07:00
Leonardo de Moura
46f361daab feat(library/init/lean/elaborator): add open command elaborator 2019-07-31 15:58:04 -07:00
Leonardo de Moura
a9ba3773c7 fix(library/init/lean/path): add support for default.lean 2019-07-31 15:58:04 -07:00
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