#perl6 highlights/summary for April 25th - May 1st 2013
A highlights/summary of recent activity and discussion on the #perl6 IRC channel on Freenode.net:
- nwc10: "jnthn: WTF did you just do? nqp head is 28% faster than 5 hours ago"
- nwc10 noted a 10-fold speed up for some NQP code: "nqp-jvm: 1.4725e+02 ... nqp-parrot: 2.0425e+03".
- pmichaud landed Rakudo commits to "Speed up repeated shifts of large lists/arrays by 70%+" noting that "More improvements are coming; this patch just gets a couple of the current big bottlenecks out of the way".
More in the full post...
I created this blog entry because the ilbot #perl6 logging service most p6 folk use, which is the one I've been using for the last 200 or so daily #perl6 summaries, went offline. But it's now back up, so I'm going to go back to using ilbot's built in summary feature. Once I've had a chance to catch up over the next few days, you should be able to see the usual daily summaries (although I'm currently seeing missing data between April 26th and April 30th).
- jnthn (who has been landing stacks of high quality commits almost daily for years) landed a bunch more towards getting Rakudo running on the JVM. (Rakudo is the most complete Perl 6 compiler. The port to the JVM is intended to give the Rakudo team some important capabilities and options it does not currently have and urgently needs.).
- cognominal asked questions related to his work on permutation routines in core using gather/take (a novel construct with coroutine-like functionality).
- timotimo asked "what's a good way to let a user supply a filter to a method that will be passed to .grep?" which led to moritz's nice solution: "say grep !*.is-prime, 1..20".
- _sri posted a link noting that "the rust folks are redesigning their I/O API, maybe of interest to some here" which led to discussion of async/blocking/threading issues and of Parrot
- masak posted a blog about the t2 tasks of the 2012 p6 coding competition.
- labster continued to work on adding File::Spec functionality to Rakudo's core setting.
- BenGoldberg discussed/proposed changes to Rakudo's is-prime.
- FROGGS landed more commits for his "use v5;" slang module for perl 5 code.
- BenGoldberg asked "Just for fun, how would I make a lazy infinite list [for a Thue-Morse sequence]?" leading to japhb's solution "my @a = 0, -> *@b {map 1-*, @b} ... *".
- labster announced "Finally! Just got File::Spec Unix, Win32, and Cygwin working in core."
- FROGGS continued to land commits for his v5 slang module.
- supernovus landed commits to make DateTime timezone handling sane.
- gtodd asked "is there a synopsis or set of discussions on current/future tools for perl6 for cross platform packaging/deployment?" with subsequent discussion.
- jnthn landed another blizzard of Rakudo-NQP-JVM commits.
- donaldh returned to #perl6 after a few weeks away; jnthn told him "I got your asm stuff merged and we're using invokedynamic in a couple of places by now" (and later this day said "OK, that's the majority of the first round of invokedynamic work done").
- nwc10: "jnthn: WTF did you just do? nqp head is 28% faster than 5 hours ago"
- lizmat continued her heroic quest to methodically read through the entire body of spec docs, asking questions, bringing oddities to light, and updating the specs.
- sorear explained why it might make sense for KeyBag keys to be UInts.
- after a while away from #perl6, adu returned, asked "who was working on the java port of NQP?" (answer, jnthn) and then "how do I get in on that?". :)
- nwc10 noted a 10-fold speed up for some NQP code: "nqp-jvm: 1.4725e+02 ... nqp-parrot: 2.0425e+03".
- timotimo got interested in p6's val() which is loosely akin to python's literal_eval.
- jnthn continued landing Rakudo-NQP-JVM commits noting "Recent code generation improvements means a full NQP is now around 4.1 MB worth of .class files rather than 5.4 MB".
- FROGGS landed more v5 slang module commits.
- adu began working on problems he found by following jnthn's guiding comment: ""make test" will show up some failures".
- FROGGS continued development of his v5 slang module including commits and discussion of fundamentals with jnthn.
- labster landed his IO changes.
- grondilu landed p6 example commits.
- discussion of a problem that masak summarizes as "in some sense it feels like the burden of proof rests on the one claiming that .WHAT is a macro, to show an example implementation of it. because I don't see it" and about which jnthn says ".WHAT [and .HOW are] handled inside of the compiler. Some may say that makes them macros. I don't care if you call them magical unicorn sugar puffs.".
- lizmat continued to go through the specs, discussing issues, committing changes.
- discussion followed cognominal's question "can someone tell me the difference between LALR and operator precedence parsing?" with masak noting "Wikipedia's summary seems to be "LALR is hard to understand, recursive descent is easier"."
- pmichaud landed Rakudo commits to "Speed up repeated shifts of large lists/arrays by 70%+" noting that "More improvements are coming; this patch just gets a couple of the current big bottlenecks out of the way".
- labster noted "I have IO::Path working on three platforms (unix/posix, win32, and cygwin). It required that most of File::Spec be integrated, to work as a backend." and asked "is the low-level path stuff in IO::Spec something we want to go ahead and add to the spec? Or should the extraneous stuff (like tmpdir) be refactored out of the core?" with the consensus response being that it needs to be in core.
- FROGGS posted "slangs, what are they?" and discussion ensued.
- jnthn landed more Rakudo-NQP-JVM commits with comments such as "Use VM-independent invocation protocol ... This eliminates a bunch of usages of Parrot v-table stuff in BOOTSTRAP and the MOP" and "Adopt the new container spec model" which latter "doesn't go quite so far as the last [failed] attempt to do this".
- jnthn asked "What, exactly, is the -L. -X. thing about?" and moritz noted that the issue "may explain why rakudo has seem more easily in conflict with installed stuff these last months".
- grondilu asked "how could I write [what he meant by] "return %cache{$string}{$t}{$u} if %cache{$string}{$t}{$u} :exists;"?" and discussion ensued.
- pmichaud landed NQP and Rakudo commits related to quantified captures.
- FROGGS landed a bunch more v5 slang module commits.
- supernovus added a PSGI helper library module to the p6 module list.
- pmichaud asked for TimToady's "opinion on https://github.com/perl6/specs/issues/35" and later had a discussion with jnthn about the ramifications of his answer.
- labster landed more Rakudo commits related to IO.
- isBEKaml asked "was there [a] 2013.03 star release?". The answer was no. (While the Rakudo compiler is consistently released monthly, Star releases can and have often been less frequent). Discussion ensued.
- Discussion of anti-matter apples and a P5-to-P6 translator revealed Util's Blue Tiger.
- TimToady mentioned a rosetta problem that serves as a serious stress test.
- supernovus added DateTime::Format and DateTime::Math to the p6 module list.
- Util fixed Rakudo's bigintisprime.
- pmichaud "Switched ?-quantifier to be an item quantifier instead of a list quantifier." in Rakudo.
- timotimo implemented nqp::mkdir, rmdir and chmod for Rakudo-NQP-JVM.
- labster campaigned for nqp::readlink to support some of his recent changes and got pmichaud and timotimo to help.
- pmichaud landed some commits that impact Rakudo Star, and prepared a Star release candidate.
- FROGGS landed v5 slang module commits, mostly experimental.
- The #masakism workshop began; after it was over masak reported "quick summary of today's #masakism workshop: it was a success. people appear to want to do it again. date not set for that, but we'll make sure people get the message.".
- timotimo implemented unlink, cwd, rename, copy, link, symlink, and improved rmdir, for Rakudo-NQP-JVM. But seems "Java has no portable way to chdir?"
- jnthn landed a ton more Rakudo-NQP-JVM commits.
- hoelzro noted he "would like to do for @pairs -> ( $first, $second )" or similar, such that for each pair $first is bound to the key, $second to the value. Discussion ensued about related parameter unpacking syntax.
- pmichaud landed more Match/Nil switchover commits.
- pmurias asked "would it make sense for me to submit a gsoc proposal for a rakudo/nqp javascript backend to the parrot foundation?". Discussion ensued with Util saying "I am the GSoC backup admin for PaFo, and defacto primary admin while dukeleto is away. I will look favorably and equitably on any Perl[56]-related tasks, students, mentors, or anything else related.".
Fwiw suggested alternate public logging services are collabti's #perl6 log which allows links to individual lines and goes back to 2005 and undo.it's #perl6 log which started early Jan this year.
Leave a comment