Considering the Language:
Coolclass appears, an ancestor for all classes that are willing to convert their values in order to support the "culturally universal" methods defined in
.substr). The mutable
Coolnamespace will also contain the multi methods of last resort that are searched if normal multiple dispatch does not find a viable candidate. All built-in classes except junctions and
Cool. User-defined classes do not derive from
The verbs for leaving a
whenblock early will be
succeed(instead of the false friends
proceedresumes execution after the closing curly of the
succeedimmediately leaves the surrounding topicalizer block.
The loose prefix operator for testing truth has been renamed from
soin order to make it more distinct from
Trueand shorter than
REJECTSmethod has been removed. The negated smart match operator
Picking from baggy containers has been refined. A separate
.grabmethod will do a mutating
.pickwhich removes the selected element (once) from the container. When used without replacement,
.pickwill keep a private temporary copy of the
.grabfrom that. The
.grabpairsmethods will treat each key/replication count pair as a single item to pick (and remove).
Shortly after Parrot's 1.9.0 release, the Rakudo master branch was released as development release #24 ("Seoul"). Due to spectest changes, this release passes fewer tests than #23, but the relative percentage of passed tests has increased. The most visible changes in #24 are the switch from
Muand the removal of
ngbranch, Jonathan Worthington reimplemented
doesin terms of the meta-model, not relying on Parrot's primitives. Work continued to make more spectest pass with the
Gerd Pokorra released Parrot 1.9.0 "Blue-fronted Amazon" on December 15. Among the most notable changes are the greatly improved nqp-rx compiler and the extensible profiling runcore.
The Parrot developers held a roadmap meeting, identifying priorities for upcoming Parrot milestones. An important outcome was the change to a shorter 3-month support cycle. Parrot development for 2.0 and 2.3 will focus on the needs of Rakudo *.
context_unify3_simplebranch by Vasily Chekalkin landed and merged the
CallContext. The branch is a descendant of
context_unify3that omits some more involved changes to context creation.
pmc_freeze_cleanupbranch created by Peter Lobsinger, the Parrot developers are busily cleaning up and merging freeze/thaw serialization and the PBC bytecode format. The new code uses the
visit_infostruct as its pivot and keeps out of string internals.
François Perrad continued to improve distutils and languages infrastructure.
Bob Kuo, a.k.a. bubaflub, celebrated his new commit bit with a firework of changes, converting many further tests to PIR among other things.