Perl Object Environment: Difference between revisions

Content deleted Content added
RobotG (talk | contribs)
m Bot: Changing Category:Code library per CFDS
FlyHigh (talk | contribs)
m Disambiguation, link to method
Line 23:
(...and remember Perl's Motto: "There's more than one way to do it" per [[Larry Wall|Larry]])
 
The Running Kernel operates through primordial [[finite state machine]]s constructed from another set of abstractions ruled by the '''POE::Session''' architecture. A POE::Session is almost trivially defined as a map of events to the functions, class [[Method (computer science)|methods]], and/or object methods that handle them. POE::Session objects also contain a storage space shared by all its event handlers, called a [[heap (programming)|heap]]. Any way you slice them the states are solidly identified and clearly defined.
 
A more featureful [[event handler]] is a POE::Session subclass called '''POE::NFA''' - an event-driven [[Nondeterministic]] [[finite set|Finite]] [[Automaton]] (a ''smarter'' finite state machine). This event handler moves from one strictly defined state to another as events, polls, user selections, or other external events require. This [[state machine]] acts to encapsulate a wide range of generic [[event driven]] [[thread (computer science)|thread]]s allowing much tight tracking along the [[execution path]] than the relatively informal POE::Session.