Commit graph

14126 commits

Author SHA1 Message Date
Leonardo de Moura
45da5872e6 chore(checker): remove leanchecker 2018-06-07 16:28:54 -07:00
Leonardo de Moura
2a79da1ab6 refactor(kernel): move formatting stuff out of the kernel 2018-06-07 16:28:54 -07:00
Leonardo de Moura
8ae1e51b6d feat(kernel): distinguish kernel_exceptions using different classes 2018-06-07 16:28:54 -07:00
Leonardo de Moura
e90585737f refactor(*): use C++11 std::current_exception and std::rethrow_exception
With these new C++11 APIs, we can delete the `clone` and `rethrow`
methods from our exception classes.
2018-06-07 16:28:54 -07:00
Leonardo de Moura
c697cf4c29 chore(tests/util): remove exception test 2018-06-07 16:28:54 -07:00
Leonardo de Moura
2d7b6ed12c chore(library/compiler): remove copy_tag from old compiler 2018-06-07 16:28:54 -07:00
Leonardo de Moura
c73e628e50 chore(kernel/abstract): add LEGACY comment 2018-06-07 16:28:54 -07:00
Leonardo de Moura
ddf1c89e76 chore(kernel/abstract): remove mk_binding cache 2018-06-07 16:28:54 -07:00
Leonardo de Moura
3d1faee826 chore(kernel/abstract_type_context): remove dead method abstract_type_context::abstract
We needed this method when we were using delayed abstractions
2018-06-07 16:28:54 -07:00
Leonardo de Moura
6333043adf refactor(kernel): abstract_local(s) ==> abstract 2018-06-07 16:28:54 -07:00
Leonardo de Moura
de82517d80 refactor(kernel): remove abstract since we only use abstract_locals 2018-06-07 16:28:54 -07:00
Sebastian Ullrich
3304221aa2 chore(tests/lean/lisp.lean): update test output 2018-06-07 18:00:24 +02:00
Sebastian Ullrich
cdb1f22156 test(tests/lean/lisp.lean): add or and if macros 2018-06-07 17:39:51 +02:00
Sebastian Ullrich
ad1422890e chore(script/prepare-commit-msg): fix 2018-06-07 16:55:36 +02:00
Sebastian Ullrich
7a435dfb48 test(tests/lean/lisp): add evaluator for completeness' sake 2018-06-07 16:55:15 +02:00
Sebastian Ullrich
f768160aa9 test(tests/lean/lisp): add simple Lisp-y parser with awful handcrafted syntax patterns 2018-06-07 15:04:09 +02:00
Sebastian Ullrich
b1aff14650 feat(library/init/lean/parser/syntax.lean): simplify syntax debug output 2018-06-07 14:57:13 +02:00
Sebastian Ullrich
9d36bd057c chore(script/prepare-commit-msg): add simple commit message generator 2018-06-07 14:57:13 +02:00
Sebastian Ullrich
f0cee8181d chore(script/pre-push): include in repo 2018-06-07 14:57:13 +02:00
Sebastian Ullrich
613b6805b3 chore(library/init/lean/parser/parser_t.lean): fix comments 2018-06-07 14:57:13 +02:00
Sebastian Ullrich
bdfdd1288e feat(library/init/lean/parser/macro): allow expanders to be skipped dynamically 2018-06-07 14:57:13 +02:00
Leonardo de Moura
c0e1d05199 chore(kernel): type_checker ==> old_type_checker 2018-06-06 16:10:40 -07:00
Leonardo de Moura
744bca1964 chore(cmake/Modules/cpplint): disable yet another buggy check 2018-06-06 15:28:44 -07:00
Leonardo de Moura
0a5e7ff1a9 feat(kernel): add local_ctx
We will have only one kind of local constant (aka free variable) in
Lean4. Thus, we need a local context object to implement the kernel
type checker.
2018-06-06 15:24:10 -07:00
Leonardo de Moura
ee7bc150f2 chore(library/init/meta/expr): remove elaborated : bool parameter from expr 2018-06-06 09:47:01 -07:00
Leonardo de Moura
3a7229add3 chore(library/init): pexpr is now an opaque constant 2018-06-06 09:36:22 -07:00
Leonardo de Moura
441b9077b2 feat(library/comp_val): add mk_name_val_ne_proof
We need this procedure otherwise it takes forever to prove equation lemmas
for definitions such as:

