Commit graph

140 commits

Author SHA1 Message Date
Sebastian Ullrich
3c9ea3b113 fix: wait on tasks before Lean program exit 2021-12-15 15:58:24 +01:00
Leonardo de Moura
68bd55af32 chore: fix codebase 2021-12-10 13:12:09 -08:00
Sebastian Ullrich
8176084dcf refactor: factor out declareBuiltin 2021-11-26 17:13:19 +01:00
Sebastian Ullrich
12306ba401 fix: -lgmp should come last 2021-11-23 13:07:05 +01:00
Sebastian Ullrich
6e9574045a feat: expose C & linker flags as API 2021-11-20 11:04:39 +01:00
Leonardo de Moura
48a40c4d0a fix: quoteString at EmitC.lean
Fix issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Incorrect.20escaping.20of.20.5Cr.20.3F/near/257061704
2021-10-11 06:16:56 -07:00
Leonardo de Moura
8ec9fda6c4 fix: improve widening operator used at the ElimDeadBranches abstract interpreter 2021-10-06 12:54:07 -07:00
Sebastian Ullrich
35ffae6f54 feat: Windows: explicitly export Lean functions only 2021-09-20 18:41:46 +02:00
Leonardo de Moura
445cc3085f refactor: avoid Name, MVarId, and FVarId confusion 2021-09-07 19:06:50 -07:00
Leonardo de Moura
53ec43ff9b refactor: lazy evaluation for >>, <*>, <*, and *>
see issue: #617
2021-09-07 17:50:34 -07:00
Leonardo de Moura
71e0ff40c2 feat: add basic support for csimp 2021-08-21 11:58:51 -07:00
Leonardo de Moura
d775dc6195 feat: add flag for controlling the execution of initialize commands when importing modules programmatically
Fixes issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Environment.20extensions.20in.20importModules
2021-08-16 17:43:28 -07:00
Leonardo de Moura
a821dcbff2 chore: enforce naming convention for theorems
see issue #402

fix: `ElabTerm.lean`
2021-08-07 12:48:38 -07:00
Sebastian Ullrich
01985f4b4c fix: actually interpret imported anonymous [init] decls
Fixes #588
2021-08-06 09:46:46 -07:00
Sebastian Ullrich
07d1735ea2 feat: borrow inference: preserve mutual tail calls
Fixes #603
2021-08-05 06:26:06 -07:00
Sebastian Ullrich
e1703bf1ae fix: main return value on 32-bit
Resolves #594
2021-08-03 11:00:10 -07:00
Leonardo de Moura
bba9353619 fix: make sure isDefEqOffset does not expose kernel nat literals
This issue is similar to a bug where `isDefEqOffset` was exposing
`Nat.add` when processing `HAdd.hAdd`.

Fixes #561
The example at issue #561 is now working, but we may have other places
where raw literals are being accidentally exposed.
2021-08-02 11:27:00 -07:00
Wojciech Nawrocki
a937fa26ba chore: fewer explicit types 2021-08-01 09:58:44 +02:00
Wojciech Nawrocki
f51b80060d feat: generic tagged Format 2021-08-01 09:58:44 +02:00
Sebastian Ullrich
2833c61a60 fix: respect preresolved names at resolveConst*
This makes sure we can properly quote e.g. `deriving` clauses and avoids
a suspicious `eraseMacroScopes` call (though not at `Elab.Syntax`, since
categories do not have to be declaration names)
2021-07-30 07:17:50 -07:00
Leonardo de Moura
a77598f7cf feat: user-defined attributes
See new test for an example.

closes #513
2021-07-26 18:24:10 -07:00
Leonardo de Moura
2018dc0959 fix: disable panic messages during initialization
This is a temporary workaround until we implement #467.
Fixes #534
2021-06-29 14:48:48 -07:00
Wojciech Nawrocki
40f07ef6a1 fix: make mangling injective again 2021-06-23 00:08:20 -07:00
Wojciech Nawrocki
05d46348c7 fix: 32-bit Unicode name mangling 2021-06-23 00:08:20 -07:00
Sebastian Ullrich
07285b85ca feat: compiler.reuse option 2021-06-17 12:51:23 -07:00
Leonardo de Moura
d8210cd682 feat: mark auxiliary C constants used to store closed terms as static
This is a workaround to minimize the number of exported symbols in the
Lean executable.
See issues #466 and PR #515
2021-06-06 18:56:31 -07:00
Leonardo de Moura
37da993032 chore: remove HashableUSize instances 2021-06-02 08:48:11 -07:00
Leonardo de Moura
43812444a7 chore: Hashable => HashableUSize 2021-06-02 07:24:26 -07:00
Leonardo de Moura
6a87bba9c0 chore: mixHash => mixUSizeHash 2021-06-02 07:05:42 -07:00
Leonardo de Moura
1279063e0d fix: fixes #248 2021-05-03 18:20:36 -07:00
Daniel Fabian
0238bf8c33 refactor: use Ordering inside of rbmap instead of lt. 2021-04-27 07:58:58 -07:00
Leonardo de Moura
3a80e87793 chore: #405 step 1 2021-04-22 20:03:48 -07:00
Leonardo de Moura
d9273786c7 chore: remove when and «unless»
They are obsolete.

cc @Kha
2021-03-20 18:52:18 -07:00
Leonardo de Moura
9a5f239513 refactor: remove Monad Option and Alternative Option
We should use `OptionM` instead.
`Option` still implements `Functor` and `OrElse`.

cc @Kha
2021-03-20 18:25:25 -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
164577d94e chore: remove parser! and tparser!
The new macros are called "leading_parser` and `trailing_parser`.

cc @Kha
2021-03-11 09:36:58 -08:00
Leonardo de Moura
51200c916e chore: make explicit user and internal panics 2021-03-04 07:37:33 -08:00
Leonardo de Moura
cf5adbd4fe chore: increase LEAN_MAX_SMALL_OBJECT_SIZE and simplify code 2021-01-30 10:58:34 -08:00
Leonardo de Moura
d71aab5dc4 fix: allow bigger ctor objects
`IR/Checker.lean` is now also checking the maximum number of fields
and scalar size
2021-01-29 18:23:38 -08:00
Leonardo de Moura
31680c1255 fix: do not evaluate code containing sorry
closes #277
2021-01-26 15:01:53 -08:00
Leonardo de Moura
72a8fb84b5 feat: add IR.DeclInfo 2021-01-26 12:41:07 -08:00
Leonardo de Moura
0672247ce8 chore: make comments VS Code friendly 2021-01-15 13:53:37 -08:00
Leonardo de Moura
b6bb31a131 feat: "compile" 'extern' axioms 2021-01-13 09:43:25 -08:00
Mateja Petrovic
00b11f267a
chore: typos 2021-01-10 22:42:54 +01:00
Leonardo de Moura
78aa3d8e72 chore: use deriving BEq 2020-12-22 18:10:20 -08:00
Leonardo de Moura
ed87480093 refactor: move to attr syntax category 2020-12-15 20:22:04 -08:00
Leonardo de Moura
f4db2f5971 fix: workaround for old frontend 2020-12-15 15:49:45 -08:00
Leonardo de Moura
7bc630a54d chore: remove old frontend leftover 2020-12-15 14:58:40 -08:00
Leonardo de Moura
4001407f10 refactor: add MonadError class abbreviation 2020-12-14 09:15:26 -08:00
Leonardo de Moura
0d9694d836 chore: user deriving BEq 2020-12-13 16:30:07 -08:00