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)

ecarr...@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

Reply via email to