Leonardo de Moura
21587ff19b
chore: move tests to new frontend
2020-10-23 16:18:52 -07:00
Leonardo de Moura
8cb1ff206c
chore: move tests to new frontend
2020-10-23 14:07:26 -07:00
Leonardo de Moura
3de97ddc27
feat: run linters in the new frontend
2020-10-23 14:04:28 -07:00
Leonardo de Moura
8c03075e58
feat: improve function expected error message
2020-10-23 06:52:51 -07:00
Leonardo de Moura
f339efa100
feat: improve invalid named argument error message
2020-10-23 06:47:07 -07:00
Leonardo de Moura
40578d6d24
test: add explicit motive test
2020-10-23 06:00:51 -07:00
Leonardo de Moura
ff3d9bfbdf
chore: fix test output
2020-10-23 05:43:16 -07:00
Leonardo de Moura
a7116b44c1
test: add new subst tests
2020-10-23 05:39:25 -07:00
Leonardo de Moura
474f9a3695
chore: fix tests
2020-10-22 17:46:15 -07:00
Leonardo de Moura
7c0b55ec6a
chore: fix tests
2020-10-22 17:34:30 -07:00
Leonardo de Moura
de0eb8035f
chore: fix test
2020-10-22 16:58:12 -07:00
Leonardo de Moura
c865abb340
refactor: remove MonadRun
2020-10-22 16:30:06 -07:00
Leonardo de Moura
85c955d77f
feat: improve ▸ notation
2020-10-22 10:35:45 -07:00
Leonardo de Moura
34945dfc1c
feat: elaborate ▸ notation
2020-10-22 10:20:23 -07:00
Leonardo de Moura
2041277cae
fix: field default value with implicit type
2020-10-22 07:02:40 -07:00
Leonardo de Moura
6ca1768957
fix: optional := in the structure command
2020-10-22 04:39:20 -07:00
Sebastian Ullrich
ce96fab8de
chore: fix passing additional LEAN(C)_OPTS to make
2020-10-22 12:00:39 +02:00
Sebastian Ullrich
4e74e36331
feat: run initializers on import
...
Also, refuse to evaluate an `[init]` decl in the same module (since we don't know whether the initialization is
backtrackable) and always use native symbol of a `[builtinInit]` decl
2020-10-22 11:59:55 +02:00
Leonardo de Moura
ea829b75c0
chore: remove coercions for old frontend
2020-10-21 17:37:35 -07:00
Leonardo de Moura
b555307f06
chore: move to new frontend
2020-10-21 16:35:50 -07:00
Leonardo de Moura
7111eb4d79
chore: move to new frontend
2020-10-21 13:30:43 -07:00
Leonardo de Moura
3e9c5e1653
chore: move to new frontend
2020-10-21 08:43:47 -07:00
Leonardo de Moura
192d45d867
chore: fix tests
2020-10-20 16:15:30 -07:00
Leonardo de Moura
ddbca07a0f
chore: fix test output
2020-10-20 15:13:38 -07:00
Leonardo de Moura
35cf2f3d9f
feat: use withSynthesize when elaborating the type of a type ascription
2020-10-20 15:12:54 -07:00
Leonardo de Moura
a052446414
feat: simplify decide! and nativeDecide! macros
2020-10-20 15:08:16 -07:00
Leonardo de Moura
27205ddff7
chore: move to new frontend
2020-10-20 09:33:50 -07:00
Leonardo de Moura
dc6305604b
chore: fix test
2020-10-20 09:33:50 -07:00
Leonardo de Moura
fac2849e50
feat: forIn for PersistentArray
2020-10-20 09:33:50 -07:00
Leonardo de Moura
702ceb7a3f
fix: return optional result
...
cc @Kha
2020-10-20 09:33:50 -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
437f4670ed
fix: expand doIf notation before lifting nested methods
2020-10-19 11:32:51 -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
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
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
3b8c4ada75
chore: fix tests
2020-10-18 12:27:46 -07:00
Leonardo de Moura
45e1300414
fix: nested structural recursion
2020-10-18 10:38:51 -07:00
Leonardo de Moura
762073a7cb
chore: update stage0
2020-10-18 08:22:30 -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
aeac85dadb
chore: cleanup
2020-10-17 09:09:30 -07:00
Leonardo de Moura
b2bc2d2775
feat: improve field notation argument search
...
@Kha the new test may look exoteric, but it reflects an actual
instance in our code base, and the old frontend supports it.
Not sure whether we should keep it or not.
2020-10-16 14:32:03 -07:00
Leonardo de Moura
65abb119f5
chore: move to new frontend
2020-10-16 11:57:19 -07:00
Leonardo de Moura
dd4ae81774
chore: move to new frontend
2020-10-16 09:16:33 -07:00
Leonardo de Moura
8735820b49
fix: anonymous constructor too restrictive
...
We should support (recursive) inductive datatypes that have only one
constructor. We use this feature in the current `src/Lean` code base.
2020-10-16 07:58:47 -07:00
Leonardo de Moura
63e982768a
feat: expand nested dos
2020-10-15 17:11:50 -07:00
Leonardo de Moura
827625a377
perf: add temporary hack for performance issue
...
The compiler frontend implemented in C++ is eagerly inlining local
functions. The new test would take an absurd amount of time without
the new hack.
We remove this hack when we re-implement the compiler frontend in Lean.
2020-10-15 13:37:29 -07:00
Leonardo de Moura
908e5f7acd
fix: elabDiscrsWitMatchType
2020-10-15 11:00:33 -07:00
Leonardo de Moura
bdaf648667
fix: synthesizeSyntheticMVarsNoPostponing at elabMatch
2020-10-15 10:44:16 -07:00
Sebastian Ullrich
b0df2be65c
chore: remove old pretty printer
2020-10-15 12:04:55 +02:00