Leonardo de Moura
479da7b914
feat: elaborate noindex! annotation
2020-12-28 17:49:54 -08:00
Leonardo de Moura
7165d50c93
feat: simp lemmas of the form not p
2020-12-28 17:03:32 -08:00
Leonardo de Moura
5a772e58d3
test: simp extension
2020-12-28 16:52:15 -08:00
Leonardo de Moura
4f4c8f45cd
chore: fix tests
2020-12-28 16:27:38 -08:00
Leonardo de Moura
19a3f8e5e5
chore: fix typo
2020-12-28 09:01:23 -08:00
Sebastian Ullrich
837d6a1529
chore: fix test
2020-12-26 21:12:51 +01:00
Leonardo de Moura
4450b8567d
fix: sigma notation precedence
2020-12-26 09:35:40 -08:00
Leonardo de Moura
edb51b8977
test: implicit lambdas in action
2020-12-23 10:24:00 -08:00
Leonardo de Moura
e74ba14f4c
feat: modify structSimpleBinder parser
...
@Kha It felt odd that we can write
```
map f x := ...
```
in instances, but we had to write
```
map (f x) := ...
```
when setting the field default value in a class.
2020-12-23 08:23:14 -08:00
Leonardo de Moura
7720b843bb
feat: allow users to use binders when setting default value for parent fields
2020-12-23 08:12:29 -08:00
Leonardo de Moura
800b4af15d
test: indentation
2020-12-22 14:53:03 -08:00
Leonardo de Moura
839017fdae
feat: add macro tactical solve
2020-12-22 14:36:20 -08:00
Leonardo de Moura
832c7412d6
feat: add first tactical
...
@Kha It has a few advantages over `<or>` (`<|>`).
- It is not an infix operator.
- It takes tactic sequences instead of tactics as arguments
For example, we can write
```
first
| apply h1; assumption
| exact y; exact h3; assumption
```
or
```
first apply h1; assumption | exact y; exact h3; assumption
```
instead of
```
(apply h1; assumption) <|> (exact y; exact h3; assumption)
```
2020-12-22 14:10:07 -08:00
Leonardo de Moura
69d83ecb86
chore: make sure term and tactic parsers have disjoint infix operators
2020-12-22 14:10:07 -08:00
Leonardo de Moura
18aee9de30
fix: precedence issues at tactic DSL
2020-12-22 14:10:06 -08:00
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