At 11:29 AM 6/17/2005 +0100, Gustavo J. A. M. Carneiro wrote: > In conjunction with pseudo-threads, I think a "python main loop" >implementation is fundamental. Such main loop with permit the programmer >to register callbacks for events, such as timeouts, IO conditions, idle >tasks, etc., such as one found glib (gtk+'s underlying library). I >already pointed out one such implementation that I use for one of my >projects, and it already has unit tests to prove that it works.
I think it's important to point out that such a "main loop" needs to be defined as an interface, rather than an implementation, because there are many such "main loops" out there as far as GTK, wx, OS X, etc. that have different implementation details as to how timeouts and I/O have to be managed. Since I see from your web page that you've looked at peak.events, I would refer you to the IEventLoop interface as an example of such an interface; any Twisted reactor can be adapted to provide most of the IEventLoop features (and vice versa) which means an interface like it should be usable on a variety of platforms. Of course, I also think that before proposing an event loop facility for the stdlib, we should actually succeed in implementing next(arg), yield expressions, and throw(). I'll probably take a look at next()/throw() this weekend to see if there's anything I can contribute to the ceval.c part; I'm a bit less likely to be able to help on the compilation side of things, though. (Apart from maybe adding a POP_TOP after existing yield statements.) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com