OK, thanks for all the help.

Valuable lessons learned:

The conversation between *slime-repl* and CMUCL is not handled by
EXT:INTERACTIVE-EVAL; therefore, if I want to wrap it, I should do it
in the *inferior-lisp* buffer.  Similarly for
mp::startup-idle-and-top-level-loops.

Also, I had a mistaken idea of how a process was supposed to work. I
was trying to define a process that merely called a function once and
exited, imagining that the threading system would cause this function
to be called again and again.  Instead, I need to make a process that
calls my function inside an infinite loop, and then yields somehow.

My current confusion is I do not understand the tradeoffs betwen use
sleep inside the process, as in Helmut Eller's example, or whether to
use something like mp:process-yield.  In my initial experiments, sleep
seems to DWIW and process-yield doesn't, but I don't really know why.

Cheers,

rif

Reply via email to