Leonardo de Moura
b722885137
feat(library/init/io): add unsafe_io and timeit
2019-02-13 16:59:24 -08:00
Leonardo de Moura
e10240fe5c
refactor(runtime/io): use extern "C" for io primitives
2019-02-13 11:21:29 -08:00
Leonardo de Moura
73d590f1fb
feat(library/init/io): use extern attribute
2019-02-11 16:56:54 -08:00
Leonardo de Moura
dfdf42ce34
chore(library/init/io): minimize io interface
...
We are moving to new compiler stack.
2018-11-14 13:59:25 -08:00
Leonardo de Moura
c599d78639
feat(library/init/io): implement io.iterate in Lean
...
cc @kha
2018-11-14 13:43:02 -08:00
Leonardo de Moura
8d47d2a026
chore(library/vm,library/init/meta): remove vm_format, and some obsolete meta objects
2018-10-23 11:32:56 -07:00
Leonardo de Moura
4cb6b1f9d5
chore(library/tactic): reduce dependencies
2018-10-23 11:32:56 -07:00
Sebastian Ullrich
0563c60b1a
feat(library/init/lean/elaborator): add coroutine, use it to implement section/namespace elaborators (they don't do anything yet except for checking the end name)
2018-10-02 14:55:28 -07:00
Sebastian Ullrich
6f68a0d1eb
feat(library/init/lean/parser/basic): check for conflicting tokens
2018-09-20 09:40:21 -07:00
Leonardo de Moura
5ff9e24b17
feat(library/init/control): do not use unnecessary structures
...
It confuses the compiler.
2018-09-20 08:39:25 -07:00
Leonardo de Moura
afd54039ab
chore(library): remove >>, we should use *>
2018-09-12 17:31:21 -07:00
Leonardo de Moura
9e305a5f26
chore(library): remove return, we should use pure
2018-09-12 16:51:11 -07:00
Leonardo de Moura
da2de33245
fix(library/init/io): move coroutine_io implementation to io
2018-09-06 18:09:32 -07:00
Leonardo de Moura
c7cf75508d
feat(init/control/coroutine): avoid mutual inductive
...
Reason: we want to delete the inductive compiler.
2018-08-23 10:49:40 -07:00
Sebastian Ullrich
666c431982
chore(library/init/io): hide/remove io.put_str/put_str_ln
2018-08-22 17:48:02 -07:00
Leonardo de Moura
4314617a85
chore(library/init/io): remove dead code
2018-08-21 09:00:14 -07:00
Sebastian Ullrich
6dbe54a01b
chore(library/init/io): rename io.print_ln to io.println
2018-08-21 08:43:10 -07:00
Sebastian Ullrich
3516c37ec9
feat(library/init/control/coroutine_io): coroutine_io
2018-08-21 08:43:10 -07:00
Sebastian Ullrich
a42fb533f4
fix(library/vm/vm_io): move all primitives into io
...
While `cmdline_args` has no side-effects, it is certainly not a pure function.
The `stdin` etc. should have been safe since all accessors are in `io`, but
better be safe than sorry.
2018-08-21 08:43:10 -07:00
Sebastian Ullrich
fb2ee24ba6
refactor(library/init/io): replace ioe with eio
...
Old MacDonald had a monad stack
eio = except_t io.error io
And in his stack he had I/O, io = state io.real_world
With a monad here and a monad there
Here a monad there a monad
Everywhere a monad!
2018-08-21 08:43:10 -07:00
Sebastian Ullrich
6b55e24ab7
feat(library/init/{io,control/except}): use lift_t to automatically upcast io and other errors
2018-08-21 08:43:09 -07:00
Sebastian Ullrich
9db688f4c2
fix(library/{vm/vm_io,init/io}): fix bugs and tests
2018-08-21 08:43:09 -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
Sebastian Ullrich
37e5f03351
refactor(library/system/io): move into init
2018-08-21 08:43:09 -07:00