Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
bf165e0f51 fix(kernel/quot): assertion violation 2018-06-09 08:50:32 -07:00
Leonardo de Moura
06337d04e5 chore(library/tactic/simplify): fix compilation error 2018-06-09 08:11:51 -07:00
Leonardo de Moura
c632123fd1 chore(kernel/quot): avoid legacy code 2018-06-09 07:54:45 -07:00
Leonardo de Moura
d5c24806e7 feat(kernel/local_ctx): add methods for replacing legacy Pi/Fun 2018-06-09 07:45:16 -07:00
Leonardo de Moura
a6250840d5 chore(kernel): rename some expr functions 2018-06-09 07:18:24 -07:00
Leonardo de Moura
1612aca0b2 chore(kernel): rename expr kinds 2018-06-09 06:50:14 -07:00
Leonardo de Moura
9626ad919c chore(library/export): remove text export module
This can be implemented in Lean.
2018-06-08 13:36:36 -07:00
Leonardo de Moura
62788a9ca3 refactor(kernel): fix terminology: "free_var" is actually a loose bound variable
We represent free variables uisng local constants.
We will fix this terminology too.
2018-06-08 13:25:36 -07:00
Leonardo de Moura
bd91d08bcd chore(library/replace_visitor): add copy_pos 2018-06-08 11:25:07 -07:00
Leonardo de Moura
03391006dc chore(tests/lean/revert): fix test 2018-06-08 11:21:01 -07:00
Leonardo de Moura
7057f69923 chore(library/pos_info_provider): style 2018-06-08 11:15:30 -07:00
Leonardo de Moura
4836dd55b5 chore(frontends/lean): propogate position information
This is a huge HACK to get some position information.
2018-06-08 11:12:01 -07:00
Leonardo de Moura
ad892ca97c feat(library/pos_info_provider): store raw pointers at pos_info table
This is imprecise, but we avoid memory retention issue.
2018-06-08 10:44:16 -07:00
Leonardo de Moura
818170d780 refactor(kernel): remove tag from kernel expressions
We are temporarily storing position information in a global table.
2018-06-08 10:29:22 -07:00
Leonardo de Moura
6a84b9378a chore(library/inductive_compiler/util): fix assertion 2018-06-07 16:28:54 -07:00
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