ikarus/TODO

33 lines
1.2 KiB
Plaintext

* Fix pretty-print to handle shared/cyclic data.
* Fix pretty-print to print records properly.
CHECK * Recognize calls to call-with-values where the second argument is a
case-lambda and handle them sensibly.
* Guardians:
CHECK - Implement guardians.
CHECK - clean up after file ports are dead by flushing/closing the
underlying file handle.
- Flush and close output-port on exit.
* Interrupts:
CHECK - pcb should have an engine-counter field that's decremented on
every procedure call.
CHECK - a do-event procedure must be called when the counter goes
negative. It should capture the current continuation and
reschedule the process.
CHECK - figure out what to do when a process gets interrupted while
reading from a file.
CHECK - Implement [CTRL-C] keyboard interruption with the ability to
resume the computation, reset to the repl, or terminate the
program (at least for now).
* FFI:
- provide a general mechanism for calling foreign procedures
without having to extend the VM.
(foreign-call void: FOO int32: x char*: y ptr: z)
- may dump the bignum stuff in the VM and move it to scheme.
CHECK * Read-invariant gensym.