Leonardo de Moura
addbb8dd67
fix: redirect
...
@cipher1024 I modified your fix. It would produce memory leaks if the
code executed by #eval modifies the stdout.
Here is the problem.
- Your replaces the handler with some new handler `H` and stores the
old handler `O` in a `flet`.
- Code is executed and replaces the stdout handler with `H'`. The `H`s RC is
decremented and `H'`s RC is incremeneted. So far, so good.
- Now, the destructor of your `flet` is executed, and it replaces `H'`
with `O`, but `H'` RC is not decremented.
2020-01-23 15:58:34 -08:00
Simon Hudon
123577126c
fix: #eval redirection of stdout
2020-01-23 15:44:49 -08:00
Simon Hudon
92c8773137
feat: file IO using handles
2020-01-12 08:02:48 -08:00
Leonardo de Moura
5eebda7e34
chore: add workaround for allowing new frontend to see old frontend exports
2020-01-11 13:44:22 -08:00
Sebastian Ullrich
88a924b728
feat: support (almost) proper name resolution in quotations in the old frontend
2019-12-18 20:11:45 -08:00
Sebastian Ullrich
948b0bf1f1
fix: interpreter::call_boxed: support over-application
...
MetaHasEval instances were not fully eta-expanded
2019-12-05 13:21:08 +01:00
Sebastian Ullrich
fde58d8fe4
feat: add Lean.MetaHasEval, rename HasEval to Lean.HasEval
2019-12-05 13:20:24 +01:00
Leonardo de Moura
b6dde16be5
chore: remove #synth debugging command
2019-12-03 14:51:54 -08:00
Leonardo de Moura
7dbb927144
chore: temporary hack
...
cc @kha
2019-11-11 11:30:22 -08:00
Sebastian Ullrich
9b55687597
fix: show #eval errors
2019-10-18 13:10:13 +02:00
Sebastian Ullrich
7c56754495
feat: profile #synth calls
2019-10-18 11:27:55 +02:00
Daniel Selsam
a82266c652
feat(library/init/lean/typeclass): #synth with tabled resolution
2019-10-03 17:23:53 -07:00
Leonardo de Moura
d6ea1d1a3f
feat(frontends/lean/builtin_cmds): add #synth command
2019-09-24 11:32:43 +08:00
Sebastian Ullrich
31c170117e
feat(frontends/lean/builtin_cmds,library/compiler/ir_interpreter): reimplement #eval
2019-09-19 17:52:18 +02:00
Leonardo de Moura
b221b09ad5
chore(library/init, frontends/lean): ensure old and new parser use the same command for initializing quotient module
2019-07-31 17:07:05 -07:00
Leonardo de Moura
dfa3b6d9af
chore(frontends/lean): compilation warnings
2019-06-27 08:00:48 -07:00
Leonardo de Moura
34ca44cca1
chore(frontends/lean,library): remove unnecessary #includes and dead code
2019-06-26 11:36:23 -07:00
Leonardo de Moura
714468dc60
chore(frontends/lean): remove include and omit commands
2019-06-24 15:48:11 -07:00
Leonardo de Moura
af2d6dbd45
chore(library/init): avoid local attribute
2019-06-24 15:48:11 -07:00
Leonardo de Moura
ce016688ee
chore(frontends/lean/builtin_cmds): remove local notation from old parser
2019-06-24 15:48:11 -07:00
Leonardo de Moura
00aa2a3ffe
chore(library/user_recursors): remove [recursor] attribute and environment extension
2019-06-20 11:25:53 -07:00
Leonardo de Moura
f6b9a0fe9c
chore(util/sexpr/format): preparing to switch to Lean implementation
2019-06-07 09:46:34 -07:00
Leonardo de Moura
fc0ce5b97e
chore(library/aliases, frontends/lean): remove local_ref's
...
We don't need them since we removed parameters
2019-05-27 21:28:22 -07:00
Leonardo de Moura
8c6ae127c9
chore(library/scoped_ext): remove dead code
2019-05-27 21:28:22 -07:00
Leonardo de Moura
9d9f546ad8
refactor(util/sexpr): move options and option_declarations to util
2019-05-16 14:37:24 -07:00
Leonardo de Moura
9c4da289b2
refactor(util/sexpr/options): options as a Lean object
2019-05-16 14:27:44 -07:00
Leonardo de Moura
31d4fa9f71
chore(util/sexpr/options): shrink options API
...
Motivation: move to the Lean implementation
2019-05-16 14:08:11 -07:00
Leonardo de Moura
edeae776da
chore(library/module): module::add for declarations is not needed anymore
2019-05-14 11:23:35 -07:00
Leonardo de Moura
fd487d8db7
chore(*): remove old VM
2019-05-08 15:15:44 -07:00
Leonardo de Moura
3d52298c69
chore(util/sexpr): preparing to port options to Lean
2019-03-22 13:58:16 -07:00
Leonardo de Moura
e0b0ca4830
chore(*): adapt C++ code to camelCase
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
d9208e2b8b
feat(library/vm/vm): add profiler.perf_script_file option
...
sample usage:
$ lean -Dprofiler.perf_script_file=parser1.script parser1.lean
$ gprof2dot -f perf < parser1.script > parser1.dot
2018-10-22 15:01:49 +02:00
Leonardo de Moura
5d726eb210
feat(library/compiler/compiler): switch to new compiler frontend
...
We also rename `vm_compiler` module to `emit_bytecode`.
We will eventually replace this module with the new IR emitter.
2018-10-08 17:38:17 -07:00
Leonardo de Moura
990fbe3c30
feat(library/compiler): provide options to vm_compile
2018-09-30 08:50:40 -07:00
Leonardo de Moura
fabfe32ca5
chore(*): remove unnecessary scoped_ext dependencies
2018-09-08 15:42:48 -07:00
Leonardo de Moura
49b5216604
chore(library): remove fingerprint
2018-09-07 12:54:19 -07:00
Leonardo de Moura
2315bc4653
chore(library): remove documentation environment extension
2018-09-07 12:09:41 -07:00
Leonardo de Moura
5d00936a8f
chore(*): remove some old_type_checker dependencies
2018-09-07 08:48:21 -07:00
Leonardo de Moura
130b419371
chore(frontends/lean): remove break_at_pos support
...
We have already removed auto-completion support.
This change allowed me to remove another old_type_checker dependency.
2018-09-07 08:34:19 -07:00
Leonardo de Moura
8ed89c6ac3
chore(library): remove normalize.cpp
...
The command `#reduce` was also temporarily removed.
2018-09-04 10:51:14 -07:00
Leonardo de Moura
dd03747d22
chore(kernel): univ_param vs lparam, level_param_names ==> names, and other inconsistencies
2018-09-03 13:05:42 -07:00
Sebastian Ullrich
39cdae50ee
feat(library,frontends/lean): use mdata instead of hacky cache for position information in preterms
2018-09-02 18:08:41 -07:00
Leonardo de Moura
101886ffae
feat(kernel): proper constant_info and declaration objects for quot type
2018-08-28 13:46:31 -07:00
Leonardo de Moura
7bf032d6fe
chore(frontends/lean): remove calc-expression
2018-08-27 12:20:54 -07:00
Leonardo de Moura
d27ef3d3b0
chore(frontends/lean/builtin_cmds): remove tactic framework dependency
2018-08-23 13:34:38 -07:00
Leonardo de Moura
82095cc018
refactor(kernel): split declaration into declaration and constant_info
...
This is just another step towards the design described at commit 16598391a07d4a
2018-08-22 17:53:11 -07:00
Sebastian Ullrich
6384d118a8
fix(frontends/lean/builtin_cmds,library/vm/vm): fix debug build
2018-08-22 14:32:03 -07:00
Leonardo de Moura
6473bd1294
chore(frontends/lean/builtin_cmds): fix warning
2018-08-21 10:09:39 -07:00
Sebastian Ullrich
0936d4d81e
feat(library/init/io): introduce has_eval class to customize #eval output
2018-08-21 08:43:09 -07:00
Leonardo de Moura
fd9bc9e15b
feat(frontends/lean/builtin_cmds): write/read compacted region file
2018-08-20 16:35:37 -07:00