Henrik Böving
23e49eb519
perf: add prelude to all Lean modules
2024-02-18 14:55:17 -08:00
Leonardo de Moura
9080701126
refactor: move compileDecl, compileDecls, and addDecl to CoreM
...
The new code generator entry point is in `CoreM`.
2022-09-21 18:09:19 -07:00
Mario Carneiro
6392c5b456
chore: import reductions
2022-09-15 14:02:38 -07:00
Leonardo de Moura
ee70805c35
feat: add LCNF missing cases
2022-08-06 20:23:29 -07:00
Mario Carneiro
f6211b1a74
chore: convert doc/mod comments from /- to /--//-! ( #1354 )
2022-07-22 12:05:31 -07:00
Gabriel Ebner
a8cab84735
refactor: use computed fields for Expr
2022-07-11 14:19:41 -07:00
Gabriel Ebner
b48061ed23
feat: expose lower level compile function
2022-07-11 12:26:53 -07:00
Gabriel Ebner
5024c15a7a
feat: add getConstInfoDefn
2022-07-11 12:26:53 -07:00
Leonardo de Moura
e4b358a01e
refactor: prepare to elaborate a[i] notation using typeclasses
2022-07-09 15:24:22 -07:00
Leonardo de Moura
2ebcf29cde
chore: use a[i]! for array accesses that may panic
2022-07-02 15:12:05 -07:00
Leonardo de Moura
9102f8cb13
fix: generate sorry warning only if there are no error messages
...
see #1163
2022-06-01 06:32:05 -07:00
Leonardo de Moura
64c36fffda
feat: generate warning message if declaration has a non-synthetic sorry
...
closes #1163
2022-05-31 18:00:48 -07:00
Leonardo de Moura
1450a86c4d
feat: include types in the "ambiguous, possible interpretations" error message
2022-03-06 07:26:31 -08:00
Leonardo de Moura
dbe9bf61c5
fix: unfold auxiliary theorems created by decreasing_tactic
2022-02-23 09:02:23 -08:00
Leonardo de Moura
12e2a79170
chore: fix codebase after removing auto pure
2022-02-03 18:08:14 -08:00
Leonardo de Moura
68bd55af32
chore: fix codebase
2021-12-10 13:12:09 -08:00
Leonardo de Moura
f9a5ac1d8e
fix: missing condition at matchConstStruct
2021-11-26 08:36:25 -08:00
Sebastian Ullrich
6e45685310
fix: propositions should never be considered enum types
2021-11-04 15:27:15 -07:00
Leonardo de Moura
851ac3809e
feat: extend isInductivePredicate
2021-10-25 12:37:04 -07:00
Leonardo de Moura
e2cc056cdd
fix: assertion violation
2021-09-07 07:16:12 -07:00
Leonardo de Moura
a7c621854e
feat: optimized noConfusion for enumeration types
2021-09-06 11:52:36 -07:00
Leonardo de Moura
dc3b4a06f3
fix: missing case
2021-09-05 18:43:39 -07:00
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