January 26, 2010

Seven Days between the Parrot and the Camel

from Monday, January 11 to Sunday, January 17 in the year 2010

Considering the Language:

There were no spec changes except for some typo fixes.

One of the fixes sparked some discussion about the correct reading of the sentence "Regexes are now first-class language, not strings".

Larry Wall refactored the Cursor class in his STD grammar implementation.

Kyle Hasselbacher contributed many spectests for RT tickets and split up the smartmatch operator tests into several files.



Considering Rakudo:

Jonathan Worthington returned to Rakudo development and immediately increased the momentum of the ng branch by implementing parametric roles, role punning, and "my Can of Beer $starobrno" declarations.

Solomon Foster made exponentiation right-associative as per STD.pm and implemented Complex.roots and Num.Complex.

John Harrison fixed List.new(1, 2, 3).



Considering Parrot:

Peter Lobsinger merged the pmc_freeze_cleanup branch to trunk.

James Keenan merged the branches remove_Parrot_ex_calc_handler_offset and tt473_remove_memcpy_aligned to trunk.

In the tt389_fix branch for fixing bug 389, chromatic was blocking a bit on related fixes to PGE/TGE. He expects the branch to land just after release 2.0. A separate branch pge_no_namespace_methods has been created to fix PGE not to look for methods in namespaces.

Vasily Chekalkin started the gc_encapsulate branch for improving the encapsulation of pluggable garbage collectors.

Peter Lobsinger added the testG make target and -G harness flag for running the tests with the gcdebug runcore. He reports 8 failures currently on Linux x86_64 using this flag. He also disabled Garbage-collection when threads are used as they don't play nice together.

Aninhumer contributed documentation about defining subs in PIR. He also suggested mentioning Duke Leto's GitHub mirror as an easy place to apply documentation changes.

"vv" and similar NCI signatures have been deprecated.

François Perrad added new meta data for Cardinal and Forth to plumage.

January 15, 2010

Seven Days between the Parrot and the Camel

from Monday, January 4 to Sunday, January 10 in the year 2010

Considering the Language:

The spec remained quiet except for some cleanup and clarification:

KeyHash containers will have a default value (such as 0 or '' or Nil or Bool::False) and delete any entry if its value goes to this default.

Declaration examples were updated to properly use constant as a type declarator syntactically.

Some fossils using the range constructor .. with the obsolete :by adverb were fixed to use the ... sequence operator.

Remnants of .true changed to .so.



Considering Rakudo:

While still waiting for the return of its main protagonists, the ng branch made some progress:

Jonathan Scott Duff implemented unspace parsing and parsing of variable shapes in declarations.

Solomon Foster added log functions with $base parameter.

Stephen Weeks added &warn.



Considering Parrot:

In the one_make branch, Will Coleda has already converted data_json, pirc, nqp, imcc, and json to use included Makefile fragments instead of recursive make invocations. Each subproject provides a Defines.mak and a Rules.mak file so all variable definitions can be gathered before the rule definitions start. The checkdepend.pl tool now has a --dump option for printing the preprocessed Makefile and checks .include and load_bytecode dependencies of PIR files in addition to C #includes.

Vasily Chekalkin changed tailcall ops to detach the RetContinuation from the context in an attempt to fix the elusive bug 1393. The issue does not seem to be fully resolved, however, as James Keenan still reports test failures.

In order to fix bug 389 (methods are wrongly entered in namespaces), chromatic started the tt389_fix branch.

The OrderedHash PMC has been deprecated.

François Perrad added a separate install-doc target for installing documentation files and examples.

January 06, 2010

Seven Days between the Parrot and the Camel

from Monday, December 28 in the year 2009 to Sunday, January 4 in the year 2010

Considering the Language:

Larry Wall updated Synopsis 1, explaining the spiral, cooperative, and convergent design process of Perl 6. He emphasized that Perl 6 will be anything that passes the official test suite owned by the community. The spec will not be frozen prematurely: Specced features should be considered conjectural until they have been proven in an implementation. The rate of convergence is, according to Larry Wall, an emergent property, and cannot be forced, but only encouraged by cooperation.

The standard Perl 6 grammar will be able to parse a well-behaved subset of Perl 5. Implementations will only be required to support this subset.



Considering Rakudo:

Apart from continued core setting work by David Romano and Moritz Lenz, the ng branch remained mostly silent. Stephen Weeks added a first draft of a new Failure class. Jonathan Scott Duff renamed break/continue to succeed/proceed.

The master branch learned :l for checking whether a file is a symbolic link (contributed by Heikki Mehtänen).



Considering Parrot:

In the one_make branch, Will Coleda is working towards a single top-level makefile that includes submakefiles instead of invoking make recursively. Some of the required dependency cleanups already propagated to the trunk.

Vasily Chekalkin created the boehm_gc branch on which he integrated the Boehm-Demers-Weiser garbage collector into Parrot as an alternative to the default mark-and-sweep collector. Results so far suggest that the Boehm GC — being a conservative GC — turns out slower than Parrot's primitive but exact GC that knows about the internal structure of Parrot objects.

Peter Lobsinger and Kevin Tew continued work in the pmc_freeze_cleanup branch that aims at cleaning up and unifying PMC freeze/thaw serialization and packfile reading/writing. They were already able to eliminate the need for EXTRA_IS_PROP_HASH. The prophash handling is now contained in a single function and plans are to move it to default.pmc.

James Keenan merged the branch for removing Parrot_ex_calc_handler_offset back to trunk.

Vasily Chekalkin applied a patch by Jimmy to use UINTVALs to store the number of Parrot registers.

François Perrad added Forth to smoke_languages.pl.