Wed Aug 1 12:00:27 CEST 2007


- output is always asynchronous, go directly to the console and thus
  cannot be waited on

- only values and errors can be waited on

- snot needs a restart mechanism (implemented by a relaunch script)

- save all (most) state and functionality on the scheme side
  (i.e. 'current language' and prompt etc..)

what about this:

emacs -> scheme	: a single read dispatch loop
scheme -> emacs : a single write merge loop

then tasks are just tasks: they do something, write output, maybe read
input. the important part is to get the synchronization right.

then, the next problem is pipes. the output from ordinary scheme
functions needs to be wrapped in an s-expression by a separate task.

things i need to read:
- ports and I/O, or how to implement a port
- synchronization mechanism: the concurrent ML stuff