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                       |
                                                         |

Reply via email to