Commit graph

26 commits

Author SHA1 Message Date
Leonardo de Moura
3499016895 chore: improve error message when compiling code containing axioms or noncomputable definitions
closes #496
2021-05-31 20:27:15 -07:00
Sebastian Ullrich
2f168e3364 feat: mkConstWithLevelParams 2021-03-20 08:28:18 -07:00
Leonardo de Moura
be841a7cad chore: throwError! => throwError, throwErrorAt! => throwErrorAt
@Kha I marked the corresponding methods as `protected`.
I currently can't stand `throw_error`, and I am optimistic about
server highlighting feature you are working on :)
2021-03-11 11:59:45 -08:00
Leonardo de Moura
4ffc2c93cd feat: invoke mkSizeOfInstances from structure and inductive commands 2021-01-20 17:07:02 -08:00
Leonardo de Moura
711d1754a6 chore: improve error message
closes #276
2021-01-17 07:51:08 -08:00
Leonardo de Moura
5b1b5bed0c chore: naming convention 2021-01-11 12:52:51 -08:00
Leonardo de Moura
84f78edb31 feat: store declaration ranges 2021-01-11 12:50:11 -08:00
Leonardo de Moura
fcd73e72c1 feat: add getModuleOf
cc @Kha @Vtec234
2021-01-07 15:20:29 -08:00
Leonardo de Moura
4001407f10 refactor: add MonadError class abbreviation 2020-12-14 09:15:26 -08:00
Leonardo de Moura
ebd8680de8 feat: add Deriving/Inhabited.lean 2020-12-12 18:52:24 -08:00
Leonardo de Moura
396e767f3d refactor: move Ref to Prelude and rename it to MonadRef
`MacroM` will implement `MonadRef` because
1- It will be easier to throw errors from macros
2- We will be able to `getRef` to retrieve the syntax node at macro
rules.

I renamed `Ref` to `MonadRef` to make it consistent with other classes
providing monadic methods (e.g. `MonadEnv`, `MonadState`, etc).

cc @Kha
2020-11-13 16:00:31 -08:00
Leonardo de Moura
13c2a8ff51 chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Leonardo de Moura
0ab38742db chore: cleanup 2020-10-24 06:18:01 -07:00
Leonardo de Moura
e1469d07d2 chore: move to new frontend 2020-10-20 16:36:02 -07:00
Leonardo de Moura
e54a207986 refactor: provide Options to lean_eval_const
add `ImportM` monad for `addImportedFn`

cc @Kha
2020-10-19 10:21:38 -07:00
Leonardo de Moura
44129ce461 refactor: move withoutModifyingEnv to MonadEnv 2020-09-25 06:48:51 -07:00
Leonardo de Moura
a28679358e refactor: remove MonadError 2020-09-18 09:58:13 -07:00
Leonardo de Moura
40777c203b feat: add MonadEnv helper methods 2020-09-10 14:58:22 -07:00
Leonardo de Moura
9a69ab568e feat: add mkAuxName for MonadEnv 2020-09-08 10:56:31 -07:00
Leonardo de Moura
e5c35d3a4e feat: add AddMessageDataContext 2020-08-28 18:05:42 -07:00
Leonardo de Moura
cc47705691 chore: remove import Init.* 2020-08-28 15:39:08 -07:00
Leonardo de Moura
4bc1be17f4 chore: cleanup 2020-08-28 09:18:22 -07:00
Leonardo de Moura
1103806ff4 refactor: HasMonadLift ==> MonadLift 2020-08-25 13:54:41 -07:00
Leonardo de Moura
b672f0820b chore: remove workarounds 2020-08-23 19:56:01 -07:00
Leonardo de Moura
77b9445544 feat: real ST monad
@Kha: the new `ST` (and `EST`) are escapable like the Haskell ST monad.
It makes `StateRefT` much more useful because we can now run it from pure
code.
2020-08-23 12:15:32 -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