Cameron Zwarich
2e627d3692
feat: move constructor layout to Lean and add a few optimizations
...
This PR moves the constructor layout code from C++ to Lean. When
writing the new compiler, we just reused the existing C++ code,
even though it was a bit inconvenient, because we wanted to
ensure that constructor layout always matched the existing
compiler.
This fixes #2589 by handling struct field types just like any
other type being lowered, and thus applying the trivial structure
optimization in the process. Originally, I wanted to port the
code to Lean without any functional changes, but I found that
it took less code to just implement it "correctly" and get this
fix as a consequence than to emulate the bugs of the existing
C++ implementation.
2025-06-30 15:39:58 +02:00
Sebastian Ullrich
5df4e48dc9
feat: importModules without loading environment extensions ( #6325 )
...
This PR ensures that environments can be loaded, repeatedly, without
executing arbitrary code
2025-04-02 08:37:11 +00:00
Sebastian Ullrich
5c61ad38be
chore: revert "chore: temporarily remove test broken by #4746 " ( #5201 )
...
This reverts commit 7aec6c9ae7 .
2024-08-29 08:47:48 +00:00
Sebastian Ullrich
7aec6c9ae7
chore: temporarily remove test broken by #4746
2024-07-16 09:43:26 +02:00
tydeu
926663505e
chore: split up & simplify importModules
2023-08-31 15:37:33 -04:00
Leonardo de Moura
db9e390b4d
chore: remove new_frontend from tests
2020-10-25 09:16:38 -07: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
a0a724ddbd
fix: tests and elabDo
2020-09-26 19:12:01 -07:00
Leonardo de Moura
32e26799ed
chore: move more tests to new frontend
2020-09-13 13:28:12 -07:00
Sebastian Ullrich
fb02fbb867
fix: freeing Environments in tests
2020-07-10 07:42:26 -07:00
Leonardo de Moura
17b6957f6c
chore: fix tests
2020-05-26 15:05:01 -07:00
Leonardo de Moura
9c0bd9dd41
chore: fix tests
2020-05-26 15:05:00 -07:00
Sebastian Ullrich
10253e89ea
chore: move bin/ and .oleans into build directory
2020-05-14 14:47:54 +02:00
Leonardo de Moura
cff6a1d117
chore: fix tests
2019-11-22 08:03:22 -08:00
Sebastian Ullrich
6df256a05e
feat: import runtime
...
A runtime-only import is not loaded into the compile-time environment, but is linked into and initialized in binaries
2019-11-21 15:52:01 +01:00
Sebastian Ullrich
3dcd4febd9
feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl
2019-11-20 16:39:53 +01:00
Leonardo de Moura
ed3c95f892
chore: fix tests
2019-10-27 18:29:51 -07:00
Leonardo de Moura
7a11f3b0a9
test: add getCtorLayout test
2019-10-11 15:11:24 -07:00