Sebastian Ullrich
d51101b884
feat: sanitize Syntax in messages
...
Fixes #182
2020-09-29 07:59:22 -07:00
Sebastian Ullrich
af8dc5eeab
feat: pretty print Syntax in messages
2020-09-29 07:59:22 -07:00
Sebastian Ullrich
6ad47878ef
chore: improve error message using (<- ...) outside of do
2020-09-29 07:59:22 -07:00
Leonardo de Moura
49c5c5c08a
fix: horrible error message due to constApprox := true
...
The new test `typeMismatch.lean` contains two examples where the error
message was dreadful.
2020-09-29 07:54:48 -07:00
Leonardo de Moura
d6db541366
chore: cleanup
2020-09-28 19:05:48 -07:00
Leonardo de Moura
4fae8588fd
test: optional ';'
2020-09-28 17:11:00 -07:00
Leonardo de Moura
65834b95ff
chore: fix test
2020-09-28 17:11:00 -07:00
Leonardo de Moura
e10edde5cd
feat: optional ; in terms
2020-09-28 17:10:59 -07:00
Leonardo de Moura
d4c1432574
fix: tacticSeqBracketed
2020-09-28 17:10:59 -07:00
Leonardo de Moura
2755972447
fix: missing checkColGt and tests
2020-09-28 17:10:59 -07:00
Leonardo de Moura
7f2c5ffd9a
chore: fix test
2020-09-28 17:10:57 -07:00
Leonardo de Moura
765a8ac984
test: do with optional ;
2020-09-28 17:10:57 -07:00
Leonardo de Moura
08d54b6043
feat: add checkColGt at app
...
@Kha Only one example broke :)
2020-09-28 17:10:57 -07:00
Sebastian Ullrich
5b4247a9c7
chore: fix stdlib benchmark
2020-09-28 13:39:32 +02:00
Leonardo de Moura
39f8fd8eb9
fix: trailing ';' at end of input
2020-09-27 16:58:23 -07:00
Leonardo de Moura
db7633e156
test: forIn using . notation instead of type classes
2020-09-27 08:27:05 -07:00
Leonardo de Moura
e30249c2d2
chore: add workarounds to forIn experiment
2020-09-27 08:20:58 -07:00
Leonardo de Moura
8e81db0d2b
chore: add temporary workaround to tests
...
We will remove it after we implement `doMatch`
2020-09-27 06:58:10 -07:00
Leonardo de Moura
a0a724ddbd
fix: tests and elabDo
2020-09-26 19:12:01 -07:00
Leonardo de Moura
ef9b661c8d
chore: add temporary workarounds until we implement new elabDo
2020-09-26 18:11:46 -07:00
Leonardo de Moura
5fa8d9105e
feat: add if and for for do blocks
2020-09-26 18:03:53 -07:00
Leonardo de Moura
6892a957d6
feat: trailing ; in indented "do" sequences
...
cc @Kha
2020-09-26 16:08:30 -07:00
Leonardo de Moura
3f4499be08
feat: allow trailing ; at doSeqBracketed
2020-09-26 14:20:47 -07:00
Leonardo de Moura
13ded3f964
chore: use doElem category
2020-09-26 12:51:24 -07:00
Leonardo de Moura
2754d78749
proto: type classes for the for in notation
2020-09-25 18:48:23 -07:00
Leonardo de Moura
8e159f004c
fix: missing synthesizeSyntheticMVarsNoPostponing at elabMatch
2020-09-25 18:48:23 -07:00
Leonardo de Moura
b71e5b4648
test: cdot tests
2020-09-25 18:48:23 -07:00
Sebastian Ullrich
eae32b08a6
fix: pretty printing multiple universe levels
...
Fixes #190
2020-09-25 20:06:18 +02:00
Leonardo de Moura
240680db1a
feat: add binductionOn support
2020-09-25 07:18:14 -07:00
Leonardo de Moura
d17c20be25
test: add old Lean3 tests
2020-09-25 06:48:51 -07:00
Leonardo de Moura
1775d9b04b
fix: visit types
...
See new test `tests/lean/run/def14.lean`
2020-09-25 06:48:51 -07:00
Leonardo de Moura
0e16bd60dc
fix: missing case
2020-09-25 06:48:51 -07:00
Leonardo de Moura
afa2f9b74c
test: add old Lean3 tests
2020-09-25 06:48:51 -07:00
Leonardo de Moura
e4f492d68a
feat: add support for reflexive inductive datatypes
2020-09-24 20:30:12 -07:00
Leonardo de Moura
66d35cdd76
fix: the generated matcher must be able to eliminate into different universe levels
2020-09-24 19:34:14 -07:00
Leonardo de Moura
98f7e9b3e4
chore: naming convention
2020-09-24 19:22:24 -07:00
Leonardo de Moura
bdf412bf49
test: add old Lean3 tests
2020-09-24 18:01:23 -07:00
Leonardo de Moura
3256a24813
fix: bug at toBelow
2020-09-24 17:38:51 -07:00
Leonardo de Moura
bdefe91fbf
test: add old Lean3 tests
2020-09-24 17:32:47 -07:00
Leonardo de Moura
7edc52682b
fix: processNonVariable
2020-09-24 17:16:50 -07:00
Leonardo de Moura
8383177c96
fix: nonoptimal specialization
...
@Kha Here is the fix for the problem I told you this morning.
Please, take a look at `specialize.cpp` and see whether it makes sense.
2020-09-24 12:40:28 -07:00
Leonardo de Moura
6fe8a0e179
test: issue 29
...
New frontend fixed this issue.
closes #29
2020-09-23 18:30:28 -07:00
Leonardo de Moura
e22d2f6cb1
test: new tests for structural recursion
...
@Kha The structural recursion is working :)
It is so much more powerful than the one in Lean3.
I added examples with `let rec`, nested and multiple
`match`-expressions.
I will keep testing and adding missing features tomorrow, and
will hopefully start porting stdlib to new frontend before the end of
the week.
2020-09-23 18:24:56 -07:00
Leonardo de Moura
6a51ec8427
fix: missing case (kernel projection) at isExprDefEqAuxImpl
2020-09-23 18:24:56 -07:00
Leonardo de Moura
c46e64b089
feat: add Array.zipWith and Array.zip
2020-09-23 18:24:56 -07:00
Sebastian Ullrich
fa55c1e088
fix: pretty printing loose bvars
...
Fixes #192
2020-09-23 11:13:23 +02:00
Leonardo de Moura
d66b6738ee
chore: fix test
2020-09-22 19:07:46 -07:00
Leonardo de Moura
0511b73d80
feat: add replaceFVars
2020-09-22 14:24:03 -07:00
Leonardo de Moura
bbc1f4d461
fix: throwAppTypeMismatch should be polymorphic
...
We use it from `TermElabM` and `MetaM`, and they have different
`TermElabM` implementations.
2020-09-22 09:35:59 -07:00
Leonardo de Moura
05e5d934d3
feat: change default precedence for new syntax
...
Now, the following example produces a syntax error.
```lean
macro "foo!" x:term : term => `($x + 1)
check id foo! 10
```
@Kha, I think the heuristic is simple and defensible.
If the new syntax starts and ends with token, than the precedence is
`maxPrec`. Otherwise, it is `leadPrec`.
see #180
2020-09-21 19:04:03 -07:00