Commit graph

131 commits

Author SHA1 Message Date
Leonardo de Moura
102d2ae57d fix: avoid unnecessary reduction
```lean
forallBoundedTelescope `(Nat -> IO Nat) 1 fun xs type => ...
```
should assign `IO Nat` to `type` instead of `IO.RealWorld -> ...`
2020-09-06 06:57:52 -07:00
Leonardo de Moura
12f69a78b7 chore: change meaning of lambdaTelescope
`lambdaTelescope` now only consumes `lambda`s.
`lambdaLetTelescope` implements the old behavior.
2020-09-04 13:35:17 -07:00
Leonardo de Moura
a04fc631e0 doc: Closure.lean
@Kha I documented the new `Closure.lean` module, and tried to capture
the issues we discussed this morning.
Tomorrow, I will implement a similar procedure for "closing" all the
let-recs in a `mutual` block.
2020-09-03 18:06:30 -07:00
Leonardo de Moura
555a3f0dcf feat: new and improved mkAuxDefinition 2020-09-03 17:37:06 -07:00
Leonardo de Moura
f34fd3e6b4 refactor: move Closure.lean to Meta
We will need to improve the support for let-decls. We will use
the new `trackZeta`.
2020-09-03 11:54:08 -07:00
Leonardo de Moura
ad774ae397 feat: support for tracking which let-decls have been zeta expanded 2020-09-03 11:32:46 -07:00
Leonardo de Moura
5cc0dd75ec refactor: remove unnecessary abstraction 2020-09-03 10:16:56 -07:00
Leonardo de Moura
238c38fed9 feat: preserve nonDep flag at LocalDecl.ldecl 2020-09-03 09:08:59 -07:00
Leonardo de Moura
f2a6562eed feat: validate 'let rec' types 2020-09-02 17:02:40 -07:00
Leonardo de Moura
25384142c2 feat: add addPartialDecls
Helper method for implementing the idiom: unsafe decls + constant with `[implementedBy]`
2020-08-31 14:23:54 -07:00
Leonardo de Moura
7bd1cf718e feat: improve error location for unassigned holes in the exact tactic 2020-08-30 15:37:11 -07:00
Leonardo de Moura
3d3238c7fe fix: typo at introNCoreAux 2020-08-29 17:00:59 -07:00
Leonardo de Moura
52c86e918d fix: match 2020-08-29 16:38:50 -07:00
Leonardo de Moura
0288ed0129 feat: add change and changeHypothesis 2020-08-29 08:10:55 -07:00
Leonardo de Moura
e5c35d3a4e feat: add AddMessageDataContext 2020-08-28 18:05:42 -07:00
Leonardo de Moura
99f3296828 refactor: simplify Util/Trace.lean 2020-08-28 17:36:44 -07:00
Leonardo de Moura
39d456cb09 feat: add polymorphic trace and logTrace
This commit also makes sure we always use `withContext` when logging.
2020-08-28 16:49:24 -07:00
Leonardo de Moura
e0d39e6a7d feat: use whnf at subst 2020-08-28 15:56:28 -07:00
Leonardo de Moura
62177069fd fix: induction tactic 2020-08-28 09:18:22 -07:00
Leonardo de Moura
4bc1be17f4 chore: cleanup 2020-08-28 09:18:22 -07:00
Leonardo de Moura
7a62b290f7 fix: use getMVarsNoDelayed in tactics 2020-08-27 16:28:15 -07:00
Leonardo de Moura
7a6effa54f chore: cleanup 2020-08-27 15:47:58 -07:00
Leonardo de Moura
691e73ca3a fix: collect metavars occurring in delayed assignments 2020-08-27 14:59:54 -07:00
Leonardo de Moura
c4f38c08b2 feat: collectMVars methods 2020-08-27 11:24:03 -07:00
Leonardo de Moura
bb3c8a2105 refactor: polymorphic applyAttributes 2020-08-27 10:46:33 -07:00
Leonardo de Moura
4934a2d522 chore: remove workaround 2020-08-26 16:24:20 -07:00
Leonardo de Moura
7db6f420f5 refactor: move mkAuxDefinitionCore 2020-08-26 16:20:09 -07:00
Leonardo de Moura
813a964767 refactor: move polymorphic Meta methods back to Meta namespace 2020-08-25 14:57:58 -07:00
Leonardo de Moura
cf0149a1a7 refactor: use MonadControlT 2020-08-25 13:54:42 -07:00
Leonardo de Moura
e5b7daf9c2 refactor: make AppBuilder methods polymorphic 2020-08-24 18:23:34 -07:00
Leonardo de Moura
49f5e4db20 refactor: cleanup 2020-08-24 17:47:27 -07:00
Leonardo de Moura
eaed6ba6a3 refactor: polymorphic MetaM combinators 2020-08-24 17:03:54 -07:00
Leonardo de Moura
ac565de96c refactor: add MonadMetaM class 2020-08-24 12:17:47 -07:00
Leonardo de Moura
57a6998426 chore: minor 2020-08-24 12:17:47 -07:00
Leonardo de Moura
5b23b5302f refactor: move TransparencyMode to its own file 2020-08-24 12:17:47 -07:00
Leonardo de Moura
143760d443 refactor: polymorphic withIncRecDepth 2020-08-24 12:17:47 -07:00
Leonardo de Moura
4f14fe3b79 refactor: polymorphic withRef 2020-08-24 12:17:47 -07:00
Leonardo de Moura
6fc935f6d1 refactor: add MonadNameGenerator 2020-08-23 19:56:01 -07:00
Leonardo de Moura
50f779e858 refactor: polymorphic setTraceState, getTraceState, etc 2020-08-23 19:10:38 -07:00
Leonardo de Moura
5ffbada3df feat: add Lean.MonadEnv, Lean.MonadError, and Lean.MonadOptions
This is the first set of polymorphic methods. I will add more later,
and keep reducing code duplication.

cc @Kha
2020-08-22 16:00:43 -07:00
Leonardo de Moura
39a14aee0f refactor: move Lean.Core.Exception to Lean.Exception 2020-08-22 13:36:15 -07:00
Leonardo de Moura
5cc173788e chore: remove ECoreM 2020-08-21 17:29:13 -07:00
Leonardo de Moura
9b27d3201f chore: remove liftCoreM and liftMetaM 2020-08-21 17:21:25 -07:00
Leonardo de Moura
7eca64c251 chore: dead code 2020-08-21 17:10:12 -07:00
Leonardo de Moura
f46c5d01b1 feat: uniform Exceptions 2020-08-21 17:02:21 -07:00
Leonardo de Moura
1ac65a0aeb feat: register exceptions ids 2020-08-21 13:19:30 -07:00
Leonardo de Moura
04eab3c705 chore: remove dead code 2020-08-21 13:08:49 -07:00
Leonardo de Moura
0fc30f83f6 chore: remove dead file 2020-08-21 12:11:42 -07:00
Leonardo de Moura
ae5b4defb1 chore: simplify isExprDefEqStuck and isLevelDefEqStuck 2020-08-21 12:03:51 -07:00
Leonardo de Moura
32a55d5b9c refactor: remove special support for IO errors
They are now just regular errors.
2020-08-21 11:55:58 -07:00