Kavorka ======= Created: 2013-09-23 Home page: Bug tracker: Maintainer: Toby Inkster (TOBYINK) 0.013 2013-10-27 [ Bug Fixes ] - Compiled dispatchers introduced in Kavorka 0.012 are essentially a form of cache. No cache invalidation was in place, leading to issues when adding extra same-named multi method candidates to parent classes after a multi method had already been invoked in a child class. Cache invalidation now works. [ Test Suite ] - Test for cache invalidation of compiled multi sub dispatchers. - Test that definition of multi subs happens at runtime, and definition can continue even after the multi sub has been invoked. 0.012 2013-10-26 [ Documentation ] - Various documentation improvements. [ Other ] - Optimization: avoid double type checks in multi subs. - Optimization: compile dispatchers for multi subs on demand. 0.011 2013-10-25 [ Documentation ] - Split up documentation into a manual with bite-sized chunks. [ Other ] - Allow multiple method names to be modified with a single method modifier. - Rename ${^NEXT} variable to $next for `around` method modifiers. - Support Perl 5.20 style :prototype(...) attribute. 0.010 2013-10-23 - Allow package variables such as $Foo::Bar in signatures. - General refactoring of variable name parsing. - Support 'my' and 'our' prefixes to variable names in signatures. 0.009 2013-10-22 [ Documentation ] - Minor fix to KavorkaX::Dancer2 example extension module. [ Packaging ] - Package my TODO list. 0.008 2013-10-17 [ Documentation ] - Include an example of extending Kavorka to cover some Dancer2 concepts. - Minor documentation fixes. [ Other ] - Make subclassing Kavorka.pm itself a little easier. 0.007 2013-10-16 - Allow named parameters to have multiple "outside" names. - Make the parentheses surrounding long named parameters optional. - Refactor Kavorka::Sub. 0.006 2013-10-15 [ Documentation ] - Document interplay between multi subs and multiple inheritance. [ Test Suite ] - Test cases for multi subs versus multiple inheritance. [ Other ] - Use invocant as starting point for searching for multi method candidates. 0.005 2013-10-13 [ Bug Fixes ] - Fix error parsing `where` clauses. [ Documentation ] - Included fibonnacci.pl example of using multi subs. [ Other ] - $parameter->constraints is now an arrayref of coderefs rather than an arrayref of strings of Perl code. - Changed error message resulting from failed value constraint. 0.004 2013-10-13 [ Documentation ] - Correct minor typo. [ Other ] - Added: Implement multi subs and multi methods. 0.003 2013-10-12 - Allow @_ and %_ to be used in signatures. - Improve sanity checking for signatures. 0.002 2013-10-11 - Added: Kavorka::Signature now provides args_min and args_max methods. - Refactor some of the code generation in Kavorka::Signature. 0.001 2013-10-09 First public release 0.000_11 2013-10-09 [ Documentation ] - Document Kavorka's exports. - Fix MooseX::KavorkaInfo SYNOPSIS. - Provide an example script using MooseX::KavorkaInfo. [ Test Suite ] - Check that it's possible to define a method called `method`. [ Other ] - Throw an exception if people use method modifier keywords to define anonymous functions. 0.000_10 2013-10-09 [ Documentation ] - Minor documentation improvements. [ Other ] - Added: MooseX::KavorkaInfo provides Kavorka->info data through Moose meta objects. - Allow Function::Parameters-style type constraint expressions. 0.000_09 2013-10-08 [ Documentation ] - Document the yadayada operator. [ Test Suite ] - Tests for lvalue subs. [ Other ] - Better support for subroutine attributes. - Change parsing technique for named subs. 0.000_08 2013-10-08 [ Documentation ] - Documented Kavorka::Signature. - Documented Kavorka::Signature::Parameter. - Documented Kavorka::Sub. - Improve 'Introspection API' section of documentation for Kavorka.pm itself. [ Test Suite ] - Add tests for introspection API. [ Other ] - Function objects doing the Kavorka::Sub role now keep track of which keyword they were declared with. - Tidy up and improve the Kavorka::Signature API. - Tidy up the Kavorka::Sub API. 0.000_07 2013-10-08 [ Documentation ] - Documented an 'rw' trait which is just a no-op. - Documented traits better. [ Test Suite ] - Add tests for various traits. [ Other ] - Implemented the 'alias' trait. - Implemented the 'locked' trait. - Implemented the 'ro' trait. - Long overdue refactoring of the code-generating internals of Kavorka::Signature::Parameter. 0.000_06 2013-10-07 [ Bug Fixes ] - Fix installing of method modifiers into Moo::Role roles. [ Test Suite ] - Add tests for method modifiers in Class::Tiny/Role::Tiny. - Add tests for method modifiers in Moo. - Add tests for method modifiers in Moose. - Add tests for method modifiers in Mouse. 0.000_05 2013-10-07 [ Bug Fixes ] - Fix off-by-one bug failing to populate a slurpy array/arrayref if it would only have one item. - Fix warning assigning odd number of items to %_ which should have been fatal instead. [ Test Suite ] - Add tests for non-inlinable type constraints. - Add tests for type coercions. 0.000_04 2013-10-06 [ Test Suite ] - Add tests for invocants. - Add tests for slurpy parameters. [ Other ] - Allow anonymous slurpy parameters. - Also populate the %_ hash for functions with a hash(ref) slurpy but zero named parameters. - Minor speed-ups. 0.000_03 2013-10-05 [ Bug Fixes ] - Error message for unknown named parameters isn't unintentionally always thrown for all named parameters except the first. [ Documentation ] - Include my TODO file. [ Test Suite ] - Add tests for named parameters. - Add tests for positional parameters. - Add tests for the `method` keyword. [ Other ] - The `default` attribute of Kavorka::Signature::Parameter is now a coderef rather than a string. 0.000_02 2013-10-04 [ Bug Fixes ] - Fix error finding the position to start slurping from in signatures that have a slurpy after zero positional parameters. - Fix syntax error compiling functions using non-inlinable type constraints in the signature. [ Documentation ] - Include benchmarking script as an example. [ Test Suite ] - Add some rudimentary tests for type constraints. 0.000_01 2013-10-03 Preview release