Sebastian Ullrich
458eed730f
chore: fix confusing indentation
2020-01-21 11:16:04 +01:00
Leonardo de Moura
b279433236
feat: improve checkNoWsBefore (skip None nodes)
2020-01-20 22:24:01 -08:00
Leonardo de Moura
47c85cc351
fix: bug at ParserDescr.ident
2020-01-20 21:55:16 -08:00
Leonardo de Moura
1dbfc4b337
fix: add checkNoWsBefore before option * in mkAntiquot
...
@kha we need it, otherwise we can't process rules such as
```
| `(FOO $t >>> $r) => `($t * $r)
```
without adding parenthesis at `(($t) * $r)
2020-01-20 21:48:40 -08:00
Leonardo de Moura
0725d966e9
chore: remove unnecessary parser!
2020-01-20 21:25:31 -08:00
Leonardo de Moura
98033f298f
feat: add support for simple category
2020-01-20 20:55:54 -08:00
Leonardo de Moura
6d8ca3ed62
feat: allow user to specify the kind of parser used to implement a new categoy
2020-01-20 20:14:18 -08:00
Leonardo de Moura
4ff001fa04
feat: add new kind of parser category
2020-01-20 20:06:04 -08:00
Sebastian Ullrich
129442a76a
fix: syntax: do not qualify fresh kinds
2020-01-20 14:58:58 -08:00
Leonardo de Moura
b63e0a82ea
feat: try and repeat can be macros
2020-01-20 14:42:53 -08:00
Leonardo de Moura
4d57790cc5
fix: add workaround for setting correct LBP for $ in antiquotations
2020-01-20 10:42:58 -08:00
Leonardo de Moura
f20d4aaa83
fix: avoid termParser at mkAntiquot
...
@kha `mkAntiquot` is used in all categories. I removed
`termParser (appPrec + 1)` to avoid nasty interactions between
`termParser` and the surrounding category.
This commity ensures the antiquotation prefix is one of the following
forms `$<id>` or `$(<term>)`.
I made the two cases look like term syntax because I didn't want to
change your expander. We should fix this next week.
2020-01-20 10:19:16 -08:00
Leonardo de Moura
9425ec6a06
chore: remove workaround
2020-01-20 09:58:13 -08:00
Leonardo de Moura
1665cea8e9
fix: antiquotation ambiguity
2020-01-20 09:53:49 -08:00
Leonardo de Moura
b5fc9c19fe
feat add evalIntros
2020-01-19 17:48:19 -08:00
Simon Hudon
c0a7495495
feat: MonadIO now extends MonadExcept IO.Error
2020-01-19 17:23:37 -08:00
Simon Hudon
961861ceab
fix: thread local storage of std streams
2020-01-19 17:23:24 -08:00
Simon Hudon
bd87ea5d5e
feat: override standard streams
2020-01-19 17:23:12 -08:00
Simon Hudon
7575a32035
feat: add std streams
...
This reverts commit 021ce21d5f70c2efcc58a0588ed6dc4999be6a33.
2020-01-19 17:22:58 -08:00
Leonardo de Moura
81c26214c5
feat: expand repeat
2020-01-19 17:06:19 -08:00
Leonardo de Moura
e931fac3bb
feat: add evalTry
2020-01-19 16:52:39 -08:00
Leonardo de Moura
b94e0381ad
feat: add evalSkip and evalTraceState
2020-01-19 16:37:01 -08:00
Leonardo de Moura
038ffcffc3
fix: TacticM should not see pending syntheticMVars from caller
2020-01-19 16:27:40 -08:00
Leonardo de Moura
0a3e9abccb
feat: eval apply tactic
2020-01-19 16:23:32 -08:00
Leonardo de Moura
03fb591604
feat: add findMVar?
2020-01-19 16:03:01 -08:00
Leonardo de Moura
b577ff2073
feat: add renameMVar and improve forallMetaTelescopeReducingAux
2020-01-19 15:48:42 -08:00
Leonardo de Moura
0d25c5f55c
feat: add Array.filterM
2020-01-19 15:18:01 -08:00
Leonardo de Moura
4638b6589e
chore: add mayPostpone
2020-01-19 14:44:47 -08:00
Leonardo de Moura
e57d3431ee
refactor: move basic Syntax API to LeanInit
...
We want to make them available for `macro`-building
2020-01-19 14:44:03 -08:00
Leonardo de Moura
b2c92d57b3
feat: add withReducible
2020-01-19 14:24:11 -08:00
Leonardo de Moura
312ea061b1
chore: use toExpr
...
cc @Kha
2020-01-19 11:58:17 -08:00
Sebastian Ullrich
6e1d70aaf2
feat: elaborate quoted names
2020-01-19 11:58:17 -08:00
Sebastian Ullrich
6c2a2cfa35
feat: support postfix syntax in macro
2020-01-19 11:58:17 -08:00
Sebastian Ullrich
3ee99b5859
feat: remove last superscript letter from list of valid identifier chars
2020-01-19 11:58:17 -08:00
Leonardo de Moura
655da9baef
fix: tag refine subgoals
2020-01-19 11:58:17 -08:00
Sebastian Ullrich
15bed7c95c
chore: support old notation syntax
2020-01-19 18:45:08 +01:00
Sebastian Ullrich
7f4e1db86b
refactor: replace mkTermIdFromIdent with antiquotation kind where possible
2020-01-19 08:28:49 -08:00
Sebastian Ullrich
9790b2b390
fix: hygienic mkTermId for constants
2020-01-19 08:28:49 -08:00
Leonardo de Moura
cec66bc75c
feat: add a few helper tactics
2020-01-19 08:28:43 -08:00
Leonardo de Moura
86edc94dbe
feat: add support for elaborating raw literals
2020-01-18 20:02:50 -08:00
Leonardo de Moura
3b8e1f8591
feat: add char (literal) as valid macro argument type
2020-01-18 19:43:19 -08:00
Leonardo de Moura
58b21fe0c9
feat: mark literals as valid kinds
2020-01-18 19:41:40 -08:00
Leonardo de Moura
be571e8d42
feat: elaborate new macro argument types
2020-01-18 19:41:17 -08:00
Leonardo de Moura
ac2fb7e149
feat: allow ident, num (numeric literals) and str (string literals) as macro argument types
2020-01-18 19:19:18 -08:00
Leonardo de Moura
60a9aa52c5
feat: add Array.getSepElems
...
cc @Kha
2020-01-18 19:12:44 -08:00
Leonardo de Moura
3e86608ce2
fix: erase macro scopes from parser categories
2020-01-18 19:10:35 -08:00
Leonardo de Moura
284447e43b
chore: style
2020-01-18 18:58:56 -08:00
Leonardo de Moura
53480e077d
feat: ensure tactics invoke synthesizeSyntheticMVars at elabTerm
2020-01-18 18:44:27 -08:00
Leonardo de Moura
1c6d6cccb9
chore: style
2020-01-18 18:27:52 -08:00
Leonardo de Moura
ad72ec4d0d
feat: eval <|> tactic
2020-01-18 18:26:25 -08:00