Dearer POE (pt. 2)

Evan Carroll <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
Dear POE,

I write this letter to announce my great triumphs in my quest to slay
your dragons and send you to everlasting salvation in Moose-landville.
You no longer have many things you'll probably miss -- do not be
shocked for it was necessary:

- There are no more resources that pollute the POE::Kernel namespace.
- Your warnings, and constants have been factored out into Helpers
- Your kernel now bootstraps as a *hash*, and $poe_kernel is now an
array. (both blessed into POE::Kernel)
- Your Resources are losing their complexity, there are fewer things
that write back to $poe_kernel explicitly
- You pass all of the unit tests
- Now debug takes environmental arguments, TRACE_FILENAME='error' perl
./poe_app.pl (old way still works too)

ecarroll@x60s:~/code/poe$ prove -l ./t/10_units/03_base/*
./t/10_units/03_base/01_poe.t ................. ok
./t/10_units/03_base/03_component.t ........... ok
./t/10_units/03_base/04_driver.t .............. ok
./t/10_units/03_base/05_filter.t .............. ok
./t/10_units/03_base/06_loop.t ................ ok
./t/10_units/03_base/07_queue.t ............... ok
./t/10_units/03_base/08_resource.t ............ ok
./t/10_units/03_base/09_resources.t ........... ok
./t/10_units/03_base/10_wheel.t ............... ok
./t/10_units/03_base/11_assert_usage.t ........ ok
./t/10_units/03_base/12_assert_retval.t ....... ok
./t/10_units/03_base/13_assert_data.t ......... ok
./t/10_units/03_base/14_kernel.t .............. ok
./t/10_units/03_base/15_kernel_internal.t ..... ok
./t/10_units/03_base/16_explicit_loop.t ....... ok
./t/10_units/03_base/17_explicit_loop_fail.t .. ok
./t/10_units/03_base/18_nfa_usage.t ........... ok
All tests successful.

There is still much more to do
- Remove all things that reference (constants and functions)
POE::Kernel from Loops and References
- Move the Kernel to POE::KernelX, make the kernel a thin layer with
AUTOLOAD that swaps out $self for the true POE::KernelX object.
- Make aliases and SIDs FieldHashes
- Begin the assault on Loops
- Remove the need for core events to poll Time::HiRest just to sit in
the front of queue.
- Remove all but one BEGIN {} blocks
- Remove all but the necessary parts of sub import

More updates will follow as more evil dies. Benchmarks will start to
come after I separate POE::KernelX / POE::Kernel.

--
Evan Carroll
System Lord of the Internets
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.