[slime-devel] Using the REPL when a computation is running.
dirk at dirkgerrits.com
Sat Jul 10 13:34:19 UTC 2004
Lynn Quam <quam at ai.sri.com> writes:
> I would like to point out some dangers associated with both multiple
> threads and interrupting the current computation, performing the
> requested action, and then resuming the computation again.
> The problem is that the "background process" muts be written to be
> thread-safe. This means that any globally accessable "objects" that
> might be undergoing modification by the "background process" must be
> locked in some manner and the computation performed by the REPL
> process must respect those locks.
Thanks for the warning.
BTW, do Lisp implementations make any guarantees about which actions are
atomic? For example, suppose *some-var* is bound to 10 and I type (setq
*some-var* 42) in the REPL, will the running process see just the values
10 and 42, or might it inspect *some-var* when the assignment is still
going on and see 'garbage'?
More information about the slime-devel