Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
213035bffc chore: update stage0 2020-10-19 14:31:55 -07:00
Leonardo de Moura
c7efb1d37d fix: do notation else if
The following `do` block
```lean
if c_1 then
  action_1
else
  if cond_2 then
    action_2
  action_3
```
was being being parsed as
```lean
if c_1 then
  action_1
else if cond_2 then
  action_2
action_3
```

cc @Kha
2020-10-19 14:29:31 -07:00
Leonardo de Moura
e4b2614f5b chore: move to new frontend 2020-10-19 13:21:15 -07:00
Leonardo de Moura
d9daa68d54 chore: move to new frontend 2020-10-19 13:14:14 -07:00
Leonardo de Moura
97be6fa3a5 chore: move to new frontend 2020-10-19 12:43:00 -07:00
Leonardo de Moura
9995eb7ece chore: move to new frontend 2020-10-19 12:22:26 -07:00
Leonardo de Moura
c3897fff31 chore: move to new frontend 2020-10-19 12:15:48 -07:00
Leonardo de Moura
ab047cc4d1 chore: remove unnecessary file 2020-10-19 12:12:03 -07:00
Leonardo de Moura
a13569ab0f chore: move to new frontend 2020-10-19 12:04:50 -07:00
Leonardo de Moura
9778eca9b2 chore: move to new frontend 2020-10-19 11:50:42 -07:00
Leonardo de Moura
7f5ef0c30b chore: move to new frontend 2020-10-19 11:38:00 -07:00
Leonardo de Moura
a1828d5ef4 chore: update stage0 2020-10-19 11:34:06 -07:00
Leonardo de Moura
437f4670ed fix: expand doIf notation before lifting nested methods 2020-10-19 11:32:51 -07:00
Leonardo de Moura
c05f73577a fix: expand doElem macros *before* lifting nested methods 2020-10-19 11:26:14 -07:00
Leonardo de Moura
89ee45ef75 chore: update stage0 2020-10-19 10:26:02 -07:00
Leonardo de Moura
e54a207986 refactor: provide Options to lean_eval_const
add `ImportM` monad for `addImportedFn`

cc @Kha
2020-10-19 10:21:38 -07:00
Leonardo de Moura
17836a3a6f chore: add instance for new frontend
The new frontend uses discrimination trees to filter candidates.
2020-10-19 06:37:23 -07:00
Leonardo de Moura
d3946e49f4 chore: move to new frontend 2020-10-19 06:13:11 -07:00
Leonardo de Moura
9abe45ae4f chore: move to new frontend 2020-10-19 06:03:09 -07:00
Leonardo de Moura
1ad779607e chore: update stage0 2020-10-18 18:07:08 -07:00
Leonardo de Moura
7bfa39ae45 fix: for .. in .. do notation and universe constraints
We use `MProd` instead of `Prod` to group values when expanding the
`do` notation. `MProd` is a universe monomorphic product.
The motivation is to generate simpler universe constraints in code
that was not written by the user but generated by the `do` macro.
Note that we are not really restricting the macro power since the
`HasBind.bind` combinator already forces values computed by monadic
actions to be in the same universe.

The new test cannot be compiled without this modication.
2020-10-18 18:05:00 -07:00
Leonardo de Moura
8136572617 fix: Level metavar formatter 2020-10-18 17:56:47 -07:00
Leonardo de Moura
9d36d91b84 chore: add Elab.command trace class 2020-10-18 16:35:08 -07:00
Leonardo de Moura
5402ea88a2 feat: add withNestedTraces 2020-10-18 16:31:01 -07:00
Leonardo de Moura
7fa43216f5 chore: argument name 2020-10-18 16:19:44 -07:00
Leonardo de Moura
3b8c4ada75 chore: fix tests 2020-10-18 12:27:46 -07:00
Leonardo de Moura
bc072eceea chore: document temporary workaround 2020-10-18 12:22:20 -07:00
Leonardo de Moura
a9d2620a6c feat: add ToMessageData (Option ...) instance 2020-10-18 11:53:43 -07:00
Leonardo de Moura
285658cead fix: Elab.postpone trace message 2020-10-18 11:52:47 -07:00
Leonardo de Moura
40ed0de071 chore: use traceCtx to indent traces in recursive applications 2020-10-18 11:13:59 -07:00
Leonardo de Moura
cb75ac6de6 chore: update stage0 2020-10-18 10:40:23 -07:00
Leonardo de Moura
45e1300414 fix: nested structural recursion 2020-10-18 10:38:51 -07:00
Leonardo de Moura
e667c9e519 chore: move to new frontend 2020-10-18 09:47:42 -07:00
Leonardo de Moura
4c0785493f chore: update stage0 2020-10-18 09:11:58 -07:00
Leonardo de Moura
679187ae0a chore: move to new frontend 2020-10-18 09:11:16 -07:00
Leonardo de Moura
60091a49cd chore: move to new frontend 2020-10-18 08:38:17 -07:00
Leonardo de Moura
2d38e4d5bc chore: move to new frontend 2020-10-18 08:34:17 -07:00
Leonardo de Moura
a3429caaf4 chore: move to new frontend 2020-10-18 08:27:58 -07:00
Leonardo de Moura
762073a7cb chore: update stage0 2020-10-18 08:22:30 -07:00
Leonardo de Moura
2b8c196769 fix: remove checkNoOptAutoParam
The check is too restrictive. We often infer a type that contains the
annotation. Perhaps we should check whether the user is explicitly
using them.
2020-10-18 08:16:11 -07:00
Leonardo de Moura
54aeae284a chore: remove workaround 2020-10-17 16:38:26 -07:00
Leonardo de Moura
1cdbda130c chore: update stage0 2020-10-17 16:30:46 -07:00
Leonardo de Moura
f5a16bc8f0 fix: better support for constraints of the form ?m a =?= ?m b 2020-10-17 16:29:27 -07:00
Leonardo de Moura
76be722a79 chore: move to new frontend 2020-10-17 14:12:32 -07:00
Leonardo de Moura
1ce2cde099 chore: move to new frontend 2020-10-17 14:01:25 -07:00
Leonardo de Moura
a915822454 chore: cleanup 2020-10-17 13:49:14 -07:00
Leonardo de Moura
ded60f1602 chore: update stage0 2020-10-17 09:21:12 -07:00
Leonardo de Moura
c354c3f8b1 chore: move to new frontend 2020-10-17 09:19:59 -07:00
Leonardo de Moura
deb9b570d5 chore: move to new frontend 2020-10-17 09:14:04 -07:00
Leonardo de Moura
319bbd4554 chore: move to new frontend 2020-10-17 09:09:56 -07:00