On Tue, Sep 16, 2003 at 09:23:46AM -0400, Rocco Caputo <[EMAIL PROTECTED]> wrote: > Have you seen POE? It includes bridges to its own select() and IO::Poll > event loops, Event, Gtk, Tk, and Tk with I/O polling for ActivePerl.
Hmm, since POE is just like any other event library (which I am trying to work around), I think I haven't been very clear. POE is only slightly different in that it let's you select an underlying event library, as such it's less difficult to integrate with other modules. However, the goal of my module is to abstract these event models away, so that users can use events without being forced to use a particular even model (like POE). > You can tell I'm very excited about all this. :) Yupp :) Unfortunately, it's part of the problem I try to solve (or at least make easier to bear). POE, like other event models, force a philosophy and main program structure on you that you might not want to use. To phrase it differently: Event, POE etc. all force the whole _program_ to use it. That makes it difficult to write modules that just want some level of event support without forcing every module user to use it. For example, Net::FCP (which needs events) just works (erhm hopefully :), wether your main program uses Event, Glib etc.. or no event library at all... without changes to the module or program structure. And the module user does not even need to know about that, she can just use the functions, even from other libraries, even in a blocking way (which only makes sense with Coro, but does work in all cases). And when my main program decides to use Coro, or Event or POE, the module adapts to it. With POE, the main program needs to adapt and use it's event loop. It might be useful to provide an interface to POE, so that programs using my (proposed) module work fine with POE, too, although, since it seems I support more event libraries than POE already, there is probably no need for it, since it should work out of the box (iff the main program uses POE). -- -----==- | ----==-- _ | ---==---(_)__ __ ____ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / [EMAIL PROTECTED] |e| -=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+ The choice of a GNU generation | |