Considering the Language:
Role composition rules changed so the collision of
has
attributes with the same name will always be considered a conflict, even if their types happen to match.The
p{...}
quoting construct for filenames has been removed in favour of the :p
modifier, so paths will be written as q:p{...}
, or qp{...}
in short.Bare
say
and print
were reduced from errors to warnings. Upon a question about useful defaults, Larry Wall explained that Perl 6 will free the programmer from memorizing arbitrary lists of special cases. He also pointed out the concise forms .say
and .print
for printing the topic.♢
Considering Rakudo:
On the Rakudo
ng
branch, Jonathan Worthington continued work on the meta-object protocol, filling in more parts of role composition. Attributes are now properly composed into packages by calling the compose
method on the meta-attribute. For initialized attributes, a build closure is passed along. The RoleHOW
meta-class moved towards independence from Parrot's Role
PMC.Notably, the
does
and but
operators for mixing in roles are now written entirely in Perl 6, and the role appliers are NQP classes with only a little Parrot-specific code.Jonathan Worthington also added a first sketch of an implementation of enumeration types.
Solomon Foster, Moritz Lenz, and Stephen Weeks did more work on the core setting. As of this writing, the
ng
branch passes over 2400 spectests.In the nqp-rx repository, Patrick Michaud started to rewrite the
HLL::Compiler
class in NQP.♢
Considering Parrot:
Christoph Otto refactored the profiling runcore to allow multiple output formats. Currently it supports the human-readable
pprof
format and the silent none
format (for profiling the runcore itself). Plans are to add binary output and output in callgrind format. The updated runcore also supports recording annotations in pprof files. Environment variables are used to control these features.Working on the last part of his Hague grant, Patrick Michaud committed a new draft for PDD 31 on HLL compilers and interoperability.
The running of
:immediate
, non-:anon
subs is now delayed when writing PBC bytecode, so the subs can run during reading PBC, which should make .const
more usable for HLLs (as :immediate
subs may set up things for creating the constant data from the bytecode).Vasily Chekalkin created the context_unify3 branch in the third attempt to merge the
CallSignature
and Context
PMC types. The unified PMC will be known as CallContext
.Bob Rogers posted a proof-of-concept patch for unwinding nested runloops upon the invocation of an exception handler.
Peter Lobsinger is looking into merging the PBC bytecode format and the freeze/thaw serialization format for PMCs.
The December 12 pre-release hackathon focused on removing uses of the
strstart
field outside the string internals. However, many occurrences cannot be replaced easily, and Andy Dougherty and Patrick Michaud warned about breaking code for cases of substrings that may not be tested.A lot of cage cleaning happened this week: JimmyZ contributed many patches to make PMC code use
GET_ATTR
and SET_ATTR
macros. Bubaflub converted further tests to PIR. François Perrad improved C code indentation in areas not yet tested by codingstd.t
. Michael H. Hind fixed g++ build failures.Geoffrey Broadwell added Mercurial support to plumage and documented how to add new build tools to the system.
♢
No comments:
Post a Comment