[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