During the last week, there were multiple conferences where perl6ers could be found:
- Larry Wall gave a talk at Collision in downtown Las Vegas and a Q&A session afterwards using twitter and an app called pundit. I have no idea if there’ll be recording of the talk, but supposedly, you’d be able to get at the Q&A stuff somehow somewhere …
- At the German Perl Workshop froggs talked about native library bindings, using libxml2 as an example.
- Also at the GPW, lichtkind gave a talk about functional programming in perl6, but the slides are in german.
- Another talk from the GPW is rurban’s overview over VMs related to perl. The talk and the slides are in english.
- At the OSDC.no there were many perl 6 related events, which can all be found on the “list of talks tagged Perl 6“. Sadly, no links to slides can be found there, and I don’t yet know about recordings.
- jnthn held his two talks about how objects and concurrency play together and how perl 6 more or less transcends the classical distinction between static and dynamic. (links point to slides from the previous time he gave each talk)
- jnthn also hosted a hands-on tutorial for perl6 which was very well received, I heard.
- arnsholt gave a talk about how to bind native libraries with NativeCall.
But there was also some work being done – there were post- and/or pre-conference hackathons, too.
- froggs threw pretty much all files that were in our roast repository into rakudo’s spectest.data, which means that a whole bunch of test files weren’t actually being run until now. Those are all fudged properly now, though, so that we can further decide to throw out tests that haven’t stood the test of time, for example. [correction: actually a bunch of those are still not being run, but at least got triaged]
- TimToady added line number annotations to warnings more often, and also hunted down a bunch of “leaking” Failures, which means a Failure gets created at some point, but never sunk or inspected. (remember, Failures are basically unthrown exceptions)
- lizmat has improved @*INC and the “use cur” pragma (which is going to replace “use lib” when it works as wanted – of course it’ll also get the “use lib” name at that point) a whole lot.
- TimToady is moving forward to make Nil no longer disappear when doing list flattening or assignment. Right now, there’s an Empty value that’ll do the “disappears in flattening” and Nil no longer disappears in lists. If you yourself want this behavior, please use () instead, as Empty is most probably going to disappear once the “switch-a-roo” is done 🙂
- thanks to raydiak “undeclared variable” errors now show a more correct error position and don’t give you the list of what kinds of rules/tokens the parser was expecting at the point of failure
- lizmat restored the performance of IO::Handle.words and .lines when providing the :eager parameter, that you can use to not pay the “lazyness cost”. Of course, this is what we want the GLR to “automatically” provide in most cases: not paying the lazyness cost if you’re actually eagerly using something that can be lazy if it wants to (or if you want to).
- jonathanstowe improved the “earliest” block which now handles having both “more $foo” and “more *” blocks in it.
- brrt gave me the go-ahead to merge the “jit_devirtualize_reprops” branch, which turns indirect calls to a bunch of operators on objects into direct calls (if the type is known at jit-time). This is also something we’d have wanted for brrt’s sponsored work on improving the MoarVM jit further.
- froggs is quite far on the way towards getting “ignoremark” support into rakudo, which lets a regex (or parts thereof) match regardless of any combining characters applied to the target string. [correction: in fact, froggs is so far along the way that ignoremark is already in rakudo!]
- jonathanstowe added some more concurrency related docs to our documentation repository (and website).
- moritz described how to get default values at object creation time into your classes in the classtut
That’s all I have for now. There wasn’t quite as much progress with so many perl6ers traveling and attending or giving talks and workshops.
And at 666 words (not including this paragraph), I feel this is a good place to stop writing. Have a nice week, everybody!