Leonardo de Moura
289ed6485d
feat: eval allGoals
2020-12-22 09:52:54 -08:00
Leonardo de Moura
f638269a71
fix: name resolution at syntax command
...
This commit also cleans up `toParserDescr`+`toParserDescrAux`.
2020-12-22 08:40:00 -08:00
Leonardo de Moura
1d5df4f28b
test: matrix notation example
...
- Heterogeneous `*` for matrix and scalar multiplication
- Homogeneous `+` for matrix addition
- Whitespace sensitive `x[i, j]` notation
2020-12-21 16:40:52 -08:00
Leonardo de Moura
4fc06bfcca
feat: add optional (priority := <prio>) to instance command
2020-12-21 10:02:12 -08:00
Leonardo de Moura
43284cc5fa
feat: improve notation for setting parser names and priorities
2020-12-21 09:11:12 -08:00
Sebastian Ullrich
756d7643f0
chore: rename syntaxMaxDepth option for consistency and discoverability
...
/cc @leodemoura
2020-12-21 16:25:01 +01:00
Leonardo de Moura
340cade575
fix: bug at specialize.cpp
2020-12-20 17:48:46 -08:00
Sebastian Ullrich
90f747e346
fix: don't change antiquotations semantics in do if
2020-12-20 17:51:37 +01:00
Sebastian Ullrich
eeb0cad29e
feat: if let
...
/cc @leodemoura
2020-12-20 16:46:03 +01:00
Leonardo de Moura
91f0e29285
feat: parallel for
2020-12-19 20:01:04 -08:00
Leonardo de Moura
230a5aca7e
test: mutual deriving BEq test
2020-12-18 12:36:16 -08:00
Leonardo de Moura
92f0afa424
chore: fix tests
2020-12-18 11:21:30 -08:00
Leonardo de Moura
15335efae2
refactor: move Format to Init package
...
We are going to use it to define `Repr` class.
2020-12-18 11:21:30 -08:00
Leonardo de Moura
995e11b64e
chore: cleanup
2020-12-17 18:05:53 -08:00
Leonardo de Moura
dee3c2c8d8
feat: improve deriving DecidableEq
2020-12-17 17:30:23 -08:00
Leonardo de Moura
c428e4feaa
fix: bug at injection
2020-12-17 17:30:23 -08:00
Leonardo de Moura
87b6385bea
feat: add deriving DecidableEq
2020-12-17 17:30:23 -08:00
Leonardo de Moura
a4901f131b
feat: mark propDecidable as a scoped instance
2020-12-16 10:45:49 -08:00
Leonardo de Moura
8b51f6279e
chore: fix tests
2020-12-16 10:45:27 -08:00
Sebastian Ullrich
29c2023410
fix: adapt to new matchAlt syntax
2020-12-16 18:52:56 +01:00
Sebastian Ullrich
4812f2aa64
chore: restore correct position for match errors
2020-12-16 18:27:05 +01:00
Leonardo de Moura
97642bd000
fix: prio issue
2020-12-16 07:44:48 -08:00
Leonardo de Moura
ed87480093
refactor: move to attr syntax category
2020-12-15 20:22:04 -08:00
Leonardo de Moura
f5de22ee36
chore: fix tests
2020-12-14 16:34:06 -08:00
Leonardo de Moura
abe7481453
feat: elaborate prio DSL
2020-12-14 16:25:10 -08:00
Leonardo de Moura
fcaf38d566
fix: handle prec DSL at infixl macro
2020-12-14 15:35:37 -08:00
Leonardo de Moura
9936040087
chore: fix test
...
TODO: add instance priorities.
2020-12-14 10:47:44 -08:00
Sebastian Ullrich
0316c872b9
feat: macro: use appropriate antiquotation kind dependent on bound syntax
...
/cc @leodemoura
2020-12-14 13:54:34 +01:00
Leonardo de Moura
bad714f5e9
feat: add deriving BEq
2020-12-13 16:13:27 -08:00
Leonardo de Moura
0bbc2ca884
feat: elaborate optDeriving
2020-12-13 09:05:03 -08:00
Leonardo de Moura
2a653743a1
test: simple test for deriving Inhabited
...
TODO: elaborate `optDeriving` suffix to `inductive/structure` commands
2020-12-12 18:58:56 -08:00
Sebastian Ullrich
554d0b4d4c
chore: adapt stdlib to new antiquotation splices
2020-12-12 17:20:03 +01:00
Leonardo de Moura
3682e3b993
chore: cleanup while/repeat example
2020-12-10 19:42:41 -08:00
Leonardo de Moura
f2ea45e68a
feat: expose doSeq and termBeforeDo parsers
...
Users can use them to extend the `do` DSL.
2020-12-10 19:10:25 -08:00
Leonardo de Moura
c8298f4446
feat: support for big list literals
...
This encoding prevents stack overflows.
2020-12-10 17:19:46 -08:00
Leonardo de Moura
48af5627aa
test: InductiveVal.isNested
2020-12-10 14:31:40 -08:00
Leonardo de Moura
ffefd8db36
chore: remove weird syntax sugar from macro command
...
Before this commit,
```
macro term x:term : term => `($x)
```
would generate the notation
```
syntax "term" term : term
```
2020-12-10 08:09:47 -08:00
Leonardo de Moura
a10328e745
chore: simplify syntax patterns using $[...]?
2020-12-09 17:06:19 -08:00
Sebastian Ullrich
f50c8ff495
test: beginEndAsMacro: check error position
2020-12-09 18:13:25 +01:00
Sebastian Ullrich
d9246a8415
chore: adapt to new syntax syntax and introduce a few sepBy shorthands
2020-12-09 18:01:05 +01:00
Sebastian Ullrich
00e167b2f0
feat: match_syntax ~> match
2020-12-08 17:20:36 +01:00
Leonardo de Moura
06ad52575a
feat: force users to use discard when action result is not being bound and it is not PUnit
...
After this commit, we have to use an explicit `discard` in code such as
```
def g (x : Nat) : IO Nat := ...
def f (x : Nat) : IO Unit := do
discard <| g x -- type error without the `discard`
IO.println x
```
Motivation: prevent users from making mistakes such as
```
def f (xs : Array Nat) : IO Unit := do
xs.set! 0 1
IO.println xs
```
when they meant to write
```
def f (xs : Array Nat) : IO Unit := do
let xs := xs.set! 0 1
IO.println xs
```
2020-12-08 06:14:48 -08:00
Leonardo de Moura
cbf2b6c0db
feat: change synthinstance threshold
...
Before this commit, the threshold was the amount of "fuel".
Now, it is the maximum number of instances used to solve a TC problem.
We have two thresholds
- `maxInstSize`: default 128
- `maxCoeSize`: default 16. It is similar to `maxInstSize`, but used for automatic coercions.
cc @Kha
2020-12-07 10:45:08 -08:00
Leonardo de Moura
32325838a3
chore: fix test
2020-12-06 19:00:24 -08:00
Leonardo de Moura
4fa107c6a3
test: add test for issue fixed in previous commit
2020-12-05 15:50:24 -08:00
Leonardo de Moura
f000aa0155
test: scoped parser after open
2020-12-05 08:35:30 -08:00
Leonardo de Moura
d43a65aed0
feat: elaboarate local syntax, infix and notation commands
2020-12-05 08:05:40 -08:00
Leonardo de Moura
54723409c3
test: scoped parsers
2020-12-04 16:22:45 -08:00
Sebastian Ullrich
21f4257da5
feat: name resolution during parsing
2020-12-03 17:46:13 +01:00
Leonardo de Moura
469de09280
fix: bug at isDefEq
...
The new test contains a minimal example that triggers the bug.
2020-12-02 13:27:21 -08:00