Commit graph

14581 commits

Author SHA1 Message Date
Leonardo de Moura
03a99986bb feat(kernel): implement local_decl using runtime 2018-09-08 16:25:43 -07:00
Leonardo de Moura
f5ac6875a6 chore(frontends/lean/json): style 2018-09-08 16:23:48 -07:00
Leonardo de Moura
3b07eeec47 fix(kernel/inductive): name generator was not being consistenly used 2018-09-08 16:21:33 -07:00
Leonardo de Moura
81a694e73c chore(frontends/lean): remove dead code 2018-09-08 15:44:49 -07:00
Leonardo de Moura
fabfe32ca5 chore(*): remove unnecessary scoped_ext dependencies 2018-09-08 15:42:48 -07:00
Leonardo de Moura
1d5529389a chore(util/name_generator): add explicit 2018-09-08 15:42:48 -07:00
Leonardo de Moura
bb96f184ee chore(library): remove dead code 2018-09-08 15:34:30 -07:00
Leonardo de Moura
5503bd113b chore(kernel/type_checker): assume m_cache != nullptr will continue to hold in future versions 2018-09-08 09:13:08 -07:00
Leonardo de Moura
7479d6e55b refactor(kernel/type_checker): allow type_checker::cache to be reused 2018-09-08 08:43:19 -07:00
Leonardo de Moura
dacc4c9cd6 chore(kernel): move abstract_type_context to library 2018-09-08 08:29:51 -07:00
Leonardo de Moura
3e5f59d6df chore(kernel): remove expr.quote constructor
In Lean4, we will reify expressions.
2018-09-07 22:08:08 -07:00
Leonardo de Moura
4ddd915886 chore(kernel): remove dummy file 2018-09-07 21:43:15 -07:00
Leonardo de Moura
aa3292eb36 feat(kernel/type_checker): remove m_memoize
It is always `true`
2018-09-07 20:50:53 -07:00
Leonardo de Moura
13fbd8304e chore(library,frontends/lean): use is_constructor, is_recursor, is_inductive helper functions
They do not throw exception if the constant is not declared in the environment.
2018-09-07 20:36:42 -07:00
Leonardo de Moura
88d4a1b0cd feat(kernel/inductive): inductive_reduce_rec should not throw exception when it finds an unknown constant
It should just fail to reduce. This is important when using it in the elaborator.
2018-09-07 17:34:54 -07:00
Leonardo de Moura
1b81577d8b fix(kernel/inductive): remove unnecessary whnf
The frontend is responsible for unfolding reducible definitions before
sending inductive declarations to the kernel.
2018-09-07 17:27:08 -07:00
Leonardo de Moura
5ae63ea1f2 chore(library/init/data/list/basic): remove unnecessary workaround 2018-09-07 17:10:23 -07:00
Leonardo de Moura
6b673d1ca9 chore(util,kernel): consistent constructors for object_ref-like wrappers 2018-09-07 17:06:41 -07:00
Leonardo de Moura
71dd8653bc feat(library/init/core): decidable_eq is a proper class
We need this to take advantage of the new indexing structure we are
going to add to improve performance.
2018-09-07 16:38:11 -07:00
Leonardo de Moura
85465885f3 chore(library/type_context): remove "frozen local instances"
We will re-implement the type class resolution algorithm, and the new
implementation will not rely on a persistent cache. We will improve
performance by:
1) Using better indexing data-structures.
2) Using a local cache during the search.
2018-09-07 13:17:37 -07:00
Leonardo de Moura
425a1cea8b fix(CMakeLists): clean-olean 2018-09-07 12:55:55 -07:00
Leonardo de Moura
49b5216604 chore(library): remove fingerprint 2018-09-07 12:54:19 -07:00
Leonardo de Moura
c48eaed9a4 chore(library): remove relation_manager 2018-09-07 12:35:04 -07:00
Leonardo de Moura
373e979a2a chore(library): remove dead code 2018-09-07 12:23:43 -07:00
Leonardo de Moura
2315bc4653 chore(library): remove documentation environment extension 2018-09-07 12:09:41 -07:00
Leonardo de Moura
e689d82797 chore(library): remove unique_id 2018-09-07 12:00:13 -07:00
Leonardo de Moura
135b7ef015 chore(library): remove persistent_context_cache 2018-09-07 11:58:52 -07:00
Leonardo de Moura
127dd70220 chore(library/tactic/tactic_state): remove dead code 2018-09-07 11:56:41 -07:00
Leonardo de Moura
080c2dabde chore(*): cleanup 2018-09-07 09:01:48 -07:00
Leonardo de Moura
2946174c1e chore(kernel): remove old_type_checker 2018-09-07 08:55:37 -07:00
Leonardo de Moura
a3d886f1e8 chore(kernel/type_checker): remove leftover 2018-09-07 08:51:21 -07:00
Leonardo de Moura
5d00936a8f chore(*): remove some old_type_checker dependencies 2018-09-07 08:48:21 -07:00
Leonardo de Moura
130b419371 chore(frontends/lean): remove break_at_pos support
We have already removed auto-completion support.
This change allowed me to remove another old_type_checker dependency.
2018-09-07 08:34:19 -07:00
Leonardo de Moura
81bf600973 chore(kernel/type_checker): fix style 2018-09-06 18:12:20 -07:00
Leonardo de Moura
ab9e812ac5 chore(tests/lean): fix tests 2018-09-06 18:09:32 -07:00
Leonardo de Moura
da2de33245 fix(library/init/io): move coroutine_io implementation to io 2018-09-06 18:09:32 -07:00
Leonardo de Moura
9ac56cd2a9 fix(library/compiler/preprocess): prevent auxiliary recursors from being expanded accidentally 2018-09-06 18:09:32 -07:00
Leonardo de Moura
f6a9bfd1c8 fix(library/type_context): whnf_head_pred should not unfold auxiliary recursor applications that do not satisfy the given predicate 2018-09-06 18:09:32 -07:00
Leonardo de Moura
58e91559d0 feat(*): use new inductive datatype module 2018-09-06 18:09:22 -07:00
Sebastian Ullrich
387cd25942 feat(library/init/lean/parser/term): implement Pratt parser 2018-09-06 17:17:50 -07:00
Sebastian Ullrich
c7d8271c84 feat(library/init/lean/parser/token): save lbp in token_config 2018-09-06 17:16:57 -07:00
Sebastian Ullrich
1a53d4444b feat(library/init/lean/parser): parameterize recursive term parser with rbp 2018-09-06 17:16:22 -07:00
Sebastian Ullrich
149dd2a5e3 refactor(library/init/lean/parser): move command parsers into separate file 2018-09-06 10:46:29 -07:00
Leonardo de Moura
3c521960c8 chore(library/class): remove attribute tracking symbols 2018-09-05 18:42:19 -07:00
Leonardo de Moura
208b932583 feat(library/constructions/brec_on): add brec_on and binduction_on for new inductive datatype module
We don't support these constructions for nested inductive types, but we
do for mutual inductives.
2018-09-05 14:46:03 -07:00
Leonardo de Moura
f335623530 feat(library/constructions/brec_on): add below and ibelow for new inductive datatype module 2018-09-05 14:46:03 -07:00
Leonardo de Moura
afb9584a63 feat(kernel): store at inductive_val whether the type is reflexive or not 2018-09-05 14:46:03 -07:00
Leonardo de Moura
92c4b2ee0d chore(library/util): minor 2018-09-05 14:46:03 -07:00
Sebastian Ullrich
d4105e1e16 chore(library/init/lean/parser/basic): avoid nesting rbnode in trie
The new two-layer rbnode/list structure is a little faster
2018-09-05 10:37:03 -07:00
Leonardo de Moura
4964ad660f feat(library/constructions/no_confusion): add no_confusion for new inductive datatype module 2018-09-05 10:27:49 -07:00