Version 2.12
The multiple dispatch is back!
In addition, this release includes support for functional pattern matching, various optimizations, improvements and several bug-fixes.
What's new
- Support for multiple dispatch (ab914f8)
- Support for functional pattern matching (e756b97)
- Support for class attributes with the
has
keyword. (7de49f0) - Auto-conversion of arguments from Perl callback functions (8c7debc)
- Added the
Array.last_by{}
method (423f190) - Added the
-k
switch to keep track of potential unsafe interpretations (e31de40) - Added the
Array.dig()
andHash.dig()
methods (6ce5ad5) - Added the
...
prefix operator to represent unimplemented code (b1604b3) - Added the
Array.freq()
and theHash.map{}
methods (ae25298) - Added the
String.numbers
andString.each_number{}
methods (1f7991d) - Added the
Hash.count{}
method (59b595d) - Added the
Bool.pick
method which randomly returnstrue
orfalse
(d71f860) - Added the following
Complex
methods:root
,roots
,polars
andreals
(501b714 26f78d4)
Improvements
- Optimized the prefix and postfix
++
and--
operators (ab914f8) - The operator
!=
is slightly faster now (84483ef) - Improved the assertions to include the actual values (d584e60)
- Improved the
given/when
construct (e9f70c7) - All the meta-objects are created directly inside the parser (80bae2e)
- Better localization of the topic variable (
_
) (c723701 6c45643)
Bug-fixes
Array.rotate
will always return a new array (606c837)- Fixed the deparsing of the bare
Block
keyword (754f102) - Deparsing code to Perl (with
-Rperl
) will now includebinmode(STD*, ':utf8')
(4a9ebf1)