The Perl 6 summary for the week ending 2006-02-12 Welcome to part one of this week's summary. Owning to chronic problems with deadlines I've only got time to summarize perl6-compiler and perl6-internals tonight; I'll do perl6-language when I get back from $paying_job on Thursday night.
You shall just have to contain your excitement 'til then. This week in perl6-compiler Tokenizer hints, supporting delimited identifiers or symbols Darren Duncan said that he'd like for there to be a simple and terse way for Perl 6 identifiers or symbols to be able to composed of any characters whatsoever (even whitespace). After all, it's allowed in lots of other languages (including, although Darren didn't mention it, Perl 5 -- consider "${"var with spaces"} = 'foo'" if you don't believe me. Lexical vars are a wee bit trickier). I turns out that, as Larry said "$::<You can already do that!>;", which is nice. It turns out there's quite a few ways of doing it and Larry discussed them all. <http://xrl.us/j2bf> Meanwhile, in perl6-internals Parameter count checks One of the tricky things about having PIR level parameter count checks is coming up with a good syntax for it; in particular, Chip wanted an easy way of expressing common things like void calls. It turns out out that Common Lisp is one of the trickier languages to deal with here since it allows for multiple values returned from a function, but ignores every return apart from the first unless you specifically ask for them. Which can be nice, but is weird. I'm not sure we have a syntax for it yet, I'm sure one will be forthcoming eventually. <http://xrl.us/j2bg> Add methods in dynpmc François Perrad had some trouble adding methods to Lua PMCs and asked for help. Leo provided it and all was gorgeousness again. <http://xrl.us/j2bh> "{null,parrot,installable}_config.o" Florian Ragwitz is the Debian maintainer of the pugs and parrot packages and he has problems getting the latest pugs to link with Parrot, mostly because of the way parrot stores information about where things are installed. He made a few suggestions for resolving the issue. I'm not sure Leo's answer was much use to him. <http://xrl.us/j2bi> Heureka - from the -Ofun department Leo announced that Parrot is now running the Ackermann benchmark faster than C. It turns out that tail recursion elimination is a really good thing to have. It also turns out that we only get the really blistering speed on x86 and ppc architectures, because those are the architectures with a working JIT core. Things aren't quite so rosy on SPARC, for instance. Still. Wow! <http://xrl.us/j2bj> ":non_volatile" is now ":unique_reg" Jonathan Worthington checked his ":non_volatile" patch back in, but with the new ":unique_reg" name. Which is nice. <http://xrl.us/j2bk> Sub introspection: filename and line Jerry Gay had some questions to ask about walking the Parrot call chain and getting at file and line info. It turns out that the Sub PMC doesn't have the methods he needs. Johnathan Worthington corrected what he'd said on IRC about how to walk the call chain, pointing out that, instead of walking subs, you need to walk contexts, but that contexts aren't actually PMCs because we don't have weak references yet. Apparently, we will have weak references eventually, at which point we'll be able to have context PMCs, which can be used for introspecting on the call chain. Me? I don't quite understand what's the difference between these 'contexts' of which Jonathan speaks and return continuations. But I'm odd like that. <http://xrl.us/j2bm> Q. Namespaces and classes Leo wasn't entirely sure of what semantics are needed by namespace PMCs. He talked around the issues and asked if he was going along sane lines. I can't tell if Jonathan thought Leo was sane or not, but Leo seemed to find the response useful. <http://xrl.us/j2bn> Quis custodiet ipsos custodes? Misspelling Juvenal slightly, Jerry Gay observed that there are no tests for Parrot::Test and made a plea for this to be remedied. You're on your own with the Latin. <http://xrl.us/j2bo> PIC/JIT update Leo announced that the PPC JIT core can now compile subs on the fly, just like the x86 core. But only for integer code apparently. <http://xrl.us/j2bp> Integer divide overflow Leo observed an overflow issue with integer division and asked for comments. Jonathan Worthington suggested going to the pub. "It won't fix the problem, but we'll feel better about it." We definitely seem to be in "Don't do that then." territory. <http://xrl.us/j2bq> Find a multi-method/multi-sub by name and signature Jonathan Worthington's work on a .NET translator 'ambles on'. He's working on mapping .NET's static method overloading on to Parrot's MMD and it's almost working. He outlined the issues and hoped that there might be some way of doing a "find_global" or "findmethod" that took the function's signature into account and pointed out that we'd need something like it for Perl 6 anyway. Leo pointed him at the 'long names' of functions, which contain the information that Jonathan needs, but which aren't (yet) standardized. Sounds like a case for standardization to me... <http://xrl.us/j2bs> Acknowledgements, apologies and everything else Sorry the summary's been split this week, but it was either that or get Matt Fowles to do it again, which just wouldn't be fair. I hope you all enjoy the new serial format anyway. Help Chip <http://geeksunite.org/> -- Chip still needs help. The usual coda If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl. <http://donate.perlfoundation.org/> -- The Perl Foundation The Perl Foundation Blog is an excellent source of news about the Perl Foundation's activities. <http://blog.perlfoundation.org/> Planet Perl Six is a handy news aggregator of several Perl 6 related sources. <http://planet6.perl.org/> <http://dev.perl.org/perl6/> -- Perl 6 Development site Check out my website, it's lovely. <http://www.bofh.org.uk/> -- Piers Cawley <[EMAIL PROTECTED]> http://www.bofh.org.uk/