Commit graph

16485 commits

Author SHA1 Message Date
Sebastian Ullrich
9cdcb99008 fix(tests/playground/Makefile): fixes 2019-05-15 17:57:25 +02:00
Sebastian Ullrich
a831ce85d7 feat(tests/playground/report): fixed output format 2019-05-15 17:35:03 +02:00
Sebastian Ullrich
20dde07316 feat(tests/playground/report): %GC times 2019-05-15 17:35:00 +02:00
Sebastian Ullrich
e0b45d65f7 feat(default.nix,tests/playground): Nix-powered benchmark suite 2019-05-15 13:25:29 +02:00
Leonardo de Moura
8ab15536a7 perf(library/init/data/array/binsearch): add binSearchContains 2019-05-14 20:52:57 -07:00
Leonardo de Moura
45eda6d81b perf(library/init/lean/modifiers): add only local entries to state
We can use `getModuleEntries` and `getModuleIdxFor` to test whether a
constant is protected or not.
2019-05-14 20:30:46 -07:00
Leonardo de Moura
dc71fafac1 feat(library/init/data/array): add Array.binSearch 2019-05-14 18:25:54 -07:00
Leonardo de Moura
2e4f5951e3 feat(library/init/data/array/qsort): simple quicksort
@kha I added `qsort` for sorting environment extension entries, but I am
wondering if we could use it as a benchmark in our paper. It is a pure implementation; it is
fast; it implements the real quick sort algorithm with in-place updates if the
input array is not shared. If the array is shared it performs
a single copy and then switches to in-place updates.
2019-05-14 17:46:34 -07:00
Leonardo de Moura
431c0a2525 chore(stage0): update 2019-05-14 16:28:25 -07:00
Leonardo de Moura
5fa924ff4a feat(library/init/lean/environment): improve registerPersistentEnvExtension signature 2019-05-14 16:25:43 -07:00
Leonardo de Moura
c957450d05 feat(library/protected): replace C++ implementation with Lean one 2019-05-14 16:12:56 -07:00
Leonardo de Moura
da5b900cbd feat(library/init/lean): add protected extension 2019-05-14 16:04:24 -07:00
Leonardo de Moura
3a3da7dfdf chore(library/init/env_ext): update 2019-05-14 15:45:10 -07:00
Leonardo de Moura
b888b6f3b6 feat(library/init/lean/environment): process imported entries 2019-05-14 15:32:07 -07:00
Leonardo de Moura
59235c1899 chore(library/init/lean/environment): ModuleId ==> ModuleIdx 2019-05-14 13:02:43 -07:00
Leonardo de Moura
5e2111f4a4 fix(library/init/lean/environment): process entries using the order they were inserted 2019-05-14 12:53:50 -07:00
Leonardo de Moura
a24a1562ea fix(library/init/lean/environment): import order 2019-05-14 12:41:19 -07:00
Leonardo de Moura
5df0b05cc7 chore(library/init/lean/environment): remove get_modifications_core 2019-05-14 11:26:04 -07:00
Leonardo de Moura
edeae776da chore(library/module): module::add for declarations is not needed anymore 2019-05-14 11:23:35 -07:00
Leonardo de Moura
7696c28fe1 feat(library/module): module manager in Lean is alive 2019-05-14 11:10:49 -07:00
Leonardo de Moura
d5fd5d86ee fix(library/init/lean/environment): quotInit initialization 2019-05-14 10:31:06 -07:00
Leonardo de Moura
02e558d781 feat(library/init/lean/environment): export module I/O in Lean 2019-05-14 10:15:33 -07:00
Leonardo de Moura
642c4c59bd feat(library/init/lean/environment): support for serializing/performing legacy modification objects 2019-05-14 10:08:31 -07:00
Leonardo de Moura
dbb519d826 feat(library/init/lean/environment): importModules draft 2019-05-14 08:58:29 -07:00
Leonardo de Moura
67d14705b0 chore(library/module): simplify write_module 2019-05-14 08:08:09 -07:00
Leonardo de Moura
427852d759 feat(library/init/lean/environment): add findOLean 2019-05-14 08:02:26 -07:00
Leonardo de Moura
e616def866 chore(library/module): remove dead declaration 2019-05-14 07:53:44 -07:00
Leonardo de Moura
22d2848d21 chore(library/module): store search_path in a global variable
Remark: I will use it to expose the following primitive in Lean
```
constant findOLean : Name -> IO String
```
2019-05-14 07:49:00 -07:00
Leonardo de Moura
1a610607b1 chore(library/module): remove old comment 2019-05-14 07:37:20 -07:00
Leonardo de Moura
358b731581 chore(library/module): simplify import_modules
Remark: `lean.cpp` is a total mess at this point. It contains
leftovers from the Lean2 and Lean3 designs, and hacks for supporting
the Lean4 transition.
2019-05-14 07:26:50 -07:00
Leonardo de Moura
9596fae665 chore(library/module): remove import errors 2019-05-14 07:13:50 -07:00
Leonardo de Moura
53ec9ee181 chore(*): style 2019-05-14 07:08:58 -07:00
Leonardo de Moura
5844913102 feat(library/module, library/init/lean/environment): add primitives for reading/writing files as compacted regions 2019-05-13 17:26:28 -07:00
Leonardo de Moura
40f9704540 chore(library/init/lean/environment): add placeholders for writing/reading .olean files 2019-05-13 15:48:23 -07:00
Leonardo de Moura
31d140adab refactor(library/module): use Lean modification list environment extension 2019-05-13 15:26:28 -07:00
Leonardo de Moura
5480d22be6 feat(library/init/lean/environment): add getModifications 2019-05-13 15:18:03 -07:00
Leonardo de Moura
ec846f1552 chore(library/init/lean/environment): rename primitive 2019-05-13 15:15:29 -07:00
Leonardo de Moura
3b3e50d315 chore(library/module): std::shared_ptr<modification> ==> modification*
Remark: this commit introduce memory leaks, but this is just an
intermediate step to get modification objects in Lean.
Recall that, we will eventually remove modification objects from Lean.
2019-05-13 15:05:21 -07:00
Leonardo de Moura
2e3604e80a chore(library/module): remove unnecessary field module_ext::m_imported 2019-05-13 14:34:03 -07:00
Leonardo de Moura
99e3cdc01b chore(frontends/lean): delete lean_environment 2019-05-13 13:05:04 -07:00
Leonardo de Moura
02f90485e6 feat(library/init/lean): use Environment in the new frontend 2019-05-13 13:04:57 -07:00
Leonardo de Moura
8aeff535fc chore(tests): remove old tests 2019-05-13 12:43:11 -07:00
Leonardo de Moura
edb4d76ecd feat(kernel/environment): environment as a Lean object 2019-05-13 12:41:33 -07:00
Leonardo de Moura
c57731f8c6 chore(tests/compiler/rbmap): fix test 2019-05-13 12:30:01 -07:00
Leonardo de Moura
deb2310b6d feat(util/map_foreach): add helper functions for traversing Lean maps 2019-05-13 12:27:59 -07:00
Sebastian Ullrich
de5b68f126 fix(CMakeLists,bin/leanc.in): fix installed leanc 2019-05-12 13:43:36 +02:00
Sebastian Ullrich
13603060cc fix(tests/playground/binarytrees): fix test 2019-05-12 13:43:36 +02:00
Leonardo de Moura
4392ed2466 fix(library/init/lean/default): make sure environment.lean is initialized 2019-05-11 18:05:11 -07:00
Leonardo de Moura
25879c97fa test(tests/playground/envtest): add small environment extension test 2019-05-11 17:53:27 -07:00
Leonardo de Moura
f1d16c261d fix(library/compiler/csimp): do not inline constants with [init] attribute 2019-05-11 17:51:46 -07:00