Gabriel Ebner
acb03fb704
feat(shell): emscripten build with webassembly
2017-05-01 14:11:39 -07:00
Gabriel Ebner
3810e8950d
refactor(util/lean_path,util/path): separate search path functions
2017-05-01 14:11:38 -07:00
Gabriel Ebner
d79909a1b8
refactor(util/lean_path): support leanpkg.path files
2017-05-01 14:11:38 -07:00
Gabriel Ebner
baa4c48f1f
refactor(util/lean_path): explicitly pass around search path
2017-05-01 14:11:38 -07:00
Sebastian Ullrich
e9a6c544af
refactor(frontends/lean/{elaborator,structure_cmd}): compile structure inheritance to nested fields
2017-04-24 19:35:15 +02:00
Gabriel Ebner
9424e6fa24
refactor(frontends/lean/definition_cmds): make profiling threshold configurable
2017-04-23 11:22:41 -07:00
Gabriel Ebner
e2fa363423
feat(library/system/io,shell/lean): add --run switch
2017-04-11 16:41:30 -07:00
Sebastian Ullrich
3c8e176fb0
fix(frontends/lean/interactive): fix info on new field notation
2017-03-31 09:40:49 -07:00
Gabriel Ebner
467e547160
fix(shell/CMakeLists): run all tests serially
2017-03-30 06:49:42 +02:00
Gabriel Ebner
3253a79e77
refactor(tests/lean/fail): use test suite runner
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
678044d1d6
refactor(shell/lean): use log tree node from module_info
2017-03-30 06:04:00 +02:00
Sebastian Ullrich
4a33045b84
chore(tests/lean,shell/lean): run leantests and leanruntests in parallel
2017-03-30 06:04:00 +02:00
Gabriel Ebner
318910f99b
refactor(frontends/lean/parser): store snapshots in a lazy async list
2017-03-27 14:00:53 -07:00
Gabriel Ebner
e784fad8c6
feat(shell/server,emacs): add visible lines and above checking mode
2017-03-24 09:08:17 +01:00
Leonardo de Moura
ccd9a8212a
chore(shell/lean_js): compilation warning
2017-03-23 12:56:35 -07:00
Gabriel Ebner
a6f7f31e85
refactor(shell,emacs): handle different checking modes in server
2017-03-23 09:07:09 +01:00
Gabriel Ebner
9dfd8e1018
fix(shell/server): fix field completion
2017-03-23 09:03:43 +01:00
Gabriel Ebner
5e29fe227e
fix(shell/server): set global ios in info and complete tasks
2017-03-23 09:03:43 +01:00
Gabriel Ebner
c7ca21625c
feat(util/log_tree): annotate nodes with detail levels
2017-03-23 09:03:43 +01:00
Gabriel Ebner
d26e870aa5
chore(*): fix tests
2017-03-23 09:00:59 +01:00
Gabriel Ebner
d0cc6f16b1
fix(shell/server): remove cancellation token from snapshot
2017-03-23 09:00:59 +01:00
Gabriel Ebner
52bcfb713f
fix(shell/server): also invalidate non-open files
2017-03-23 08:57:56 +01:00
Gabriel Ebner
1524979dbf
feat(emacs,shell/server): add different region-of-interest options
2017-03-23 08:57:56 +01:00
Gabriel Ebner
2799375d24
chore(*): style
2017-03-23 08:57:56 +01:00
Gabriel Ebner
bbe30e1bc5
feat(library/module): only report sorry once per declaration
2017-03-23 08:57:56 +01:00
Gabriel Ebner
3eba8d3ffc
refactor(util/task): do not propagate errors
2017-03-23 08:57:56 +01:00
Gabriel Ebner
43a7dd8e4f
fix(shell/lean): prevent deadlock
2017-03-23 08:57:56 +01:00
Gabriel Ebner
aebd18f136
feat(shell/server): only compile region of interest
2017-03-23 08:57:56 +01:00
Gabriel Ebner
5f872912e0
refactor(shell/lean): set exit status 1 iff at least one error was reported
2017-03-23 08:57:56 +01:00
Gabriel Ebner
595cbb8fe9
refactor(*): task<T>, log_tree, cancellation_token
2017-03-23 08:57:52 +01:00
Leonardo de Moura
e6c5ba29d6
fix(library/message_builder): remove unnecessary field
...
see #1473
2017-03-22 08:23:29 -07:00
Sebastian Ullrich
60a244e4f9
fix(frontends/lean,shell): fix file dependencies
2017-03-17 18:20:44 -07:00
Sebastian Ullrich
c46936d180
fix(frontends/lean/interactive): hard-code tactic pretty printing
2017-03-17 18:20:44 -07:00
Sebastian Ullrich
e3a65ee794
refactor(frontends/lean/interactive,shell/server): factor out JSON reporting code
2017-03-17 18:20:44 -07:00
Sebastian Ullrich
b3887f21a4
fix(shell/server): remove unnecessary dependencies of info_task and use intermediate envs
2017-03-08 10:40:59 -08:00
Leonardo de Moura
1da93c4d28
feat(CMakeLists, shell/lean): add -D ALPHA=ON cmake option for enabling alpha features (i.e., wip)
...
@jroesch This commit also marks --compile as an alpha feature.
2017-02-26 23:06:45 -08:00
Gabriel Ebner
61c380b534
fix(shell/lean): catch all exceptions
...
Fixes #1386 .
2017-02-21 10:54:46 -08:00
Leonardo de Moura
613a4d6e45
chore(shell/CMakeFiles): enable SMT2 tests
2017-02-21 10:53:03 -08:00
Leonardo de Moura
9863755ae1
feat(shell/lean,library/smt): fix SMT2 frontend
2017-02-21 09:28:21 -08:00
Sebastian Ullrich
69ed7b940f
refactor(init/meta/interactive): query position information dynamically
2017-02-17 15:41:58 +01:00
Leonardo de Moura
3b28cef858
fix(shell/lean): default heartbeat should be unbounded in batch mode
2017-02-15 16:46:44 -08:00
Gabriel Ebner
092f7890a8
chore(shell/server): disable cpplint
2017-02-15 13:33:02 -08:00
Gabriel Ebner
f4b276ca4b
fix(shell/server): sleep command: do not respond with "unknown command"
2017-02-15 13:33:02 -08:00
Gabriel Ebner
f72816e0f2
feat(shell/server): cancel all tasks on server exit
2017-02-15 13:33:02 -08:00
Gabriel Ebner
755c730b81
server: do not use additional_message
2017-02-10 09:06:09 +01:00
Gabriel Ebner
d8c2be1a33
feat(shell/server): limit full message updates to once every 200ms
2017-02-10 09:01:55 +01:00
Leonardo de Moura
1fb49baaaa
feat(shell/server): add sleep commands for creating repros
2017-02-08 10:12:00 -08:00
Leonardo de Moura
01eb27d4a4
feat(util): "deterministic timeout" option
...
closes #1134
see #1362
This feature is implemented using a "hearbeat" thread local counter.
We reset the counter whenever we start a new task.
The counter is incremented when:
1- An object is allocated using small_object_allocator (e.g., VM object)
2- An object is allocated using memory_pool (e.g., expr, level, rb_tree nodes, list cons-cells, etc)
3- check_system(...) invocations
We check if the threshold was reached at check_system.
The option --timeout=num can be used to set the limit (in thousands).
The default is unbounded in batch mode.
In server mode, the default is 100000. We can compile the standard library with --timeout=12000
I did not perform many experiments to check how precise this counter is.
I added a new Emacs configuration setting to change the server default.
Here is the wall clock time for different values of --timeout for the
command used on issue #1134
time ../../bin/lean -j 0 --timeout=20000 loop.lean
loop.lean:1:0: error: (deterministic) timeout detected at 'expression equality test' (potential solution: increase timeout threshold)
real 0m1.070s
user 0m1.032s
sys 0m0.036s
time ../../bin/lean -j 0 --timeout=40000 loop.lean
loop.lean:1:0: error: (deterministic) timeout detected at 'expression equality test' (potential solution: increase timeout threshold)
real 0m1.777s
user 0m1.676s
sys 0m0.044s
time ../../bin/lean -j 0 --timeout=50000 loop.lean
loop.lean:1:0: error: (deterministic) timeout detected at 'expression equality test' (potential solution: increase timeout threshold)
real 0m1.985s
user 0m1.920s
sys 0m0.056s
time ../../bin/lean -j 0 --timeout=100000 loop.lean
loop.lean:1:0: error: (deterministic) timeout detected at 'expression equality test' (potential solution: increase timeout threshold)
real 0m3.587s
user 0m3.564s
sys 0m0.020s
2017-02-07 13:56:12 -08:00
Gabriel Ebner
ea1e6bf3de
feat(shell/lean): add default memory limit in server mode
2017-02-07 11:37:07 -08:00
Gabriel Ebner
9e7ca0a969
feat(checker): add leanchecker executable
2017-01-31 09:39:31 +01:00