Commit graph

159 commits

Author SHA1 Message Date
Sebastian Ullrich
eb170d1f43 fix: compiled string literals containing null bytes 2022-05-17 09:24:34 -07:00
Leonardo de Moura
c65537aea5 feat: Option is a Monad again
TODO: remove `OptionM` after update stage0

see: https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Do.20we.20still.20need.20OptionM.3F/near/279761084
2022-05-04 15:27:42 -07:00
Leonardo de Moura
94abfdba6c feat: improve implementedBy errors, and relax type matching test 2022-05-02 08:48:15 -07:00
Leonardo de Moura
a57403be6e feat: add hasCSimpAttribute 2022-04-15 09:44:50 -07:00
Leonardo de Moura
de2e2447d2 chore: style 2022-04-07 17:35:05 -07:00
Sebastian Ullrich
4a9bc88a4e chore: fix USE_GMP=OFF by removing GMP linking customization 2022-03-26 16:29:52 +01:00
Leonardo de Moura
85a1a5233b chore: workaround for compiler closed term extraction issue 2022-03-01 09:01:08 -08:00
Leonardo de Moura
5948003601 feat: add support for constant folding Nat.beq, Nat.blt, and Nat.ble 2022-03-01 09:01:08 -08:00
Leonardo de Moura
4ed5c8405b feat: improve IR checker error messages 2022-02-17 09:51:05 -08:00
Leonardo de Moura
4ba1e0ad4b feat: add isNoncomputable function for querying whether a given declaration has been marked as "noncomputable" by users 2022-02-16 13:20:31 -08:00
Leonardo de Moura
cf3b8d4eb4 chore: cleanup
Make the code style more uniform.
We still have a lot of leftovers from the old frontend.
2022-01-26 09:18:17 -08:00
Sebastian Ullrich
f0f26728ed doc: more about initializers 2022-01-20 18:55:57 +01:00
Sebastian Ullrich
c59f7a55cf fix: initialize precompiled modules 2022-01-20 18:55:57 +01:00
Leonardo de Moura
9d05023325 chore: remove some [specialize] annotations 2022-01-18 09:24:06 -08:00
Leonardo de Moura
bac91b9b5b chore: remove arbitrary 2022-01-15 12:14:27 -08:00
Leonardo de Moura
b22a3a4cc4 feat: skip code generation for declarations marked with implementedBy, init, and builtinInit
This is a bit hackish. We should clean up when we rewrite the compiler
in Lean.
2022-01-14 19:20:16 -08:00
Leonardo de Moura
b9f7d1defb fix: constant folding after erasure
closes #909
2022-01-03 10:33:07 -08:00
Leonardo de Moura
0e479d1f9f chore: use double ticks 2022-01-03 10:30:05 -08:00
Sebastian Ullrich
ba83721109 chore: add comment for previous fix 2021-12-15 20:10:48 +01:00
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