Commit graph

20218 commits

Author SHA1 Message Date
Leonardo de Moura
db53d0aa7e fix: validate visibility modifiers 2020-07-23 15:13:55 -07:00
Leonardo de Moura
e4865f5aad fix: resolveGlobalName for atomic references to private names 2020-07-23 14:58:19 -07:00
Leonardo de Moura
ea5eed7964 fix: do not assume the constructor name prefix is the inductive type name 2020-07-23 14:36:54 -07:00
Leonardo de Moura
07cb21c609 fix: subobject fields 2020-07-23 13:38:56 -07:00
Leonardo de Moura
9c230dd18e feat: add structure declaration 2020-07-23 13:32:15 -07:00
Leonardo de Moura
ca096305b2 feat: make structure constructor 2020-07-23 12:57:06 -07:00
Leonardo de Moura
4950c199c2 chore: update stage0 2020-07-22 17:38:40 -07:00
Leonardo de Moura
3ec925ec64 chore: cleanup 2020-07-22 17:36:38 -07:00
Leonardo de Moura
ff6807f561 feat: collect used level parameters 2020-07-22 17:31:55 -07:00
Leonardo de Moura
d506e726f1 feat: structure resulting universe 2020-07-22 14:52:23 -07:00
Leonardo de Moura
9bfb144efd feat: convert unassigned universe metavariables into new parameters 2020-07-22 14:25:52 -07:00
Leonardo de Moura
fe5a0026cd fix: levelMVarToParam consider Expr assignment 2020-07-22 14:01:32 -07:00
Leonardo de Moura
be4d65e936 fix: must collect occurrences in the types 2020-07-21 16:59:28 -07:00
Leonardo de Moura
c17a87bdda test: levelMVarToParam 2020-07-21 16:59:28 -07:00
Leonardo de Moura
628be67e66 feat: remove unused scope variables 2020-07-21 16:59:21 -07:00
Leonardo de Moura
a703610347 chore: reject private fields for now
See comment at `src/Lean/Structure.lean`
2020-07-21 16:57:36 -07:00
Leonardo de Moura
801acd3e62 feat: elaborate fields 2020-07-21 16:57:36 -07:00
Leonardo de Moura
19da0229a9 chore: fix test 2020-07-21 16:57:36 -07:00
Leonardo de Moura
27c3e23c17 fix: type is optional in explicit fields
Reason: default value overriding notation.
2020-07-21 16:57:36 -07:00
Leonardo de Moura
19fc369875 feat: throw error at field names starting with '_' 2020-07-21 16:57:36 -07:00
Sebastian Ullrich
9724f02b0e chore: update temci 2020-07-21 18:30:22 +02:00
Sebastian Ullrich
086e9e062a chore: measure maxrss in benchmarks 2020-07-21 14:47:22 +02:00
Leonardo de Moura
1267b4908f feat: elaborate parents and subfields 2020-07-20 16:14:36 -07:00
Leonardo de Moura
eba7a28df0 feat: add Meta.mkProjection 2020-07-20 16:01:36 -07:00
Leonardo de Moura
6e279be7af chore: add Name.getString! 2020-07-20 15:18:45 -07:00
Leonardo de Moura
615dffccd5 chore: add temporary getProjFnForField? 2020-07-20 15:18:11 -07:00
Leonardo de Moura
21980658a5 fix: fieldBinders 2020-07-20 10:32:11 -07:00
Leonardo de Moura
7bffa51d22 fix: missing file 2020-07-17 17:25:15 -07:00
Leonardo de Moura
ad485484a5 chore: minor 2020-07-17 17:15:33 -07:00
Leonardo de Moura
899e11de30 chore: update stage0 2020-07-17 11:22:23 -07:00
Leonardo de Moura
428fb5be3c chore: remove dead field 2020-07-17 11:21:43 -07:00
Leonardo de Moura
795b5d600a feat: add expandFields 2020-07-17 11:10:34 -07:00
Leonardo de Moura
a1fc824336 fix: field syntax 2020-07-17 10:12:43 -07:00
Leonardo de Moura
b5dc185e70 chore: remove private parent structure support from old frontend 2020-07-17 09:21:14 -07:00
Leonardo de Moura
d2f26e142d chore: naming 2020-07-17 09:18:20 -07:00
Leonardo de Moura
ba3f461505 chore: we decided to not support private parent structures, nor named parent structures
These are obscures features in Lean 3 that AFAIK nobody ever used.
2020-07-17 09:09:34 -07:00
Leonardo de Moura
bf88a35888 feat: add views for structure command 2020-07-16 16:35:00 -07:00
Leonardo de Moura
8a80887fb0 fix: structure command syntax 2020-07-16 16:00:31 -07:00
Leonardo de Moura
59eb3cac77 chore: update stage0 2020-07-16 15:12:47 -07:00
Leonardo de Moura
1e862b83c5 chore: remove support for old structure command 2020-07-16 15:11:11 -07:00
Leonardo de Moura
cdd6e48315 fix: do not assume the prefix of a projection function name is the structure name 2020-07-16 11:10:20 -07:00
Leonardo de Moura
ebe66fdbc9 feat: add Elab/Structure.lean 2020-07-16 10:47:40 -07:00
Leonardo de Moura
c421151e61 feat: allow users to annotate structure constructor and projections with declaration modifiers (e.g., private, protected, doc string, ...) 2020-07-16 10:27:06 -07:00
Leonardo de Moura
b247d4901c feat: allow commands such as variable and universe in the preamble of a mutual command block 2020-07-16 09:55:51 -07:00
Leonardo de Moura
443cdf5778 chore: update stage0 2020-07-15 16:32:23 -07:00
Leonardo de Moura
6f402a081c fix: register class for class inductive 2020-07-15 16:32:23 -07:00
Leonardo de Moura
232eefcef9 feat: add auxiliary constructions for inductive types 2020-07-15 16:32:23 -07:00
Leonardo de Moura
8fd25ec326 feat: export "constructions"
@Kha Maybe one day I will reimplement them in Lean. Note that they do
not depend on the old type_context.
2020-07-15 16:32:23 -07:00
Leonardo de Moura
8a2dd414ff feat: inductive command
cc @Kha
2020-07-15 16:32:23 -07:00
Leonardo de Moura
98d8520158 feat: infer binder annotations for constructor parameters 2020-07-15 16:32:23 -07:00