Commit graph

124 commits

Author SHA1 Message Date
Leonardo de Moura
47b8fa15f1 fix: propagate visibility annotation 2021-08-10 15:34:07 -07:00
Leonardo de Moura
9cd729265e fix: missing instantiateMVars 2021-08-10 10:04:16 -07:00
Leonardo de Moura
9fe1cd1026 chore: modify default value for option structureDiamondWarning
We still have some TODO items, but structure diamond support is
already useful in practice.
2021-08-10 09:24:53 -07:00
Leonardo de Moura
50deae9b8b feat: copy binderInfo and inferMod from original field 2021-08-10 09:12:58 -07:00
Leonardo de Moura
bc26a9b527 feat: improve copyNewFieldsFrom 2021-08-10 09:08:35 -07:00
Leonardo de Moura
af1cecc641 feat: better error message 2021-08-10 07:46:15 -07:00
Leonardo de Moura
9e5998baf0 feat: register instance/reducible attribute for structuer diamond coercions 2021-08-10 07:16:59 -07:00
Leonardo de Moura
0f184a8c93 fix: binder annotation for class diamond coercions 2021-08-10 06:59:28 -07:00
Leonardo de Moura
bccad8edb1 feat: add coercion to parent structure whose fields having been copied 2021-08-09 19:01:08 -07:00
Leonardo de Moura
97664de3ee fix: diamonds with dependent fields 2021-08-09 19:01:08 -07:00
Leonardo de Moura
e8403f89b0 fix: ensure field names are atomic 2021-08-09 19:01:08 -07:00
Leonardo de Moura
6f318ddde3 feat: save binderInfo and inferMod ad registerStructure 2021-08-09 19:01:08 -07:00
Leonardo de Moura
f67501a890 chore: cleanup 2021-08-09 19:01:08 -07:00
Leonardo de Moura
3f3e5d9dcb fix: private field + default value bug 2021-08-09 19:01:08 -07:00
Leonardo de Moura
3896c44b55 chore: fix incorrect comment
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2021-08-09 19:01:08 -07:00
Leonardo de Moura
fdce7a99e1 feat: structure diamonds basic support
See TODO in the new comments.
2021-08-09 19:01:08 -07:00
Leonardo de Moura
65aafc070c chore: remove mkInternalSubobjectFieldName hack 2021-08-03 12:05:10 -07:00
Leonardo de Moura
d864afae91 feat: private fields
closes #418
2021-08-02 20:20:21 -07:00
Leonardo de Moura
90047e73e8 feat: cache structure parent names 2021-08-02 18:58:00 -07:00
Leonardo de Moura
635bc78d72 feat: use structure extension to implement Structure.lean 2021-08-02 18:03:20 -07:00
Leonardo de Moura
1ca62e21fd feat: add environment extension for storing structure field information 2021-08-02 16:17:35 -07:00
Leonardo de Moura
56e247763f fix: scope of the auto param at fields 2021-07-27 15:22:51 -07:00
Leonardo de Moura
0ccd110eb4 feat: elaborate Term.binderTactic at structure declarations 2021-07-27 14:49:23 -07:00
Leonardo de Moura
1a62826107 chore: cleanup 2021-07-27 12:41:26 -07:00
Leonardo de Moura
dbe0d2d706 feat: automatically generate injectivity theorems 2021-05-14 18:05:04 -07:00
Leonardo de Moura
bf583f6065 chore: add placeholders for mkInjectiveTheorems
We can activate them yet since the method is failing when there are
heterogeous equalities in the injectivity theorem type.
2021-05-13 22:36:45 -07:00
Leonardo de Moura
b899447817 refactor: move collectFVars to Meta 2021-03-26 19:16:21 -07:00
Leonardo de Moura
99cd4fa720 feat: refine auto bound implicit locals 2021-03-23 17:33:15 -07:00
Leonardo de Moura
bf8119a5cd chore: convert keywords to snake_case
Again `!` is only for functions that can panic.
2021-03-12 13:34:51 -08:00
Leonardo de Moura
be841a7cad chore: throwError! => throwError, throwErrorAt! => throwErrorAt
@Kha I marked the corresponding methods as `protected`.
I currently can't stand `throw_error`, and I am optimistic about
server highlighting feature you are working on :)
2021-03-11 11:59:45 -08:00
Leonardo de Moura
164577d94e chore: remove parser! and tparser!
The new macros are called "leading_parser` and `trailing_parser`.

cc @Kha
2021-03-11 09:36:58 -08:00
Leonardo de Moura
68143ca8ba chore: trace[...]! ==> trace[...]
@Kha I think this one is a good change, there is no real reason for
using the `!` suffix here.
2021-03-10 18:44:43 -08:00
Leonardo de Moura
8fa1ecde49 fix: throw error when default value contains metavariables 2021-02-20 11:31:56 -08:00
Leonardo de Moura
a264268a63 fix: structure field auto bound implicits 2021-02-20 07:46:55 -08:00
Leonardo de Moura
4e4194af41 feat: add autoBoundImplicit support for structure fields 2021-02-06 17:58:29 -08:00
Leonardo de Moura
75466a7cf3 chore: cleanup 2021-01-26 16:01:46 -08:00
Leonardo de Moura
2b6e3bb696 chore: do not generate SizeOf instance for classes 2021-01-20 17:48:27 -08:00
Leonardo de Moura
4ffc2c93cd feat: invoke mkSizeOfInstances from structure and inductive commands 2021-01-20 17:07:02 -08:00
Leonardo de Moura
84f78edb31 feat: store declaration ranges 2021-01-11 12:50:11 -08:00
Leonardo de Moura
308c61027a feat: save doc strings
We can now document `let rec` too.
2021-01-10 07:13:33 -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
9c47cfe001 fix: panic message 2020-12-23 07:24:46 -08:00
Leonardo de Moura
df03130927 feat: improve error message 2020-12-22 17:50:26 -08:00
Leonardo de Moura
8c2cb44ac0 fix: error message produced by lean_mk_projections 2020-12-22 17:40:32 -08:00
Leonardo de Moura
0fa262bb93 feat: add priority to InstanceEntry 2020-12-16 10:40:58 -08:00
Leonardo de Moura
04a07c15b9 chore: use deriving Inhabited 2020-12-13 11:57:59 -08:00
Leonardo de Moura
0bbc2ca884 feat: elaborate optDeriving 2020-12-13 09:05:03 -08:00
Leonardo de Moura
0b8edeeadc chore: use double quoted literals 2020-12-09 17:51:01 -08:00
Leonardo de Moura
ae5aa51712 chore: add explicit discard 2020-12-08 06:18:18 -08:00