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