« January 2007 | Main | March 2007 »

2007.02.25

Weekly Perl 6 mailing list summary for 11-17 February, 2007

This week on the Perl 6 mailing lists

Remember that the European Perl Hackathon will be held next weekend, from 2-4 March, 2007 in Arnhem, the Netherlands. Registration is open until Thursday, 1 March. For more information, please look at the hackathon website.

Allison Randal and Jonathan Worthington will be coordinating the Parrot/Perl 6 portion of the hackathon.

Continue reading "Weekly Perl 6 mailing list summary for 11-17 February, 2007" »

Weekly Perl 6 mailing list summary for 4-10 February, 2007

This week on the Perl 6 mailing lists

"> Errrr ... I'm the one who needs the tutorial, not the one to write it.

"That makes you a prime person to capture the questions it needs to answer! You can't evade the Responsibility Ponies that easily."

-- chromatic, responding to James E Keenan in 'What Skills Do We Need to Finish Parrot?'

Continue reading "Weekly Perl 6 mailing list summary for 4-10 February, 2007" »

2007.02.24

Weekly Perl 6 mailing list summary for 29 January - 3 February, 2007

This week on the Perl 6 mailing lists

": This mornings up date proposed

"Now the da rn spam fi1ters are chang.ng my spelling to look like sp*m. Yeah, that's the 4icket... :)"

-- Larry Wall, in 'Enhancing array indices'

Continue reading "Weekly Perl 6 mailing list summary for 29 January - 3 February, 2007" »

ddrescue'ing

As seen on #perl6:

<audreyt> re MO hacking, will do that as soon as disk0s2: 0xe0030005 (UNDEFINED). goes away.
<audreyt> need to spend ~2hr running ddrescue

<putter> re disk, eep

<audreyt> since it's creeped into ~/.svk/ area and hence interfere with hacking
<putter> lol
<putter> (image of audreyt watching disk progressively die, but thinking "no, it hasn't hit /svk yet, so it's not important", and goes back to hacking...;)

I would like to simply remark that putter++'s imagination was... entirely correct. ;-)

2007.02.23

Weekly Perl 6 mailing list summary for 21-28 January, 2007

This week on the Perl 6 mailing lists

"Take the longest token, lie down and if the unease persists, write some code..."

-- Brad Bowman, in 'DFA/NFA context is non-local'

Continue reading "Weekly Perl 6 mailing list summary for 21-28 January, 2007" »

Various uses of embedded Perl 5.

For a long time now, Pugs embeds a Perl 5 runtime alongside its GHC runtime, providing seamless support for CPAN modules, including XS ones like DBI:

use perl5:DBI;
my $dbh = DBI.connect('dbi:SQLite:test.db');
$dbh.disconnect;

In addition to explicit use, there are several less well-known places where Pugs implicitly delegates to the Perl 5 runtime.

For example, today jisom++ asked on #perl6 about Pugs's counterpart to Perl 5's -T operator, i.e. testing if a file looks like plain text). Syntactically, filetest operators in Perl 6 are done via smartmatches against pair literals:

say "text file" if 'README'~~:T;
given 'README' { when :T { say "text file" } }

Semantically, because the heuristics for :T is rather hard to duplicate, we simply delegate to the Perl 5 runtime:

-- Pugs.Prim.FileTest:53
evalPerl5 ("sub { -" ++ testOp ++ " $_[0] }")

Another example is named Unicode charaters in double-quoted string literals:

say "\c[BLACK SMILING FACE]"; # ☻

Again, we simply delegate to charnames.pm in the Perl 5 runtime:

-- Pugs.Parser.Charnames:17
evalPerl5 ("use utf8; use charnames ':full'; ord(qq[\\N{"++name++"}])")

This is certainly a win -- the alternative way involves shipping the entire UnicodeData.txt with Pugs, which would be no fun at all.

The same principle applies to the crypt built-in function, which has this one-line implementation that simply calls the Perl 5 function with the same name:

-- Pugs.Prim:1083
op2 "crypt" = \x y -> opPerl5 "crypt" [x, y]

As moritz++ remarked on #perl6, such pass-through measures is a fine example of laziness, a virtue recognized by Perl folks and Haskell folks alike. Yay for laziness!

2007.02.21

Pugscode.org services.

During the past couple months, #perl6 has revamped several pugscode.org services:

Run.pugscode.org
andara++ has updated the popular run-perl6-in-your-browser page to the latest development version, featuring a much more responsive UI via AJAX and mod_perl, and preloaded sessions.

Dev.pugscode.org
A developer-oriented Wiki workspace based on Trac, featuring integrated source tree browser, ticket tracker, as well as devbot6, a new TracBot on #perl6 that announces workspace edits and planet six posts.

Svn.pugscode.org
Pugs's primary repository is now running on Subversion 1.4.2, providing much faster (30%+) turnaround for SVK 2.0 users with its pipelining/ra_replay support. We still have two read-only mirrors at svn.openfoundry.org and svn.perl.org, updated every minute.

Darcs.pugscode.org
Our read-only Darcs mirror is now powered by Tailor, which preserves information on committer and commit messages.  Thanks to proper checkpointing, darcs get --partial http://darcs.pugscode.org/ should be much faster from now on.

Spec.pugscode.org
In addition to the Perl 6 specification (rendered as HTML and annotated by acceptance tests), we now track the rest of pugs/docs/Perl6/ as well.  Also, specbot6 now announces changes to the Perl 6 specifications on #perl6.

Invite.pugscode.org
This is where committers on #perl6 hand out commit bits to new Pugs hackers, powered by CommitBit.  The nickname/password is shared by svn.pugscode.org and dev.pugscode.org.

All services above runs on feather.perl6.nl, the Perl 6 community development server donated and tirelessly maintained by the most excellent Juerd++.  Many kudos!

On a more personal note, I was finally discharged from the hospital today.  There will be a follow-up check in 3 days; if all goes well, that'll be the end of this rather unfortunate episode. Yay!

2007.02.20

Intermission over.

Initially, I thought it was typical burn-out. Between the intense Brazil hackathon (with fglock++, incrementally-built bootstrapping compilers; with cmarcelo++, metaobjects in Haskell for 6.28.0) and moving to a new residence, a few weeks of rest seemed natural.

As the sudden drowsiness and strange non-motivation worsened, I thought it's some kind of mental block, and focused on Jifty instead.

But when external emergencies demanded my attention, all focus was suddenly lost, replaced by massive panic and self-doubt, leading to e.g., the cancellation of my POPL trip just before boarding.

At last, nine days ago, I was hospitalized at the brink of liver failure. Months of intellectualization and analysis was proved immaterial, as there is one very simple explanation: Acute Hepatitis B. The symptoms quickly ceased, thanks to lamivudine, and I expect to be discharged tomorrow, with 95%+ chance of full (immune, non-carrier) recovery.

With the nearest $job/conference safely booked at one month away, I've put various unpleasantries behind me, started populating the new dev.pugscode.org workspace, and resumed Pugs hacking (aiming for a March release of the much-delayed 6.28.0).

So... Stay tuned for backblogs on the progress happened during my absence. Viva la vie!