[IPython-user] [IPython-dev] Development plans update

Ville M. Vainio vivainio@gmail....
Tue Feb 5 03:32:27 CST 2008


On Feb 5, 2008 10:29 AM, Francesc Altet <faltet@carabos.com> wrote:

> Now that I think about it, why not use the existing %bg magic command to
> force an asynchronous command to happen?  That way, it wouldn't be
> necessary the existence of different synchronous/asynchronous modes,
> but rather, the default would always be synchronous and the user will
> decide when he wants to throw an asynchronous job.  This also may help

%bg is a different thing, async jobs would still happen in order (they
are put on queue).

I was thinking of something like this:

- a = Foo()

This is synchronous

- &a= Foo()

This returns immediately and is executed asynchronously

- Automatic determination:

%autoasync

a = Foo()

This blocks for a few seconds, then sees that it's a "long-lasting
command" and gives the prompt again (entering asynchronous mode until
the queue is empty again)

All of this is easy to implement using a single Queue structure,
though, so we don't need to design it up-front.

> in deciding how a double TAB should complete (i.e. variables depending
> on jobs in 'background' should never be tried to be completed).

Yeah, it's easy to scan for assignment (every variable on left side of
single = is considered "incomplete" until executed, and we can
maintain a dict of incomplete variable).

-- 
Ville M. Vainio - vivainio.googlepages.com
blog=360.yahoo.com/villevainio - g[mail | talk]='vivainio'


More information about the IPython-user mailing list