[IPython-user] [IPython-dev] Development plans update
Ville M. Vainio
Tue Feb 5 03:32:27 CST 2008
On Feb 5, 2008 10:29 AM, Francesc Altet <firstname.lastname@example.org> 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:
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