Commit graph

4141 commits

Author SHA1 Message Date
Leonardo de Moura
4b37c5ad04 test: add new_frontend command test 2020-01-06 21:02:25 -08:00
Leonardo de Moura
24f1479758 chore: remove workaround 2020-01-06 16:44:08 -08:00
Leonardo de Moura
20c0a63908 feat: add support for optParam 2020-01-06 16:41:48 -08:00
Leonardo de Moura
bccaaa7af0 fix: bug at lit_type binding
cc @kha
2020-01-06 15:44:38 -08:00
Leonardo de Moura
865ef32e91 feat: add parser! and tparser! elaborators
@Kha It is not convenient to use because
1- Coercions have not been implemented
2- Autoparams have not been implemented
3- There is bug the `Expr.lit` type checker
4- The new frontend uses a different mechanism for `export`. So,
`export`s in imported files compiled with the old frontend do not work.

I am working on these issues.
2020-01-06 15:10:35 -08:00
Leonardo de Moura
6c474a1eb6 test: add tests/lean/newfrontend
cc @Kha
2020-01-06 14:07:22 -08:00
Leonardo de Moura
911e9535b9 feat: elabDefLike 2020-01-06 12:10:08 -08:00
Sebastian Ullrich
bece6f7a32 feat: command quotations 2020-01-06 10:09:26 -08:00
Leonardo de Moura
5be180910f test: add applyAttributes test 2020-01-05 16:27:22 -08:00
Leonardo de Moura
0231841984 feat: applyAttributes 2020-01-05 16:22:46 -08:00
Leonardo de Moura
c233225153 feat: add mkForallUsedOnly
This commit also fixes a bug at `mkBinding` for unused let-decls
2020-01-05 11:53:39 -08:00
Leonardo de Moura
bc7455e04e refactor: CommandElabM and FrontendM in IO 2020-01-03 18:15:45 -08:00
Leonardo de Moura
e949a052ba feat: elaborate where 2020-01-02 15:01:26 -08:00
Leonardo de Moura
16aff9a182 feat: elaborate have 2020-01-02 14:16:20 -08:00
Leonardo de Moura
9f69991d80 feat: elaborate show notation 2020-01-02 13:30:11 -08:00
Leonardo de Moura
a3675b99e6 feat: add parameter postponeOnError : Bool to synthesizeSyntheticMVarsStep
@Kha: I implemented the option 2 I described on Zulip.
2020-01-02 13:13:58 -08:00
Leonardo de Moura
db96b08257 feat: elaborate anonymous constructor 2020-01-02 10:41:04 -08:00
Leonardo de Moura
0ffd1526bd feat: elaborate subtype 2020-01-02 10:12:19 -08:00
Leonardo de Moura
8f805f5d2f feat: elaborate if-then-else 2020-01-01 16:12:26 -08:00
Leonardo de Moura
cbe65a068e fix: addLValArg 2020-01-01 16:02:55 -08:00
Leonardo de Moura
2ca96cb2b0 feat: include macroStack in error messages 2020-01-01 15:19:04 -08:00
Leonardo de Moura
9d25a45074 feat: elaborate character literals 2020-01-01 14:37:40 -08:00
Leonardo de Moura
434c148800 test: add termElab attribute test 2020-01-01 14:16:49 -08:00
Leonardo de Moura
d22abd85dd test: minimal repro for evalConst crash 2020-01-01 11:02:38 -08:00
Leonardo de Moura
28a4859832 feat: expose evalConst
@Kha Could you please check `lean_eval_const`?
2019-12-30 11:41:36 -08:00
Leonardo de Moura
b1570ba865 feat: elaborate sortApp 2019-12-30 11:00:13 -08:00
Leonardo de Moura
74741bf613 feat: elaborate explicit universe levels 2019-12-30 10:52:22 -08:00
Sebastian Ullrich
6fc47e4baf fix: match_syntax should not check kind of anonymous antiquotations 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
881e3bf490 fix: raise precedence inside antiquotation parser 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
81381d5c77 feat: make all antiquotation kinds optional 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
22e6b6c34a test: quotation kinds 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
ebde775671 fix: invoke new parser from old one with maximum precedence 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
1a7cd0e54d feat: support ident antiquotations (inside term parsers, for now) 2019-12-30 08:24:29 -08:00
Sebastian Ullrich
9bf8c96502 feat: save original node kind in antiquot node kind for checking in match_syntax 2019-12-30 08:24:29 -08:00
Leonardo de Moura
f5741af39d test: minimal repro for Borrow.lean bug 2019-12-22 19:16:23 -08:00
Leonardo de Moura
bceb02951c feat: better postpone messages 2019-12-22 10:24:22 -08:00
Leonardo de Moura
d53c5a31cb refactor: use PersistentArray to implement MessageLog
Motivation: consistency. Now, Traces and MessageLog use the same datastructure.
2019-12-22 08:11:20 -08:00
Leonardo de Moura
7490c34b54 chore: fix tests
- Delayed assignments do not become regular assignments anymore.
- We can instantiate mvas more aggressively in the new design.
2019-12-21 16:03:44 -08:00
Leonardo de Moura
a32fd2e693 feat: implement design documented at 868a217202 2019-12-21 15:53:36 -08:00
Leonardo de Moura
fdfff29bb1 feat: expose liftLooseBVars and lowerLooseBVars 2019-12-21 08:57:11 -08:00
Leonardo de Moura
5adadc3158 test: document let issue
TODO: fix issue at `Meta.mkLambda` when some of the free variables are let-declarations.
2019-12-19 17:29:26 -08:00
Leonardo de Moura
d2d6e85719 feat: add forRevM 2019-12-19 17:24:29 -08:00
Leonardo de Moura
93f4184125 feat: elaborate let 2019-12-19 17:00:19 -08:00
Leonardo de Moura
8431303999 test: new test 2019-12-19 14:45:17 -08:00
Leonardo de Moura
bfca7e32e0 fix: try to postpone if function type is not known 2019-12-19 14:20:56 -08:00
Leonardo de Moura
8d81e89e53 feat: elaborate $. 2019-12-19 14:16:28 -08:00
Leonardo de Moura
57f6881c6c feat: restore state when catching Exception.postpone
cc @Kha
2019-12-19 13:21:11 -08:00
Leonardo de Moura
3e5527219f test: add foldl test 2019-12-19 12:06:47 -08:00
Leonardo de Moura
eb24ec56dc feat: add array literal notation 2019-12-19 11:42:39 -08:00
Leonardo de Moura
fc5fb07fc3 fix: mkFreshExprMVar 2019-12-19 11:13:22 -08:00