Commit graph

13548 commits

Author SHA1 Message Date
Leonardo de Moura
252ef7345f fix: incorrect FVarSubst for subst tactic 2020-08-03 11:35:14 -07:00
Leonardo de Moura
9746f8ab25 feat: apply variable substitution to Alts 2020-08-03 10:12:10 -07:00
Leonardo de Moura
fe0d298657 fix: mkAuxDefinition was not correctly handling delayed metavar assignments 2020-07-31 15:38:38 -07:00
Leonardo de Moura
edb25946d7 fix: instantiate metavars 2020-07-31 14:56:07 -07:00
Leonardo de Moura
0e473ba840 feat: add throwOther 2020-07-31 14:34:51 -07:00
Leonardo de Moura
55ecbe0c28 feat: add whnfAll cache 2020-07-31 11:34:51 -07:00
Leonardo de Moura
b23e59d509 feat: allow #eval to update Environment
See new `MetaHasEval`.

cc @Kha
2020-07-30 16:48:31 -07:00
Leonardo de Moura
7b82e401d5 feat: add getUnusedLevelParam 2020-07-30 14:01:25 -07:00
Leonardo de Moura
30e5b390ab feat: use MessageData at Meta.Exception.appBuilder 2020-07-30 13:28:06 -07:00
Leonardo de Moura
e22e900784 feat: change Meta.Exception.other constructor 2020-07-30 13:06:57 -07:00
Leonardo de Moura
98e9fc20d5 feat: add replaceFVar 2020-07-30 13:06:45 -07:00
Leonardo de Moura
1e1ac497da feat: add Meta.mkListLit and Meta.mkArrayLit 2020-07-29 18:01:26 -07:00
Leonardo de Moura
3ad1ffdd63 feat: add withExistingLocalDecls 2020-07-29 18:01:26 -07:00
Sebastian Ullrich
59de534270 fix: actually link Formatter.lean... 2020-07-29 18:19:56 +02:00
Sebastian Ullrich
1ceadd9f3d feat: add [formatter] attribute 2020-07-29 18:02:57 +02:00
Sebastian Ullrich
1fe192802b fix: parenthesizer 2020-07-29 15:18:00 +02:00
Sebastian Ullrich
d23625324c refactor: move Syntax.Traverser 2020-07-29 15:18:00 +02:00
Leonardo de Moura
e234b9c671 feat: elaborate #print command
Basic `#print` command for helping us to test new frontend
2020-07-28 16:24:16 -07:00
Leonardo de Moura
7ea9a8c316 feat: add #print command parser 2020-07-28 14:56:10 -07:00
Leonardo de Moura
06a767089c fix: do not use `mkAppM id #[e]``
If `e` has type `forall {A : Type}, B`, ``mkAppM `id #[e]`` fails
since it will try to synthesize the implicit argument `A : Type`.
We can avoid this issue by using
1- ``mkAppOptM `id #[none, some e]``, or
2- `mkId e`
2020-07-27 15:24:06 -07:00
Leonardo de Moura
14ab8344b6 fix: elaborate default value for parent field using parent field type 2020-07-27 15:19:06 -07:00
Leonardo de Moura
52353539c1 fix: track NameGenerator at CommandElabM
@Kha This was a super nasty bug. We did not notice it before because
most commands invoke `liftTermElabM` at most once. This is not true for
the new `structure` command. The bug manifested itself while I was
testing the new command. However, the issue was due to accidental
reuse of fresh variable Ids :)
2020-07-27 14:31:43 -07:00
Leonardo de Moura
81d2754cd2 chore: add headBeta to avoid unnecessary applications introduced by metavariable management 2020-07-24 16:05:05 -07:00
Leonardo de Moura
732dfed8b5 fix: id marker for auxiliary _default declarations
The "marker" is used to delimit parameters and the actual default
value (see new test).
2020-07-24 15:59:45 -07:00
Leonardo de Moura
857013634d fix: auxiliary _default declaration name for parent default field values set in substructures 2020-07-24 15:54:55 -07:00
Leonardo de Moura
fb5440a074 fix: new frontend does not eagerly simplify universe level expressions
Remark: even if we change the new frontend to simplify all universe
level expressions, we should not rely on this property in the kernel.
Reason: users may still create terms without this property.

Remark: this bug was preventing the kernel from accepting valid declarations.
2020-07-24 15:45:01 -07:00
Leonardo de Moura
9dc5ca66e2 chore: use headBeta on type 2020-07-24 15:34:19 -07:00
Leonardo de Moura
7f43d01703 fix: assertion violation 2020-07-24 14:54:20 -07:00
Leonardo de Moura
2442794cf1 fix: auxiliary _default declaration binder information 2020-07-24 12:12:23 -07:00
Leonardo de Moura
5175138885 fix: preserve binder information 2020-07-24 12:11:05 -07:00
Leonardo de Moura
6d3f79eb5c feat: zeta-expand auxiliary let-declarations and mark to_default as reducible 2020-07-24 11:51:50 -07:00
Leonardo de Moura
c8f448ecd3 feat: add updateBinderInfo 2020-07-24 11:50:44 -07:00
Leonardo de Moura
0bbaf161be fix: metavariable assignments were being ignored 2020-07-24 11:37:03 -07:00
Leonardo de Moura
20210928da fix: missing line breaks 2020-07-24 11:18:28 -07:00
Leonardo de Moura
6678773b10 feat: add auxiliary _default declarations 2020-07-24 11:11:38 -07:00
Leonardo de Moura
0118de09b9 chore: add mkAuxDefinition 2020-07-24 10:45:32 -07:00
Leonardo de Moura
78af3d5cba feat: add instances to parent classes 2020-07-24 10:05:19 -07:00
Leonardo de Moura
6030f56df2 chore: remove dead code 2020-07-24 09:52:35 -07:00
Leonardo de Moura
8b16c973cd feat: apply attributes 2020-07-24 08:49:08 -07:00
Leonardo de Moura
53406bbc36 feat: add auxiliary constructions 2020-07-24 08:48:22 -07:00
Leonardo de Moura
be06ce5fec chore: update TODO list 2020-07-23 16:45:51 -07:00
Leonardo de Moura
ca2e82f39b feat: add projections 2020-07-23 16:42:34 -07:00
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
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