[slime-devel] Using the REPL when a computation is running.

Lynn Quam quam at ai.sri.com
Sat Jul 10 15:17:59 UTC 2004


Dirk Gerrits wrote:

>  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'?

I do not know of any Common Lisp implementation where a SETQ to a
global (special) variable is non-atomic.  Since the Common Lisp
specification (Hyperspec) make no mention of processes, threads, or
interrupts, the Common Lisp standard makes NO GUARANTEE about any
operation being atomic.  The documentation for specific Common Lisp
implementations might discuss what operations are guaranteed to be
atomic with respect to process switching and interrupts.






More information about the slime-devel mailing list