Commit graph

690 commits

Author SHA1 Message Date
Leonardo de Moura
01d902f905 feat: add register_option command
User-defined options.
2021-08-03 14:31:04 -07:00
Leonardo de Moura
d864afae91 feat: private fields
closes #418
2021-08-02 20:20:21 -07:00
Leonardo de Moura
a77598f7cf feat: user-defined attributes
See new test for an example.

closes #513
2021-07-26 18:24:10 -07:00
Leonardo de Moura
cdd1dbbb36 feat: user-defined environment extensions
New test demonstrates how to use them.
The user-defined extensions cannot be used in the same file where they
were declared because the `initialize` commands are only executed when
we import the modules containing them.

TODO: user-defined attributes.
2021-07-26 16:18:48 -07:00
Sebastian Ullrich
a006558bb3 chore: search for llvm-config in PATH instead of LLVM_TOOLS_BINARY_DIR
...because it is not there with Nix
2021-07-09 11:00:58 +02:00
Sebastian Ullrich
5c07c188b4 feat: generate LLVM module of runtime 2021-07-09 11:00:58 +02:00
Sebastian Ullrich
b3535e4e3e fix: LLVM setup 2021-06-18 12:24:43 +02:00
Wojciech Nawrocki
e6b2818169 chore: fixes 2021-06-15 22:53:19 +02:00
Wojciech Nawrocki
12a4ef54a9 chore: document io_mark_end_initialization setup 2021-06-13 17:32:35 -07:00
Wojciech Nawrocki
bf41d40b1d fix: allow plugins to run IO initializers 2021-06-13 17:32:35 -07:00
Sebastian Ullrich
27d52a352f fix: leanpkg: actually detect import cycles 2021-06-12 10:09:55 +02:00
Sebastian Ullrich
4ed66cae3e feat: add --print-prefix, --print-libdir flags
The names were taken from `llvm-config`
2021-06-11 17:53:51 -07:00
Wojciech Nawrocki
c772dc49ef chore: use leanc for all C code 2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
7ca87e50ce chore: Emscripten getenv 2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
485f8ea2d0 feat: setup Emscripten file paths 2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
7e1faa0be1 chore: fix CMake dependencies 2021-06-06 15:34:44 +02:00
Wojciech Nawrocki
8ada0ba043 feat: initial Emscripten support 2021-06-06 15:34:44 +02:00
Sebastian Ullrich
744423f25a fix: leanpkg: make flags; extend test 2021-05-30 17:29:54 +02:00
Sebastian Ullrich
32fd82efc2 fix: link lean statically against GMP again 2021-04-14 20:37:07 +02:00
Sebastian Ullrich
ac9fee5854 test: add Lean 3-style interactive server tests
Fixes #376
2021-04-03 00:23:46 +02:00
Sebastian Ullrich
334320fd40 fix: lean --run 2021-04-03 00:23:46 +02:00
Sebastian Ullrich
6664f58a0e chore: link lean using leanc 2021-03-06 10:17:50 +01:00
Leonardo de Moura
9234145955 chore: disable test on Windows
See comment
2021-02-28 11:11:53 -08:00
Christian Pehle
066baeccc0 fix: pass (some) cmdline arguments to watchdog and workers
Capture some of the command line arguments in an argument
vector, that then gets passed to the watchdog and
subsequently the worker processes. Currently flags like
"-T" and "-j2" are not passed on to the watchdog and
worker processes.

Addresses #246
2021-01-17 15:06:11 +01:00
Sebastian Ullrich
4950440014 fix: --run flag 2021-01-17 10:00:17 +01: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
Sebastian Ullrich
b2e42a3ea6 chore: remove --json option 2021-01-12 09:51:14 -08:00
Sebastian Ullrich
9e237f8a12 feat: basic port of leanpkg 2020-12-29 14:42:48 -08:00
Wojciech Nawrocki
5426c44e49 feat: launch server from main Lean shell 2020-12-23 20:00:36 +01:00
Sebastian Ullrich
21f4257da5 feat: name resolution during parsing 2020-12-03 17:46:13 +01:00
Sebastian Ullrich
50abe8352b feat: allow specifying file name with --stdin 2020-11-24 19:16:27 +01:00
Sebastian Ullrich
b1f49637c2 fix: re-enable --profile by passing the startup options via the global ios
@leodemoura We should probably reimplement `profileit` in pure Lean when we want to get rid of `io_state`
2020-10-27 18:51:35 +01:00
Leonardo de Moura
16710581ad chore: remove dead code 2020-10-27 09:37:21 -07:00
Leonardo de Moura
bad6233389 chore: remove legacy support for modification objects 2020-10-26 08:10:51 -07:00
Leonardo de Moura
7a24fe73ca chore: remove dead code 2020-10-25 20:49:30 -07:00
Leonardo de Moura
94bc5ed7a3 chore: remove old frontend, equation compiler and tactics from build 2020-10-25 10:20:30 -07:00
Leonardo de Moura
e28b337a2c chore: remove old frontend support from lean.cpp
We also remove the option `-n` (for new frontend)
2020-10-25 10:16:52 -07:00
Leonardo de Moura
b80eab722b chore: avoid hack at --deps 2020-10-25 10:00:05 -07:00
Leonardo de Moura
24a6ee1810 chore: use new frontend by default 2020-10-25 09:12:19 -07:00
Leonardo de Moura
4f109e23c2 feat: return syntax object representing the whole file 2020-10-21 07:55:59 -07: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
ef01053d58 fix: set mainModuleName in the new frontend 2020-10-15 15:30:03 -07:00
Leonardo de Moura
4f78142ed6 fix: add temporary hack
@Kha This was my first unrecoverable bug. I had to backtrack
approx. 10 commits when I noticed this bug and I couldn't build the
system anymore.
2020-10-14 17:28:34 -07:00
Leonardo de Moura
36220b785e feat: make new frontend compatible with lean4-mode 2020-10-14 13:20:01 -07:00
Leonardo de Moura
6047d7c2b6 feat: quick and dirty #lang annotation 2020-10-14 13:20:01 -07:00
Sebastian Ullrich
67684db0c3 chore: delete more CMake cruft 2020-10-14 19:08:06 +02:00
Sebastian Ullrich
c54d51b0c9 chore: go back to previous bootstrapping scheme where the stage N+1 stdlib is created using the stage N compiler 2020-09-24 18:57:53 +02:00
Sebastian Ullrich
308b4fc421 chore: always remake leanmake tests 2020-09-24 18:57:53 +02:00