Leonardo de Moura
a3218dd063
refactor: export Core.mkFreshUserName to Lean namespace
2020-09-30 11:21:46 -07:00
Leonardo de Moura
02e6f019c4
refactor: move nextMacroScope to Core.State
...
@Kha We now can create scoped user-facing names at `CoreM` and `MetaM`
methods.
2020-09-18 12:00:24 -07:00
Leonardo de Moura
a28679358e
refactor: remove MonadError
2020-09-18 09:58:13 -07:00
Leonardo de Moura
0abca5475f
refactor: move ppExpr to IO
...
@Kha I am also tracking `currNamespace` and `openDecls`.
BTW, I also tried an experiment where I added `currNamespace` and
`openDecls` to `Meta.Context`, but it looked weird. This information
is only needed in the elaborator and pretty printer.
The `PPContext` object should contain everything you need. You
can put `currNamespace` and `openDecls` in the `Delaborator.Context`.
2020-09-15 18:48:21 -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
cc47705691
chore: remove import Init.*
2020-08-28 15:39:08 -07:00
Leonardo de Moura
e000fcaeda
chore: cleanup
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
f46c5d01b1
feat: uniform Exceptions
2020-08-21 17:02:21 -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
Leonardo de Moura
97692be811
fix: throwError missing addContext
...
This commit also remove `Exception.kernel`
2020-08-21 11:24:46 -07:00
Leonardo de Moura
916b395d1b
chore: cleanup
2020-08-21 09:29:09 -07:00
Leonardo de Moura
05a0e7f6d0
refactor: build all main monads on top of ECoreM
2020-08-20 18:36:04 -07:00
Leonardo de Moura
d85a28fc55
chore: remove unnecessary instance arguments
...
`IO.Ref` operations are now in `EIO Empty`. Thus, they work for any
exception `ε`
2020-08-20 15:59:28 -07:00
Leonardo de Moura
c55376a1ba
chore: more conventional MonadIO
2020-08-20 11:13:10 -07:00
Leonardo de Moura
68a4c145f7
refactor: implement attribute hooks using CoreM
...
We were using a mix of `IO` and `Except`
2020-08-19 14:44:54 -07:00
Leonardo de Moura
40ec0b7ae4
feat: add helper functions and generalize
2020-08-19 09:53:45 -07:00
Leonardo de Moura
3478579dce
chore: fix typo
2020-08-18 18:16:36 -07:00
Leonardo de Moura
390aef535e
chore: remove workaround
2020-08-18 17:22:51 -07:00
Leonardo de Moura
e70ff5b773
refactor: simplify CoreM using StateRefT
2020-08-18 16:02:29 -07:00
Leonardo de Moura
53cbc744c7
fix: missing instance
2020-08-18 13:42:48 -07:00
Leonardo de Moura
09e588269c
feat: add MonadIO instance for CoreM
2020-08-18 13:25:49 -07:00
Leonardo de Moura
b142c608fe
feat: add CoreM
2020-08-18 09:45:16 -07:00