```
def macros : name → option macro
| `lambda := some lambda_macro
| `intro_x := some intro_x_macro
| _ := none
```

We never experienced this problem in Lean3 because we used `name`
literals only occurred in patterns of *meta* definitions. So, no
equation lemma was generated.

@kha `def macros` was taking more than 1 second to elaborate on my
machine. It is now instantaneous.
2018-06-06 09:18:59 -07:00
Leonardo de Moura
e160154d14 fix(library/init/meta/name): duplicate 2018-06-06 08:47:28 -07:00
Leonardo de Moura
530c437953 feat(library/init/data/char/basic): missing theorems for equation compiler 2018-06-06 08:47:17 -07:00
Leonardo de Moura
dda1f0ebaa chore(library/init/meta/interactive): remove more tactics 2018-06-06 08:46:48 -07:00
Leonardo de Moura
e4a168af91 chore(library/init/meta): remove goal tagging feature 2018-06-06 08:46:47 -07:00
Sebastian Ullrich
1c380037d3 refactor(library/init/lean/parser/syntax): replace syntax.lst with syntax.node, remove span field from syntax_node 2018-06-06 15:46:39 +02:00
Sebastian Ullrich
732c823646 feat(library/init/lean/parser): remove syntax_id, use De Bruijn indices instead 2018-06-06 15:36:28 +02:00
Sebastian Ullrich
847018e881 chore(bin/lean-gdb.py): fix lean::name pretty printer and add lean::obj_list pretty printer 2018-06-06 15:36:28 +02:00
Leonardo de Moura
50ce4e8ae9 chore(library/init/meta/interactive_base): remove Lean3 format macros 2018-06-05 16:29:26 -07:00
Leonardo de Moura
bd7138349a chore(library/init/meta/pexpr): remove pexpr primitives 2018-06-05 16:28:12 -07:00
Leonardo de Moura
ab481d7e7b chore(library/init/meta): remove unnecessary primitives 2018-06-05 16:13:22 -07:00
Leonardo de Moura
0119926022 fix(kernel/expr): constructor order 2018-06-05 15:56:51 -07:00
Leonardo de Moura
45202eca16 chore(library/init/meta): cleanup 2018-06-05 15:32:59 -07:00
Leonardo de Moura
330c9afbc0 feat(library/metavar_context): store user_name at metavar_decl 2018-06-05 14:29:55 -07:00
Leonardo de Moura
fc8aa30f0f chore(library/pp_options): remove dead option 2018-06-05 14:27:04 -07:00
Leonardo de Moura
6472cb0579 chore(kernel/abstract_type_context): rename has_local_pp_name 2018-06-05 14:26:31 -07:00
Leonardo de Moura
8ae42417eb fix(library/compiler/vm_compiler): missing case 2018-06-05 11:07:38 -07:00
Leonardo de Moura
0dd25b0a24 refactor(util,library): move subscripted_name_set to library 2018-06-05 08:06:32 -07:00
Leonardo de Moura
1bae8f8eab refactor(library/init/lean/ir/parser): parser.lean => parser_t.lean 2018-06-05 08:00:13 -07:00
Leonardo de Moura
60339d6c87 feat(library/init/data/hashmap/basic): missing function 2018-06-04 19:58:24 -07:00
Leonardo de Moura
ff3a3177c3 chore(library/local_context): get_pp_name => get_user_name 2018-06-04 16:08:28 -07:00
Sebastian Ullrich
0f7c0ac8bf feat(init/lean/parser/parser): make a monad transformer
Also move parser combinators into the more specific namespace `init.lean.parser.parser_t`.
2018-06-04 12:57:23 +02:00
Sebastian Ullrich
6a0f3056f4 chore(library/init/lean/parser/syntax): cleanup 2018-06-04 11:02:45 +02:00
Leonardo de Moura
87b5fd70af chore(tests/frontends/lean): remove tests for old parser 2018-06-01 18:31:40 -07:00