Sebastian Ullrich
534b507aff
feat(library/init/lean/frontend): rework error reporting
2019-02-12 13:34:32 +01:00
Leonardo de Moura
7e8f9e6f66
feat(library/compiler): add [extern] attribute
2019-02-09 18:53:44 -08:00
Sebastian Ullrich
4c0f836305
chore(shell/lean): reduce lean interface to taking a single file, assuming all dependencies have already been built
2019-01-25 18:27:38 +01:00
Sebastian Ullrich
9f90dbfd3d
feat(library/init/lean/parser/syntax): improve syntax.get_pos for more error positions
2019-01-22 11:16:00 +01:00
Sebastian Ullrich
69e363446d
fix(library/init/lean/{parser/term,elaborator}): local notations override previous notations
2019-01-20 16:25:15 +01:00
Leonardo de Moura
c3dfb613d5
test(tests/lean/run/rc_tests): basic explicit_rc_fn tests
2019-01-17 15:25:27 -08:00
Sebastian Ullrich
3611eda136
fix(frontends/lean/vm_elaborator): message order
2019-01-17 19:57:00 +01:00
Sebastian Ullrich
3d66e7dbe1
fix(library/pos_info_provider): row and column were swapped
2019-01-16 19:12:40 +01:00
Sebastian Ullrich
5660a8e690
feat(library/init/lean/elaborator): transmit position information
2019-01-15 18:28:35 +01:00
Sebastian Ullrich
9ac41835ba
test(tests/lean/parser1): add some name resolution tests
2019-01-06 18:22:18 +01:00
Sebastian Ullrich
32a3c0e62e
feat(library/init/lean/frontend,bin/lean-bootstrapped): expose new frontend as executable
2018-12-20 14:28:18 +01:00
Sebastian Ullrich
0911d16bc3
feat(library/init/lean): compute and show error positions
2018-12-20 14:28:18 +01:00
Sebastian Ullrich
e5aaf391ff
fix(library/init/lean/parser/syntax): macro_scopes.flip
2018-12-19 15:04:48 +01:00
Sebastian Ullrich
1d524476b7
chore(tests/lean/parser1): restore #exit...
2018-12-12 11:06:52 +01:00
Sebastian Ullrich
94dec2cb9f
feat(library/init/lean/elaborator): elaborate universe
2018-12-11 19:01:41 +01:00
Sebastian Ullrich
11e5d1a8a2
chore(tests/lean/parser1): reintroduce #exit in front of core.lean test
2018-12-06 13:23:25 +01:00
Sebastian Ullrich
143ac0e58a
feat(library/init/lean/expander): also normalize bracketed binders in e.g. declarations
2018-12-06 13:23:12 +01:00
Sebastian Ullrich
58def30036
chore(tests/lean/parser1): clearly delimit components in profiler output
2018-12-04 12:31:13 +01:00
Leonardo de Moura
607d22ae58
fix(library/compiler/csimp): bug at float_cases_on_core
...
The bug occurs when floating `cases_on` application in code of the form
```
let x := C.cases_on ...
in t
```
and when the type of `t` depends on `x`.
The issue here is that the `x` declaration disappears after the float, but the resulting type still depends on it.
We fix the bug by replacing `x` with its value in the type.
cc @kha
2018-11-30 11:40:41 -08:00
Sebastian Ullrich
fd121f03bd
feat(library/init/lean/expander): make set of transformers configurable
2018-11-21 18:13:38 +01:00
Sebastian Ullrich
222fff8862
refactor(library/init/lean/elaborator): introduce simple lambda binder
2018-11-21 18:13:38 +01:00
Sebastian Ullrich
6d0b3afa7e
fix(library/compiler/compiler): do not silently abort on user-given sorrys
2018-11-17 18:00:55 +01:00
Leonardo de Moura
04227701d6
chore(tests/lean/run): fix the tests
...
@kha I found the real issue with these two tests.
You have modified the compiler to ignore definitions containing `sorry` :)
2018-11-15 11:21:12 -08:00
Leonardo de Moura
d0ccaa1083
chore(tests/lean): fix tests
...
TODO: `io` modifications performed yesterday may have affected `eval`.
2018-11-15 10:56:03 -08:00
Leonardo de Moura
c0ac39f7f0
chore(tests/lean/parser1): fix test output
2018-11-12 08:53:57 -08:00
Sebastian Ullrich
bd70dc1fc9
perf(library/init/lean/parser): move backtrackable state from parser_core_t to module_parser_m
2018-11-08 15:58:41 +01:00
Sebastian Ullrich
41f4a34d4b
feat(library/init/lean/parser/token): cache hit statistics
2018-11-08 14:52:54 +01:00
Sebastian Ullrich
0026b59a88
fix(tests/lean/macro_scopes): expected output
2018-11-07 09:11:49 +01:00
Leonardo de Moura
f404c5c446
refactor(library/init/data): make sure uint* and usize are irreducible
...
Remark: this commit breaks the support for `uint*` and `usize` in the old VM.
2018-11-06 16:55:02 -08:00
Sebastian Ullrich
5a286f5e46
test(tests/lean/macro_scopes): macro scopes propagation test
2018-11-06 17:33:16 +01:00
Sebastian Ullrich
090c4c0ce7
feat(library/init/lean/syntax): add lazily propagated macro scopes to syntax_node
2018-11-06 16:46:50 +01:00
Sebastian Ullrich
dcb7566e53
fix(tests/lean/parser1): fix test
2018-11-05 17:40:11 +01:00
Leonardo de Moura
189b037358
chore(tests/lean/run/new_compiler): fix test
2018-10-31 13:25:01 -07:00
Sebastian Ullrich
93fc1fd1de
fix(library/init/lean/parser/combinators): node: do not wrap error in first argument
2018-10-30 17:43:05 +01:00
Leonardo de Moura
28a34e798a
feat(library/compiler/csimp): projection to field
...
The new test demonstrations this transformation.
2018-10-28 09:38:45 -07:00
Leonardo de Moura
392f019184
chore(tests/lean/parsec1): fix test
2018-10-23 12:54:29 -07:00
Leonardo de Moura
f7f981285b
chore(tests/lean/run/display_hw_term_hack_deps): remove old test
2018-10-23 11:32:56 -07:00
Leonardo de Moura
4cb6b1f9d5
chore(library/tactic): reduce dependencies
2018-10-23 11:32:56 -07:00
Leonardo de Moura
139414b995
chore(tests/lean/parser1): update expected output
...
cc @kha
2018-10-23 11:32:56 -07:00
Sebastian Ullrich
daf142240b
fix(tests/lean/parsec1): fix test
2018-10-19 09:52:01 +02:00
Sebastian Ullrich
db6b9db07e
fix(tests/lean/parser1): fix reprinting (`eoi node was missing)
2018-10-15 12:47:32 +02:00
Sebastian Ullrich
758d258210
fix(library/init/lean/parser/term): rename term.ident to ident_univs to remove confusion with ident
...
`protected` didn't do anything here
2018-10-13 08:11:36 -07:00
Sebastian Ullrich
fdc06b39cd
test(tests/lean/parser1): fix reprint check
2018-10-13 08:01:39 -07:00
Leonardo de Moura
aff6d58659
chore(tests/lean/run/new_compiler): fix test
2018-10-10 18:38:18 -07:00
Leonardo de Moura
c74f4c16ca
feat(library/kernel,library/compiler/csimp): make sure nat.rec and nat.cases_on reduce when major premise is a nat literal
2018-10-10 18:35:15 -07:00
Leonardo de Moura
338038a05e
feat(library/init/core): add inline identity function
2018-10-10 18:17:29 -07:00
Leonardo de Moura
124b4d37fe
feat(library/compiler): port simp_inductive to the new compiler stack
...
This commit also fixes a bug in the old `simp_inductive` module, and
removes now obsolete files (`compiler_step_visitor` and `old_util`).
2018-10-08 16:58:43 -07:00
Sebastian Ullrich
22714b9b10
perf(library/init/lean/parser/combinators): node: no need to fill up with syntax.missing anymore
...
Views now do iterated pattern matches instead of a single one
2018-10-04 14:27:24 -07:00
Sebastian Ullrich
959948b901
feat(library/init/lean): even more core.lean progress
2018-10-03 16:00:08 -07:00
Sebastian Ullrich
ca8e75be9e
fix(library/init/lean/elaborator): check for and consume end of input
2018-10-03 16:00:08 -07:00