Leonardo de Moura
73eda00ba3
refactor(library/compiler): mk_unused_name ==> mk_compiler_unused_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
058520d6e4
feat(frontends/lean/pp,library/local_context): use sanitize_name_generator_name
...
Remark: we should remove `sanitize_if_fresh` as soon as we delete `::lean::mk_fresh_name`
2018-02-21 15:04:19 -08:00
Leonardo de Moura
b16f641179
feat(util/name_generator): name generator prefix bookkeeping
2018-02-21 15:04:19 -08:00
Leonardo de Moura
ce028d651d
refactor(kernel): abstract_type_context::mk_fresh_name ==> abstract_type_context::next_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
fa2e67e8f3
refactor(library/compiler/vm_compiler): do not use mk_fresh_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
6ba4607c28
refactor(library/compiler): rename compiler mk_fresh_name to mk_unused_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
c0ded37f24
refactor(library/inductive_compiler): do not use fresh names in the inductive compiler
2018-02-21 15:04:19 -08:00
Leonardo de Moura
e06c3cbd8f
chore(library/type_context): fix compilation warning
2018-02-21 15:04:19 -08:00
Leonardo de Moura
21e52408b2
refactor(library/constructions): make sure constructions do not use ::lean::mk_fresh_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
cc8eb83507
refactor(library/util,util): move is_internal_name to util/
2018-02-21 15:04:19 -08:00
Leonardo de Moura
2e5b66a5f1
refactor(kernel): make sure kernel does not use global ::lean::mk_fresh_name
2018-02-21 15:04:19 -08:00
Leonardo de Moura
799cc9b03d
feat(util/fresh_name): implement mk_fresh_name using name_generator
2018-02-21 15:04:19 -08:00
Leonardo de Moura
78d8ff8031
feat(*): add reset_thread_local
2018-02-21 15:04:19 -08:00
Leonardo de Moura
505042b8c0
chore(library/tactic/smt/congruence_closure): simplify cache management
2018-02-21 15:04:18 -08:00
Leonardo de Moura
40a0465cca
chore(library/tactic/simp_lemmas): fix typo
2018-02-21 15:04:18 -08:00
Leonardo de Moura
02231477f9
chore(library/tactic/ac_tactics): simplify cache management
2018-02-21 15:04:18 -08:00
Leonardo de Moura
bf4d47b560
chore(library/cache_helper): remove dead code
2018-02-21 15:04:18 -08:00
Leonardo de Moura
9e08cab381
chore(library/type_context): simplify cache management
2018-02-21 15:04:18 -08:00
Leonardo de Moura
3f04d041f6
chore(library/time_task): style
2018-02-19 10:30:49 -08:00
Sebastian Ullrich
f247363305
feat(library/time_task): print cumulative times on --profile
2018-02-19 09:13:24 -08:00
Sebastian Ullrich
782af7e5d6
chore(library/vm/interaction_state): do not profile calls into Lean other than tactic execution
...
Otherwise, we produce a message for e.g. every single interactive tactic parameter
2018-02-19 09:13:24 -08:00
Leonardo de Moura
dbfcc65c60
fix(library/compiler/erase_irrelevant): erase_type
2018-02-19 07:55:43 -08:00
Leonardo de Moura
aa24c15e61
feat(library/vm): basic performance counters
...
@kha I have added a few performance counters.
I collect their values at each snapshot.
Right now, I am printing only the values in the last snapshot, but if we want
we can even display their progress over time.
Right now, I track the following information
- number of allocated closures
- number of allocated constructors/objects
- number of allocated big numbers
2018-02-16 14:37:11 -08:00
Leonardo de Moura
c35f2a2098
chore(library/io_state): avoid thread local storage
2018-02-16 12:12:50 -08:00
Leonardo de Moura
96fab5172f
perf(library/compiler): apply lambda lifting after erase trivial structures
...
cc @kha
2018-02-15 16:55:27 -08:00
Leonardo de Moura
a115a1538b
chore(library/vm/vm_io): style
2018-02-15 16:25:17 -08:00
Leonardo de Moura
1c9648a12d
chore(library): remove dead constants
2018-02-15 16:17:43 -08:00
Leonardo de Moura
ac13f8b0f9
feat(library/system/io): add random number generator support in the io monad
...
@aqjune @nunoplopes: See new tests at tests/lean/run/random.lean
We have two actions in `io`. By default, `io` uses the C++
random number generator, but we can force it to use a `std_gen` with
the action `set_rand_gen`.
def rand (lo : nat := std_range.1) (hi : nat := std_range.2) : io nat
def set_rand_gen : std_gen → io unit
2018-02-15 16:12:08 -08:00
Nuno Lopes
7b45d28e77
chore(unicode): use utf8 chars directly in strings
2018-02-13 10:42:08 -08:00
Nuno Lopes
977e11f9be
fix(warnings): fix warnings on VS. its now /W2 clean
2018-02-13 10:42:08 -08:00
Leonardo de Moura
96e02613fc
fix(library/compiler/simp_inductive): erase trivial structure bug
2018-02-11 11:43:05 -08:00
Leonardo de Moura
30cfcc0fa6
fix(library/compiler/inliner): missing reduction
2018-02-11 09:28:42 -08:00
Leonardo de Moura
3771748b4c
chore(library/native): remove dead code
...
The deleted code was not finished, and we are going to add a new IR
and compiler.
2018-02-07 17:29:25 -08:00
Nuno Lopes
d01e2d7ae8
fix(msvc): change previous MSVC workaround to change the code less
2018-02-06 10:11:10 -08:00
Nuno Lopes
9c756e24d3
fix(crash) due to calling isalpha with signed char in get_indentatnion()
2018-02-06 10:11:10 -08:00
Nuno Lopes
36f19f1d6e
fix(msvc): fix a few more compilation errors
2018-02-06 10:11:10 -08:00
Nuno Lopes
aeaa19ac44
fix(style): use static_cast
2018-02-06 10:11:10 -08:00
Nuno Lopes
46cfd33a1b
fix(build): attempt to fix linux buildbots
2018-02-06 10:11:10 -08:00
Nuno Lopes
50bc3b0314
fix(msvc): fix compilation of vm_io.cpp
2018-02-06 10:11:10 -08:00
Nuno Lopes
c1a768b7a7
fix(msvc): further work on MSVC port
...
only 7 files left
2018-02-06 10:11:10 -08:00
Nuno Lopes
ac6a16ddba
feat(msvc): further work on MSVC compatibility
2018-02-06 10:11:09 -08:00
Sebastian Ullrich
fe2e95def3
fix(library/module_mgr): Revert "feat(library/module_mgr): save .olean files of non-dirty .lean files in server mode"
...
This reverts commit 18c2e3739a .
The change introduced a bug where a .olean file may have been saved even if
the corresponding module had produced errors during processing, as long as these
errors were not part of the current region of interest.
2018-02-05 14:36:27 +01:00
Sebastian Ullrich
6ab13a433d
chore(library/type_context): should not have an implicit constructor, copy constructor, or assignment operator
2018-02-02 08:58:53 -08:00
Sebastian Ullrich
dc5e50e7f0
feat(frontends/lean/structure_cmd): hide out_param in projections
2018-02-02 08:58:52 -08:00
Sebastian Ullrich
3f497b8d8e
fix(library/constructions/projection): out_params should always be implicit in projections
2018-02-02 08:58:52 -08:00
Leonardo de Moura
884e5a6d2c
chore(library/compiler): remove obsolete optimization step
...
This optimization became obsolete after commit cd8c154bcd
2018-02-02 08:39:39 -08:00
Leonardo de Moura
dbeafaaeed
chore(library/compiler/util): remove dead code
2018-02-02 08:34:14 -08:00
Leonardo de Moura
a6a1f7d874
chore(library/type_context): remove dead code from type_context
2018-02-02 08:30:01 -08:00
Leonardo de Moura
ffc04fd7df
fix(library/tactic/smt): add temporary hack to workaround revert-all issue
2018-02-01 19:25:16 -08:00
Leonardo de Moura
a75b0d8eeb
doc(library/local_context): document bug in the m_instance_fingerprint management
2018-02-01 18:03:46 -08:00