As the title indicated, today Emacs Perl6 mode is checked in by renormalist, our new committer. According to the commit log, it implements these features:
class
, has
, say
, returns
, multi
subs and methods, gather
, take
, try
rx//
as quote operator
m//
and s//
, similiar to the new rx//
if
/elsif
/unless
conditionals
Feedback from emacs users and elisp hackers are most welcome; documentations and contact info are in the mode file.
Another new committer, dankogai, checked in the lambda-calculus.p6 example script we mentioned yesterday. He noted that:
# Shmuck. This doesn't work yet #our $VERSION = sprintf "%d.%02d", q$Revision: 0.1 $ =~ /(\d+)/g;So I ported that line to Perl 6, which does work well:
our $VERSION = sprintf "%d.%02d", q$Revision: 0.1 $ ~~ m:P5:g/(\d+)/;I also made some minor fixes to make the program more perl6ish, such as using
[~]
to join strings, .as()
instead of sprintf()
, and dropping parens around the list in for
.
Stevan expanded MetaModel 2.0 to handle Perl6's notion that Class isa Module isa Package isa Object, moving attributes like $:name
into the Module level. He posted on p6l to discuss some of its implications, and made another nice
ASCII drawing
to illustrate this model. I smell Visiolization (and T-shirt) opportunity...
Speaking of T-shirt, I'll bring several Pugs shirts to ICFP and EuroOSCON. I don't know how fast they will go out in ICFP, though, so if you are going to either conference and would like to reserve a Pugs shirt, please let me know of your size and long/short-sleeve preference on IRC or by email.
putter hacked Code
object support into the perl5 runtime. Shortly after, fglock added higher-order function primitives such as map
, grep
and uniq
based on it.
fglock continued to populate the perl5 runtime, implementing another dozen of primitives, as well as %*ENV
that affects system()
and exec()
. It's not yet tied, though, so it can't interoperate with the native %ENV
in perl5 yet. All in due time...
dduncan finished expanded tabs for the entire source tree. iblech and I then added the space-loving settings for Vim and Emacs into
pugs::hack. He then replaced all is constant
in Locale::KeyedText with its new name, is readonly
; I did the same to other files in the source tree.
Lola Lee reported that the OO destruction test on OSX triggers a GHC GC bug, thereby failing installing from the default CPAN shell. I nullified the test for now, and look forward to re-test it once GHC 6.4.1 is released.
vkon cleaned up and found many corner cases in t/rules/rules.t, and remarked that there are still many things to do.
rafl continued integrating Pugs into Debian's build system, and added missing build-depends to the smoke system.
iblech landed multisub, .variants
and .add_variant
support to PIL2JS. He also confirmed the semantics of lexical constants (my constant $pi = 3
) with luqui, and tested them accordingly.
Based on suggestion from putter, iblech added several new 07-* sanity tests to cover the gap between the previous sanit tests and features used by Test.pm itself.
That's it for today. See you tomorrow!