diff --git a/TODO b/TODO new file mode 100644 index 0000000..f47bab1 --- /dev/null +++ b/TODO @@ -0,0 +1,22 @@ +* Guardians: + - clean up after file ports are dead by flushing/closing the + underlying file handle. + +* Interrupts: + - pcb should have an engine-counter field that's decremented on + every procedure call. + - an engine-expired procedure must be called when the counter goes + negative. It should capture the current continuation and + reschedule the process. + - figure out what to do when a process gets interrupted while + reading from a file. + - 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. +