Commit graph

17301 commits

Author SHA1 Message Date
Sebastian Ullrich
a1a9daedce chore(tests/bench/report.py): go back to normalized tables 2019-08-15 14:24:23 +02:00
Leonardo de Moura
52b86c3b4b chore(library/init/data/persistentarray/basic): missing "reset" 2019-08-14 16:22:35 -07:00
Leonardo de Moura
48fbd9d1ea chore(stage0): update 2019-08-14 16:14:49 -07:00
Leonardo de Moura
8e37fc512b fix(library/init/data/persistentarray/basic): bug at pop
fixes #28
2019-08-14 16:14:20 -07:00
Leonardo de Moura
92f880b0bf chore(library/equations_compiler/elim_match): remove dead code 2019-08-14 14:39:34 -07:00
Leonardo de Moura
e9a63bf419 chore(frontends/lean/elaborator): remove recover_expr_from_exception 2019-08-14 14:20:15 -07:00
Leonardo de Moura
46a2e6f311 feat(library/init/lean/elaborator): add skeletons 2019-08-14 14:13:16 -07:00
Leonardo de Moura
e0a781063a feat(library/init/lean/elaborator/term): expand and invoke old elaborator as fallback 2019-08-14 07:34:44 -07:00
Leonardo de Moura
e1588c3fe7 feat(library/init/lean/elaborator): add expected type 2019-08-14 07:16:24 -07:00
Leonardo de Moura
d002e550bb chore(library/init/lean): filename ==> fileName 2019-08-13 19:51:04 -07:00
Leonardo de Moura
b77fcc4a0f feat(library/init/lean/parser/command): add #elab command 2019-08-13 19:48:23 -07:00
Leonardo de Moura
13a67cb9a7 feat(library/init/lean/elaborator/preterm): add glue code for new and old elaborators 2019-08-13 19:42:41 -07:00
Leonardo de Moura
03e455d32d feat(frontends/lean/elaborator): add oldElaborate 2019-08-13 19:23:29 -07:00
Leonardo de Moura
a7a5718819 chore(frontends/lean): simplify old elaborator 2019-08-13 18:49:38 -07:00
Leonardo de Moura
6a6758edf8 refactor(library/init/lean/elaborator): move elabTerm to term.lean 2019-08-13 18:33:42 -07:00
Leonardo de Moura
207f10b139 feat(library/init/lean/syntax): add Syntax.lift 2019-08-13 16:04:08 -07:00
Leonardo de Moura
4b49aa4b50 chore(tests/compiler): fix test 2019-08-13 15:27:44 -07:00
Leonardo de Moura
674438add7 chore(stage0): update 2019-08-13 15:22:20 -07:00
Leonardo de Moura
f2ca5db169 chore(library/init/lean/parser/term): remove support for Lean3 syntax 2019-08-13 15:20:47 -07:00
Leonardo de Moura
cbcf2a8a49 feat(library/init/lean/elaborator): arrow, hole and sorry 2019-08-13 15:14:51 -07:00
Leonardo de Moura
68a93a358c fix(kernel/expr): initialization problem 2019-08-13 15:04:02 -07:00
Leonardo de Moura
995f71cf4e feat(library/init/lean/elaborator/preterm): add setPos 2019-08-13 14:32:14 -07:00
Leonardo de Moura
19960ba781 chore(stage0): update 2019-08-13 13:24:31 -07:00
Leonardo de Moura
e16288136b fix(library/init/lean/elaborator/basic): logErrorAndThrow should not log error twice 2019-08-13 13:24:00 -07:00
Leonardo de Moura
ad1a2b3251 feat(library/init/lean/elaborator/preterm): add toLevel
Convert `Syntax` into "pre" universe level term used in Lean3
2019-08-13 13:06:48 -07:00
Leonardo de Moura
9735b979eb feat(library/init/lean/elaborator/command): add #preterm command for testing toPreTerm 2019-08-13 09:52:15 -07:00
Leonardo de Moura
94c88e1333 chore(stage0): update 2019-08-13 09:01:23 -07:00
Leonardo de Moura
0ff4334c9f feat(library/init/lean/elaborator): add preterm.lean 2019-08-13 09:00:05 -07:00
Leonardo de Moura
ae7167d626 fix(library/equations_compiler): equation compiler bug reported by @dselsam on Zulip
@kha @dselsam: I added a small repro for the bug reported by Daniel on
Zulip. The current fix is not polished at all since we will replace
the equation compiler with one implemented in Lean.  The bug is once
again on the code that handle nested `match`-expressions containing
recursive calls. We had problems in this module before, and the
current compilation strategy using auxiliary `*._match_<id>` functions
is also very inconvenient for users. They are often puzzled when they
see these auxiliary functions appearing in proof goals after unfolding
and/or simplification.  They usually don't know what to do with these
auxiliary definitions, and have no idea how they were defined and what
they correspond to if the function has several nested
`match`-expression. Right now, the best option is to use `#print
<fun-name>._match_<id>` which is far from ideal.

