[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: job control for the es shell
I can't remember specifically what I said about continuations and job
control, but my current understanding of that statement would be:
(1) Correct job control in es requires some notion of (internal-to-es)
thread (or process or ...) that can be stopped and started.
(2) The right way to implement threads in es is using first class
continuations (e.g., call/cc).
I still believe (1), but I no longer believe (2).
What do I mean by ``correct''? Basically, that es commands can be
seemlessly interrupted and restarted regardless of whether they're
running within the shell or in forked processes. I only tried your
patch very quickly, but it doesn't appear to satisfy that criteria.
(It's impressive nonetheless.)
For examples, try interrupting (& restarting) things like
while true { sleep 1 }
while true { echo t }
x = `{ date; sleep 100; date }
--p