Perl Object Environment: Difference between revisions

Content deleted Content added
718 Bot (talk | contribs)
m Replacing Programming-republic-of-perl.gif with PNG version
FairuseBot (talk | contribs)
Removing image with inadequate rationale
Line 1:
: ''For the Mach variant, see [[Mach kernel]]''
 
<!-- Image with inadequate rationale removed: [[Image:Programming-republic-of-perl.png|right|framed|Programming Republic of Perl logo|{{deletable image-caption|1=Sunday, 30 March 2008}}]] -->
 
The '''Perl Object Environment''' or '''POE''' is a [[Library (computer science)|library]] of Perl modules written in the [[Perl]] [[programming language]] by [[Rocco Caputo]] et alia.
Line 12:
 
===The event layer===
The informal architecture consists of a set of layers with a [[Kernel (computer_sciencecomputer science)|kernel]] on the bottom. This tiny kernel represents the events layer which operates as the main loop of each running POE instance. The first call is to the "event dispatcher" - '''POE::Kernel'''.
 
The POE::Kernel namespace contains a suite of functions which are plugged-in to the kernel itself. These loop abstractions are designed after POE's standardized event loop bridge interface - '''POE::Loop'''. These can be mixed and matched as needed to provide runtime services and a lean facility for [[interprocess communication]]. The basic functions are '''POE::Loop::Event''', '''POE::Loop::Poll''' and '''POE::Loop::Select'''. Also available are '''POE::Loop::Tk''' and '''POE::Loop::Gtk''' that offer hooks into other loop bridges in the external environment. If that isn't enough, the POE::Loop kernel abstraction provides reusable signal callbacks, time or alarm callbacks, and filehandle activity callbacks as well as administrative functions such as initializing, executing, and finalizing event loops.