Commit graph

1078 commits

Author SHA1 Message Date
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