I'm still scrambling, rather unsuccessfully, to redo all the lost works in this week, before my plane to Estonia takes off next Tuesday.
Fortunately, lambdacamels from #perl6 decided to collaboratively write this journal in my wahnsinnig absence, so here is the first issue. Enjoy!
PIL-Run
With newly added my
variables in the weekend, the Perl 5 backend now supports
complex definitions of lazy lists:
sub fat ($x) { if ($x == Inf) { $x } else { if ( $x == 1 ) { $x } else { fat( $x-1) * $x } } } @a = (1..Inf).map:{ fat($_) } (1, 2, 6 ... Inf)
Perl6-MetaModel 2.0
We decided today, after some discussion on #perl6 that class attributes need
not be handled by the metamodel, and could be just treated as package level
our
variables. This of course simplifies the meta-model, which is always a
good thing.
The latest version of the object model diagram was posted to perl6-langauge for review. This represents the current state of the meta-model prototype, our next step is to add Roles.
Debian package updates
pugs 6.2.9 was recently uploaded to Debian unstable and will go into the archive with the next dinstall run on 14.Sept 05.
The Debian package now Build-Depends on libghc6-plugins-dev
. So now we have a
pugs with perl5 and haskell eval support. Now the only thing missing for a full
featured pugs in Debian is parrot, which is being worked on currently.
General Pugs updates
Pugs can now be called with a specific runtime engine. The Perl 5 backend is
invoked with pugs -B Perl5
, and the JavaScript backend can be invoked with
pugs -B JS
.
The $?PUGS_BACKEND
variable tells which is the current backend.
The wrapper script around pugs_bin
, pugs
, was modified so pugs -BJS
respectively pugs -BPerl5
will launch the interactive shells of
PIL2JS/PIL-Run. This also means that make test-js
works now.