guile-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]