Leonardo de Moura
ef46b0145b
chore: use binop% to define the notations >> and <|>
...
Motivation: we want to delete the instances
```
instance [CoeHTCT α β] [OrElse β] : HOrElse α β β where
hOrElse a b := OrElse.orElse a b
instance [CoeHTCT α β] [OrElse β] : HOrElse β α β where
hOrElse a b := OrElse.orElse a b
instance [CoeHTCT α β] [AndThen β] : HAndThen α β β where
hAndThen a b := AndThen.andThen a b
instance [CoeHTCT α β] [AndThen β] : HAndThen β α β where
hAndThen a b := AndThen.andThen a b
```
after we update stage0
2021-08-13 17:13:01 -07:00
Leonardo de Moura
b012050917
chore: remove some macros that use binop%
...
For example, given `i : Int` and `n : Nat`, we don't want to coerce `n`
into a `Int` in the term `i ^ n`.
2021-08-13 17:00:59 -07:00
Leonardo de Moura
3418eb7e1f
fix: check whether CoeHTCT has already been defined or not at hasCoe
2021-08-13 17:00:59 -07:00
Leonardo de Moura
be23709737
chore: use binop% to define ++ notation
2021-08-13 16:26:35 -07:00
Leonardo de Moura
d3d03df83c
feat: new elaborator for binop%
...
cc @gebner.
2021-08-13 15:44:59 -07:00
Leonardo de Moura
24fe2875c6
chore: change Pow class
...
Based on the suggestion at https://github.com/leanprover/lean4/issues/433
2021-08-12 13:59:55 -07:00
Sebastian Ullrich
d3f007b3cd
chore: fix stdlib benchmarks
2021-08-12 22:41:42 +02:00
Sebastian Ullrich
16026e9edd
perf: restore monad instance specialization hack
2021-08-12 21:09:09 +02:00
Leonardo de Moura
a6b6d61b39
chore: simplify mkProjStx?
2021-08-12 09:50:43 -07:00
Leonardo de Moura
da03262937
fix: check redundant sources at structure instance notation
2021-08-12 09:16:30 -07:00
Sebastian Ullrich
917eb4d081
chore: collect stdlib compilation flags in new header
2021-08-12 07:51:50 -07:00
Sebastian Ullrich
7e78de978d
doc: further bootstrapping complications
2021-08-12 07:51:50 -07:00
Sebastian Ullrich
9c15f94be3
perf: do not use parsers from the current stage inside quotations by default
2021-08-12 07:51:50 -07:00
Sebastian Ullrich
20accf5105
feat: revise macro parameter syntax
2021-08-12 07:48:42 -07:00
Sebastian Ullrich
6c220423ed
chore: adjust stx precedences
2021-08-12 07:48:42 -07:00
Leonardo de Moura
bf313a944c
chore: update stage0
2021-08-12 06:23:33 -07:00
Leonardo de Moura
28fe8e7da0
chore: update stage0
2021-08-12 06:21:29 -07:00
Leonardo de Moura
c68882ca67
feat: structure instance notation with multiple sources
...
closes #462
closes #463
2021-08-12 06:18:47 -07:00
Leonardo de Moura
a02a490a10
feat: add mkProjStx?
2021-08-12 05:41:00 -07:00
Leonardo de Moura
2dfde4637f
fix: index out of bounds
2021-08-12 05:39:19 -07:00
Leonardo de Moura
accf198a88
feat: add ExplicitSourceInfo
2021-08-12 04:29:19 -07:00
Leonardo de Moura
c591902547
refactor: add structure to Source.explicit
2021-08-12 04:10:47 -07:00
Leonardo de Moura
45e4dc26e1
refactor: simplify Source.explicit
2021-08-12 03:40:30 -07:00
Daniel Selsam
5952a857cd
feat: pp.analyze improve heuristics for fun binders
2021-08-12 09:37:57 +02:00
Daniel Selsam
638d0ca8ed
feat: pp.instances and pp.instanceTypes
2021-08-12 09:33:30 +02:00
Daniel Selsam
040141f137
feat: unexpander for Subtype
2021-08-12 09:32:33 +02:00
Leonardo de Moura
67103f54a9
chore: add TODOs for multiple sources
2021-08-11 19:28:49 -07:00
Leonardo de Moura
74bd537465
fix: generation of to* field names
2021-08-11 17:25:02 -07:00
Leonardo de Moura
d78101f00d
chore: remove mutual recursion workaround
...
It was a leftover hack for the old frontend.
2021-08-11 16:57:53 -07:00
Leonardo de Moura
4abbb3d74c
chore: cleanup
2021-08-11 16:05:07 -07:00
Leonardo de Moura
f1738ce2a0
feat: add macro for expanding field abbrev notation
...
The new macro allows us to use the field abbrev notation in patterns
too. See new test.
2021-08-11 16:02:50 -07:00
Leonardo de Moura
00ec22d303
chore: update stage0
2021-08-11 13:10:21 -07:00
Leonardo de Moura
09c2b668e6
feat: allow multiple sources in the structure instance parser
...
This commit also fixes some macros, and make sure the elaborator still
works, but it does not support multiple sources yet.
2021-08-11 13:07:56 -07:00
Daniel Selsam
efb3f528a6
fix: handle MData-wrapped app fns consistently in delaborator
...
Fixes #625
2021-08-11 18:53:32 +02:00
Leonardo de Moura
6352e549b5
test: add classes up to Field
2021-08-11 08:51:49 -07:00
Sebastian Ullrich
3b43ab47f1
fix: formatter: check for comment tokens
...
Fixes #624
2021-08-11 17:37:18 +02:00
Sebastian Ullrich
c591a68aab
chore: Nix: add back overrideCC that got lost on the way
2021-08-11 10:49:46 +02:00
Leonardo de Moura
d471f8df60
fix: fixes #621
2021-08-10 21:15:35 -07:00
Leonardo de Moura
39ce3044ec
feat: emit warning message when failed to copy default value
2021-08-10 20:56:20 -07:00
Leonardo de Moura
61b3e6bcb8
fix: reduce projections of expanded structures at copyDefaultValue?
2021-08-10 20:50:59 -07:00
Leonardo de Moura
63ad42ba47
refactor: move and generalize reduceProj?
2021-08-10 20:21:04 -07:00
Leonardo de Moura
0623bb3860
feat: update fieldMap with composite field
2021-08-10 20:04:41 -07:00
Leonardo de Moura
ae03f15c92
test: default value set at copied structure
2021-08-10 19:00:34 -07:00
Leonardo de Moura
3b1285bee8
feat: process overriden default values in copied parents
2021-08-10 18:55:12 -07:00
Leonardo de Moura
295cae8afd
feat: copy field default values
...
Only basic examples are working. We still have many TODOs
2021-08-10 16:53:10 -07:00
Leonardo de Moura
47b8fa15f1
fix: propagate visibility annotation
2021-08-10 15:34:07 -07:00
Leonardo de Moura
702a24913f
chore: update stage0
2021-08-10 15:07:16 -07:00
Leonardo de Moura
16ea00586d
fix: fixes #620
2021-08-10 15:06:06 -07:00
Leonardo de Moura
972f00b0ff
fix: pending metavariable issue
...
It fixes issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/let.20overload
2021-08-10 14:52:53 -07:00
Leonardo de Moura
7cec20582b
feat: add instance Alternative (MonadCacheT α β m)
2021-08-10 14:28:04 -07:00