@kha: @dselsam and I discussed an alternative approach where we do not
create the auxiliary definitions, annotate the generated `cases_on`
applications with meta-data indicating they correspond to a nested
match, and modify the pretty printer to display these annotated
`cases_on` applications using the `match` syntax. With these
modifications, the behavior will be similar to the one in Coq where
complex `match`-expressions are reduced to atomic ones. The only
difference is that we represent these "atomic" `match`-expressions
using `cases_on` applications.
This commit uses a simpler version of this approach where we do not
create auxiliary `*._match_<id>` functions, and more importantly do
not use the dreadful `pull_nested_rec_fn` code.
2019-08-12 19:20:26 -07:00
Leonardo de Moura
cb5a6a5a2f feat(library/init/lean/elaborator/resolvename): add preresolveNames for setting Syntax.ident presolved field 2019-08-11 16:08:31 -07:00
Leonardo de Moura
cea1fa3036 feat(library/init/lean/elaborator/command): display position information at #resolve_name 2019-08-11 15:59:10 -07:00
Leonardo de Moura
4fe9c30d6f fix(library/init/lean/elaborator/resolvename): use eraseDups 2019-08-11 15:50:17 -07:00
Leonardo de Moura
1ae2186484 fix(library/init/lean/elaborator/alias): avoid duplicates 2019-08-11 15:48:27 -07:00
Leonardo de Moura
3dad81daee feat(library/init/lean/elaborator): add resolvename.lean 2019-08-11 15:37:37 -07:00
Leonardo de Moura
7195244b04 feat(library/init/data/array/qsort): ensure qsort terminates even for bad lt relations 2019-08-10 22:10:14 -07:00
Leonardo de Moura
64adc4c798 feat(library/metavar_context): use MetavarContext implemented in Lean 2019-08-10 08:03:13 -07:00
Sebastian Ullrich
5379636a94 chore(tests/bench): fix benchmarks 2019-08-10 12:52:42 +02:00
Leonardo de Moura
7d4c7ce1d3 chore(library/init/lean/metavarcontext): fix typo 2019-08-09 22:13:12 -07:00
Leonardo de Moura
aeae37eb81 feat(library/init/lean/metavarcontext): missing functions 2019-08-09 21:04:34 -07:00
Leonardo de Moura
99d4b33559 feat(library/metavar_context): metavar_decl as Lean object 2019-08-09 20:38:59 -07:00
Leonardo de Moura
5dd3b67a75 feat(library/metavar_context): delayed_assignment as Lean object 2019-08-09 20:30:52 -07:00
Leonardo de Moura
d924aab766 feat(library/init/lean/metavarcontext): export functions to C++ 2019-08-09 20:09:11 -07:00
Leonardo de Moura
d1671ffcea chore(library): remove dead code 2019-08-09 16:08:51 -07:00
Leonardo de Moura
f8199bb540 fix(library/playground/patch): updateArgs => modifyArgs 2019-08-09 16:05:29 -07:00
Leonardo de Moura
54312cfa51 feat(library/init/lean/metavarcontext): add basic functions 2019-08-09 11:26:51 -07:00
Leonardo de Moura
92da659ec7 feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.contains 2019-08-09 11:25:01 -07:00
Leonardo de Moura
b8cd88a827 chore(library/init): delete dead files 2019-08-09 10:35:38 -07:00
Leonardo de Moura
dfa9ca5dc5 chore(library/init/lean/compiler/ir/basic): style 2019-08-09 10:19:35 -07:00
Leonardo de Moura
d00019f57e chore(library/init): fix whitspaces before => 2019-08-09 09:13:49 -07:00
Leonardo de Moura
4d913370a7 chore(library/init): eliminate whitespaces using another patch script 2019-08-09 09:01:39 -07:00