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
Sebastian Ullrich
f649f24014
fix: compilation on Windows
2020-11-29 14:08:53 +01:00
Sebastian Ullrich
c0f94c902e
fix: memory leak in interpreter
2020-11-29 14:08:53 +01:00
Sebastian Ullrich
99383d97e1
feat: measure interpreter time & fix enabling interpreter traces
2020-11-28 17:36:20 +01:00
Leonardo de Moura
7b5f283507
chore: remove Expr.localE constructor
...
It was used by the old frontend
2020-11-01 09:37:48 -08:00
Leonardo de Moura
d87b8b876f
chore: add temporary workaround
...
cc @Kha
2020-10-28 16:57:46 -07:00
Leonardo de Moura
852bd66542
chore: remove dead code
2020-10-28 09:33:19 -07:00
Leonardo de Moura
227faa0aad
chore: remove dead code
2020-10-28 09:33:19 -07:00
Leonardo de Moura
01f8bcfc87
chore: remove dead code
2020-10-27 19:23:14 -07:00
Leonardo de Moura
270f6df5cb
chore: remove aux_match module
...
This is not needed anymore since the old equation compiler was removed.
2020-10-27 09:51:55 -07:00
Leonardo de Moura
bad6233389
chore: remove legacy support for modification objects
2020-10-26 08:10:51 -07:00
Leonardo de Moura
4f6538fa9f
fix: extern detection
2020-10-22 16:30:02 -07:00
Sebastian Ullrich
7964b727e5
chore: improve error message
2020-10-22 21:40:58 +02:00
Sebastian Ullrich
ecece59cc3
fix: tracing the compiler from the new frontend
2020-10-22 14:50:26 +02:00
Sebastian Ullrich
4e74e36331
feat: run initializers on import
...
Also, refuse to evaluate an `[init]` decl in the same module (since we don't know whether the initialization is
backtrackable) and always use native symbol of a `[builtinInit]` decl
2020-10-22 11:59:55 +02:00
Sebastian Ullrich
86fe95898d
fix: don't try to interpret [builtinInit] constants
2020-10-22 11:59:55 +02:00
Sebastian Ullrich
b06f8311e8
fix: avoid using native code during bootstrap
2020-10-21 11:21:56 +02:00
Sebastian Ullrich
438b3351dd
feat: add interpreter.prefer_native option
2020-10-21 11:21:56 +02:00
Leonardo de Moura
e54a207986
refactor: provide Options to lean_eval_const
...
add `ImportM` monad for `addImportedFn`
cc @Kha
2020-10-19 10:21:38 -07:00
Leonardo de Moura
863cffde34
feat: elaborated borrowed annotations
2020-10-16 15:17:58 -07:00
Leonardo de Moura
827625a377
perf: add temporary hack for performance issue
...
The compiler frontend implemented in C++ is eagerly inlining local
functions. The new test would take an absurd amount of time without
the new hack.
We remove this hack when we re-implement the compiler frontend in Lean.
2020-10-15 13:37:29 -07:00
Sebastian Ullrich
c3c037b4de
fix: fixup a few automatic fixes
2020-10-11 17:43:28 +02:00
Sebastian Ullrich
7718795178
fix: mark Lean objects in C++ globals reachable from the new frontend as persistent
...
sed -Ei 's/(g_\w+)\s*= new (name|expr|format|level|string_ref)\W.*;/\0\n mark_persistent(\1->raw());/' src/kernel/**/*.cpp src/util/**/*.cpp src/library/**/*.cpp
2020-10-11 17:43:28 +02:00
Leonardo de Moura
8383177c96
fix: nonoptimal specialization
...
@Kha Here is the fix for the problem I told you this morning.
Please, take a look at `specialize.cpp` and see whether it makes sense.
2020-09-24 12:40:28 -07:00
Sebastian Ullrich
e946aa9135
fix: interpreter thread-unsafety
2020-09-14 17:57:33 +02:00
Leonardo de Moura
217b7fc2b8
feat: improve extern arity calculation
2020-08-31 16:29:27 -07:00
Leonardo de Moura
ca1982441f
feat: add support for to be added ST
...
`ST` will be `EIO Empty`
2020-08-20 13:45:58 -07:00
Leonardo de Moura
8349c72686
feat: add support for EIO
2020-08-20 12:48:39 -07:00
Leonardo de Moura
e301d57b36
chore: fix comment
2020-08-10 08:39:22 -07:00
Leonardo de Moura
9ddac04b40
fix: support for literals when compiling noConfusion
2020-08-05 10:17:51 -07:00
Leonardo de Moura
7c76a19885
chore: fix includes
2020-05-22 14:17:25 -07:00
Leonardo de Moura
8bdca35282
chore: use #include <lean/runtime/...> for runtime .h files
2020-05-18 11:30:07 -07:00
Sebastian Ullrich
ec9f4b579d
chore: improve precision of compilation time profiling
2020-04-24 15:11:36 +02:00
Leonardo de Moura
bc57faff08
fix: ensure compiler representation invariants are preserved
2020-04-23 13:54:14 -07:00