Libero is a finite machine meta-language. It includes a tidy state machine description language and a very nice engine for generating real source code from it. It comes with schemas to make machines in C, REXX, x86, several other languages, and even Perl. I like it a lot.
POE is very much a library: code is built with it rather than in it. It also lives at a lower conceptual level: it's abstract state machines rather than any particular kind. This is both a blessing and a curse.
Implementation differences abound: Libero's machines are intended to encompass entire programs; POE's are components that work together by passing message events. Libero's machines are sequential, while POE's are concurrent. Libero's states don't accept parameters; POE's do. Libero doesn't generate a transition/event queue, and POE has one. The list goes on and on.
That said, I still like Libero and it's not at all incompatible with POE. If anything, POE's currently not finite machine enough for Libero, so I'm working on a POE::DFA (deterministic finite automaton) that will make it easier to finish a schema I've been tinkering with. After that I expect to be able to churn out state machines like crazy, which is why I went looking for something like Libero in the first place.
Oh, if anything, POE probably is more like iMatix's SMT (Simple Multi-Threading kernel), which is an add-on for Libero and also part of Xitami. I must admit that I haven't given SMT a really close look, so I may be totally wrong.
-- Rocco Caputo / troc@netrus.net / :)
In reply to Re: Show me the missing Big Deal of POE.
by Anonymous Monk
in thread Show me the missing Big Deal of POE.
by swiftone
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |