Leonardo de Moura
352391bfcb
chore: remove mpz_get_d dependency
2021-10-26 12:40:20 -07:00
Leonardo de Moura
81729d96f9
fix: make sure Quot primitives stay in eta expanded form
...
fixes #716
2021-10-08 09:36:06 -07:00
Leonardo de Moura
305d035f17
chore: use lean_always_assert at erase_irrelevant.cpp
...
The performance impact should be insignificant, and it should help
debugging issue https://github.com/leanprover/lean4/issues/716
2021-10-07 07:44:56 -07:00
Leonardo de Moura
28d81ee456
fix: do not extract closed terms containing constants being defined
...
It may produce crashes during initialization.
2021-09-30 12:46:38 -07:00
Sebastian Ullrich
b13d3e6ca5
fix: dllexport functions not already annotated in header
2021-09-20 18:41:46 +02:00
Leonardo de Moura
3fa54e604d
fix: inductive type name is not a necessarily a prefix of the constructor name in Lean 4 anymore
2021-09-14 18:52:43 -07:00
Leonardo de Moura
96d00ff2d7
fix: fixes #664
2021-09-12 19:54:45 -07:00
Leonardo de Moura
e6f02b7b1a
fix: workaround for inlining heuristic
2021-09-11 14:05:29 -07:00
Leonardo de Moura
6b235b05d2
feat: avoid code generation after stage1 for match auxiliary functions
2021-09-11 13:41:38 -07:00
Leonardo de Moura
c8406a301d
chore: reduce src/include/lean
2021-09-07 08:24:54 -07:00
Leonardo de Moura
fc334ffbee
fix: pattern matching on UInt
2021-09-05 19:15:59 -07:00
Leonardo de Moura
152572386b
chore: fix comment
2021-08-27 10:43:51 -07:00
Leonardo de Moura
6713d8777a
fix: work duplication bug at specialize.cpp
...
closes #646
2021-08-27 10:35:27 -07:00
Leonardo de Moura
6cfdfe9942
feat: apply csimp attribute constant replacements
2021-08-21 12:22:15 -07:00
Sebastian Ullrich
5f4b1b1d44
Revert "Revert "feat: reintroduce libleanshared, link lean & leanpkg against it""
...
This reverts commit ccbc9d00db .
2021-08-20 09:42:05 -07:00
Sebastian Ullrich
ccbc9d00db
Revert "feat: reintroduce libleanshared, link lean & leanpkg against it"
2021-08-20 15:39:00 +02:00
Sebastian Ullrich
58d6f3b817
fix: search all loaded modules for symbols on Windows
2021-08-18 13:54:52 +02:00
Leonardo de Moura
14b611af96
refactor: move buffer.h and *_ref.h files to runtime
2021-08-16 15:39:38 -07:00
Sebastian Ullrich
917eb4d081
chore: collect stdlib compilation flags in new header
2021-08-12 07:51:50 -07:00
Leonardo de Moura
a863f1b8a3
fix: fixes #616
2021-08-07 07:29:54 -07:00
Sebastian Ullrich
e1703bf1ae
fix: main return value on 32-bit
...
Resolves #594
2021-08-03 11:00:10 -07:00
Sebastian Ullrich
2b451a3fed
chore: remove obsolete serializer code
2021-07-22 18:59:39 +02:00
Sebastian Ullrich
d7dd2fe3ab
fix: unbox trivial unparameterized structures as well
2021-07-06 08:19:56 -07:00
Sebastian Ullrich
2ca4d2693f
feat: trace.compiler.inline
2021-06-17 11:25:58 +02:00
Sebastian Ullrich
227a67cf8b
chore: show (first) declaration name with compilation times
2021-06-17 11:25:58 +02:00
Wojciech Nawrocki
b7cd68a91e
feat: complain more verbosely
2021-06-06 15:34:44 +02: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
Leonardo de Moura
ad45c18503
fix: fixes #448
2021-05-10 20:07:28 -07:00
Leonardo de Moura
ea91317f1a
fix: avoid nontermination due to respecialization
2021-03-15 19:12:57 -07:00
Leonardo de Moura
1ea4bdb9cd
fix: add "band-aid" for #341
...
closes #341
This is another instance of a compiler bug.
It is in the code that is still written in C/C++.
We need to infer types in the compiler, and we reused the kernel type
checker for this.
However, the compiler performs transformations that may produce type
incorrect terms.
This happens in code that makes heavy use of dependent types (like the
new test).
This is just a workaround for this particular instance of the problem.
The definitive solution will only happen when we replace
this part of the compiler with Lean code, and implement a custom
`inferType` method for the compiler.
2021-03-10 08:11:41 -08:00
Leonardo de Moura
fdbb87c1fd
fix: specialize.cpp
2021-02-28 08:29:50 -08:00
Leonardo de Moura
df9cde94e6
feat: add support for re-specialization
2021-02-27 16:44:34 -08:00
Leonardo de Moura
597635c074
fix: is_recursive_fn
2021-02-25 19:48:12 -08:00
Leonardo de Moura
d494756d00
fix: inline loop
2021-02-04 17:17:51 -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
e57a9fa78f
fix: fixes #280
...
We are going to use a cleaner fix when we port this code to Lean.
2021-01-19 18:01:52 -08:00
Leonardo de Moura
f6e5b13591
feat: "implement" sorry using panic
2021-01-13 09:43:25 -08:00
Sebastian Ullrich
79abd5fec6
chore: remove C++ messages
2021-01-12 09:51:14 -08:00
Sebastian Ullrich
a6c319a25c
chore: remove message_builder from time_task
2021-01-12 09:51:14 -08:00
Leonardo de Moura
403699f5e4
fix: elim_array_cases
2021-01-04 16:10:49 -08:00
Leonardo de Moura
f0ac477d2e
feat: add sanity checks
2021-01-01 18:31:28 -08:00
Leonardo de Moura
340cade575
fix: bug at specialize.cpp
2020-12-20 17:48:46 -08:00
Leonardo de Moura
76eb163a0f
chore: use new pretty printer at specialize trace messages
2020-12-20 16:44:55 -08:00
Leonardo de Moura
2da48e8739
feat: use new pretty printer to trace all compiler steps
2020-12-20 16:44:40 -08:00
Sebastian Ullrich
0ddc932052
fix: interpreter cache leak by simplifying it after all
2020-12-18 17:06:35 +01:00
Sebastian Ullrich
dcfef05c8e
perf: reuse interpreter caches a bit more
2020-12-17 23:18:43 +01:00
Sebastian Ullrich
22bb2fbd06
perf: reuse thread-local interpreter
2020-12-17 23:18:43 +01:00
Sebastian Ullrich
af7e44f017
fix: interpreter: make sure to retain options after switching threads
2020-12-17 23:18:43 +01:00