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