Commit graph

18632 commits

Author SHA1 Message Date
Leonardo de Moura
bccaaa7af0 fix: bug at lit_type binding
cc @kha
2020-01-06 15:44:38 -08:00
Leonardo de Moura
9b29a7bf7e chore: update stage0 2020-01-06 15:13:46 -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
0afd970e15 feat: add declName? to TermElabM context 2020-01-06 15:10:24 -08:00
Leonardo de Moura
6c474a1eb6 test: add tests/lean/newfrontend
cc @Kha
2020-01-06 14:07:22 -08:00
Leonardo de Moura
9f2172e65e feat: use new frontend when option --new-frontend is provided 2020-01-06 14:02:58 -08:00
Leonardo de Moura
3fb3b34762 chore: disable test 2020-01-06 13:42:29 -08:00
Leonardo de Moura
49d2994dd6 chore: update stage0 2020-01-06 12:12:45 -08:00
Leonardo de Moura
911e9535b9 feat: elabDefLike 2020-01-06 12:10:08 -08:00
Sebastian Ullrich
bc0802d76c refactor: test quotations in command elab 2020-01-06 10:09:26 -08:00
Sebastian Ullrich
9b6eeacc0f feat: add macro stack tracking to command elab 2020-01-06 10:09:26 -08:00
Sebastian Ullrich
fd4b9ffcf5 chore: update stage0 2020-01-06 10:09:26 -08:00
Sebastian Ullrich
bece6f7a32 feat: command quotations 2020-01-06 10:09:26 -08:00
Leonardo de Moura
ebd39de20d feat: add collectFVars 2020-01-06 09:34:00 -08:00
Leonardo de Moura
573877dcdf chore: cleanup 2020-01-06 09:33:11 -08:00
Leonardo de Moura
5be180910f test: add applyAttributes test 2020-01-05 16:27:22 -08:00
Leonardo de Moura
af6f7f4bc8 chore: update stage0 2020-01-05 16:27:05 -08:00
Leonardo de Moura
0231841984 feat: applyAttributes 2020-01-05 16:22:46 -08:00
Leonardo de Moura
e344f46e66 chore: allow attributes to parse arguments 2020-01-05 15:58:58 -08:00
Leonardo de Moura
a24838dd7c feat: add addDecl 2020-01-05 15:01:56 -08:00
Leonardo de Moura
26c386d756 chore: univNames ==> levelNames 2020-01-05 14:49:16 -08:00
Leonardo de Moura
7fd55477b2 feat: add sortDeclLevelParams 2020-01-05 14:35:14 -08:00
Leonardo de Moura
9134cef891 feat: add collectLevelParams 2020-01-05 13:47:08 -08:00
Leonardo de Moura
abc8811498 feat: add LevelSet and PersistentLevelSet 2020-01-05 13:26:25 -08:00
Leonardo de Moura
b0fd7ad264 feat: convert unassigned universe level mvars into parameters 2020-01-05 13:21:39 -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
647c7270bd refactor: DefView 2020-01-05 09:43:36 -08:00
Leonardo de Moura
a3dba3a011 feat: add univMVarToParam 2020-01-05 09:07:01 -08:00
Leonardo de Moura
f827086f85 feat: elaborate definition type 2020-01-04 16:32:24 -08:00
Leonardo de Moura
93dbcc161a refactor: break Declaration.lean into smaller files 2020-01-04 13:31:25 -08:00
Leonardo de Moura
6ca9a8c170 feat: better runTermElabM 2020-01-04 13:08:21 -08:00
Sebastian Ullrich
042f65fc69 feat: track macro scopes in CommandElab and synchronize them with TermElab 2020-01-04 09:41:45 -08:00
Leonardo de Moura
eb9d793e79 feat: def-like elaboration skeleton 2020-01-04 08:48:00 -08:00
Leonardo de Moura
52a27c08cf chore: remove hack 2020-01-03 18:29:18 -08:00
Leonardo de Moura
bd2243d978 chore: update stage0 2020-01-03 18:25:01 -08:00
Leonardo de Moura
8628b52b21 feat: missing support for Empty.rec 2020-01-03 18:23:52 -08:00
Leonardo de Moura
2f3c6a8185 feat: check attribute name 2020-01-03 18:15:55 -08:00
Leonardo de Moura
bc7455e04e refactor: CommandElabM and FrontendM in IO 2020-01-03 18:15:45 -08:00
Leonardo de Moura
3264210d88 chore: helper functions 2020-01-03 12:24:14 -08:00
Leonardo de Moura
2b4a7ae6a4 feat: elaborate declaration modifiers 2020-01-03 12:13:03 -08:00
Leonardo de Moura
54fd9a2e4a chore: naming convention 2020-01-03 12:12:45 -08:00
Daniel Selsam
91f97fb0d9 fix: typos in SynthInstance.lean 2020-01-03 10:29:01 -08:00
Leonardo de Moura
e949a052ba feat: elaborate where 2020-01-02 15:01:26 -08:00
Leonardo de Moura
6825938dec chore: update stage0 2020-01-02 14:56:40 -08:00
Leonardo de Moura
3f51857275 feat: add where syntax 2020-01-02 14:55:18 -08:00
Leonardo de Moura
16aff9a182 feat: elaborate have 2020-01-02 14:16:20 -08:00
Leonardo de Moura
04a0907954 feat: add throwUnexpectedSyntax
@kha From now on, let's use `throwUnexpectedSyntax` instead of `unreachable!` at
`match_syntax`. The `unreachable!` makes sense when the syntax was
created by our parser, but ill-formed syntax may be created by macros,
and we have no control on how users will create the resulting syntax object.
2020-01-02 13:51:02 -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