Commit graph

5951 commits

Author SHA1 Message Date
Sebastian Ullrich
7964b727e5 chore: improve error message 2020-10-22 21:40:58 +02:00
Sebastian Ullrich
c32f843efc fix: profiling from the new frontend; use trace out for the time being 2020-10-22 16:00:03 +02:00
Sebastian Ullrich
ecece59cc3 fix: tracing the compiler from the new frontend 2020-10-22 14:50:26 +02:00
Sebastian Ullrich
b562cb8a2a fix: exception while tracing in the old 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
f36f7592e6 chore: move to new frontend 2020-10-15 16:18:42 -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
4e7ca37204 chore: use Lean version 2020-09-05 08:15:53 -07:00
Leonardo de Moura
217b7fc2b8 feat: improve extern arity calculation 2020-08-31 16:29:27 -07:00
Sebastian Ullrich
2d501ea980 chore: temporarily ignore regions leaks until we fix the server design 2020-08-31 06:50:01 -07:00
Sebastian Ullrich
c88784ef9d refactor: consistent io_result_mk* naming
/cc @leodemoura
2020-08-31 11:08:57 +02:00
Sebastian Ullrich
9f40e46043 feat: basic process API 2020-08-30 14:28:56 -07:00
Leonardo de Moura
095d022fe2 chore: increase threshold 2020-08-22 14:44:18 -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
3ad0871dd4 chore: increase class.instance_max_depth 2020-08-13 09:19:26 -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
7f43d01703 fix: assertion violation 2020-07-24 14:54:20 -07:00
Leonardo de Moura
ca2e82f39b feat: add projections 2020-07-23 16:42:34 -07:00
Leonardo de Moura
ea5eed7964 fix: do not assume the constructor name prefix is the inductive type name 2020-07-23 14:36:54 -07:00
Leonardo de Moura
8fd25ec326 feat: export "constructions"
@Kha Maybe one day I will reimplement them in Lean. Note that they do
not depend on the old type_context.
2020-07-15 16:32:23 -07:00
Leonardo de Moura
fbf2d5d300 fix: do not print as arrow if binder_info is not the default one 2020-07-15 16:32:22 -07:00
Sebastian Ullrich
c38f4fe837 feat: unsafe functions for freeing compacted regions 2020-07-10 07:42:26 -07:00
Sebastian Ullrich
ebd72d200f fix: alloc/free mismatch detected by asan 2020-07-10 07:42:26 -07:00
Leonardo de Moura
a488ec903e fix: remove old assertions 2020-07-08 12:45:53 -07:00
Leonardo de Moura
707ca63f87 chore: remove leftover MK_THREAD_LOCAL_GET
cc @Kha
2020-07-08 11:58:22 -07:00
Leonardo de Moura
cdc2dbe28d chore: use leadingNode and trailingNode in the old frontend 2020-06-10 15:05:22 -07:00
Leonardo de Moura
7a323a0c7b feat: allow parser! and tparser! to set the parser precedence 2020-06-03 18:11:13 -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
Leonardo de Moura
e596820f2e chore: remove () modifier
cc @Kha
2020-05-12 15:02:02 -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
Leonardo de Moura
e22af8d1ef feat: add FloatArray
cc @dselsam
2020-04-07 18:05:54 -07:00
Sebastian Ullrich
e971c8dd7a feat: support Float in the interpreter
/cc @leodemoura @dselsam
2020-04-05 10:50:30 +02:00
Leonardo de Moura
485034bbba fix: bug at ir.cpp 2020-04-03 17:39:28 -07:00
Leonardo de Moura
0e2ebd36ff feat: make sure Float is in WHNF 2020-04-03 17:07:29 -07:00
Leonardo de Moura
60d84660e6 feat: add support for Float in the compiler 2020-04-03 16:39:29 -07:00
Leonardo de Moura
5b5a1fceaa fix: string literal printer 2020-03-17 17:12:27 -07:00
Sebastian Ullrich
d7170df527 feat: interpreter: print stacktrace on stack overflow 2020-03-14 15:08:03 -07:00