Leonardo de Moura
08f1c2310b
chore: enforce naming convention
2020-08-13 14:09:00 -07:00
Leonardo de Moura
5ba9aad7a3
refactor: eliminate ref plumbing
2020-08-13 10:37:53 -07:00
Leonardo de Moura
5103040063
chore: fix parameter
2020-08-13 09:19:26 -07:00
Leonardo de Moura
d7add53229
feat: add MonadExceptCore
2020-08-13 09:19:26 -07:00
Leonardo de Moura
bd7a7ed623
refactor: reduce ref plumbing
...
TODO: reduce `ref` plumbing at `CommandElabM`
2020-08-12 20:23:02 -07:00
Leonardo de Moura
e2df2d5a7c
fix: metavariable type scope
2020-08-12 17:43:55 -07:00
Leonardo de Moura
a23b640cbc
fix: equality orientation
2020-08-12 17:15:07 -07:00
Leonardo de Moura
f40811e0c1
feat: convert patternVars into LocalDecl
2020-08-12 17:13:25 -07:00
Leonardo de Moura
2e3587872c
feat: add withSynthesize
2020-08-12 16:18:22 -07:00
Leonardo de Moura
f955552d5b
feat: elaborate .(t)
2020-08-12 14:07:43 -07:00
Leonardo de Moura
fcf4df2f5c
fix: do not use named holes for representing _ in patterns
2020-08-12 13:58:27 -07:00
Leonardo de Moura
f487b88024
feat: register auxiliary Syntax node kind
2020-08-12 10:45:07 -07:00
Leonardo de Moura
57533726f6
feat: add mkFreshExprMVarWithId
2020-08-12 10:35:38 -07:00
Leonardo de Moura
d07796293b
feat: elaborate patterns
...
This is just the first step. I still need to convert them into `DepElim.Pattern`.
2020-08-12 10:22:38 -07:00
Leonardo de Moura
f1c7665a93
feat: validate patterns, and collect pattern variables
2020-08-11 18:19:29 -07:00
Leonardo de Moura
60ebecba15
chore: throw error if namedPattern notation is used in a non pattern
2020-08-11 18:17:57 -07:00
Leonardo de Moura
167b56c3a7
fix: error message
2020-08-11 13:36:42 -07:00
Leonardo de Moura
c66cb01a4b
feat: listLit and arrayLit as macros
...
Motivation: avoid special support at `Match.lean`.
2020-08-11 13:03:36 -07:00
Leonardo de Moura
d0e07d5608
feat: expand h:t discriminants in match-expressions
2020-08-11 10:43:47 -07:00
Leonardo de Moura
193f8236df
feat: elaborate match discriminants
2020-08-11 09:21:54 -07:00
Leonardo de Moura
f646622bfc
feat: add MatchAltView
2020-08-10 17:30:33 -07:00
Leonardo de Moura
dd5c21bf6f
feat: eagerly expand macros occurring in patterns
2020-08-10 17:15:26 -07:00
Leonardo de Moura
61f8b4ef07
feat: add support for maximum recursion depth checks at MacroM
2020-08-10 16:50:12 -07:00
Leonardo de Moura
fe5927927a
feat: elaborate match type
2020-08-10 13:53:08 -07:00
Leonardo de Moura
f974521783
fix: missing node
2020-08-10 11:15:44 -07:00
Leonardo de Moura
7342cab0e5
feat: add (ref : Syntax) to Meta.Exception.tactic
...
cc @Kha
2020-08-06 10:14:32 -07:00
Leonardo de Moura
1eff4be172
feat: use Meta.Example.other ref : Syntax if it contains position information
2020-08-06 10:06:24 -07:00
Leonardo de Moura
f934a86646
feat: add (ref : Syntax) to Meta.Exception.other
...
@Kha The Syntax is here just to provide possition information. The
goal is to improve error message location information in code such as `DepElim`.
2020-08-06 09:40:16 -07:00
Sebastian Ullrich
3f6de2af06
refactor: simplify processing of antiquotations in pretty-printer
2020-08-06 09:27:12 -07:00
Sebastian Ullrich
c43e6624f9
fix: Lean.Elab.Command with new parser
2020-08-06 09:27:12 -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
b23e59d509
feat: allow #eval to update Environment
...
See new `MetaHasEval`.
cc @Kha
2020-07-30 16:48:31 -07: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
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
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
2442794cf1
fix: auxiliary _default declaration binder information
2020-07-24 12:12:23 -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
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
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
07cb21c609
fix: subobject fields
2020-07-23 13:38:56 -07:00