[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Non-system asyncs
From: |
Neil Jerram |
Subject: |
Re: Non-system asyncs |
Date: |
11 Oct 2002 22:36:55 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
>>>>> "Tom" == Tom Lord <address@hidden> writes:
Tom> Asyncs (both "system" and "non-system") are a mechanism for
Tom> scheduling asychronously invoked computation that can not be
Tom> explained by the semantics of ordinary evaluation. [...]
Thanks for the great description - it might be nice to incorporate
some of this into Marius's improved async docs.
However... it only makes sense for _system_ asyncs!
It isn't true for non-system (aka "user") asyncs that "some function
is invoked whose invocation can't be explained by the source of the
procedure being run at the time", because non-system asyncs have to be
run explicitly by calling `run-asyncs'.
In particular --
Tom> But why does the kernel get to define the set of asyncs? Why
Tom> not also have "synthetic asyncs"? It's a way to say to the
Tom> implementation: "here's a computation that you should run as
Tom> soon as you can, regardless of whatever else is going on".
-- absolutely, but in current Guile these are still "system" asyncs,
even when the computation is user-specified: see `system-async-mark'.
Tom> One might do incremental display updating that way, for
Tom> example.
Excellent example, but still an application of "system" asyncs.
So, unless I'm still missing something, your excellent description
just reinforces my point that non-system asyncs are pointless.
(Just a thought - is it possible that the semantics of non-system
asyncs might have changed since you knew them closely?)
Regards,
Neil