Sign In/My Account | View Cart  
advertisement


Listen Print

This week on Perl 6 (9/9 - 9/15, 2002)
by Piers Cawley | Pages: 1, 2, 3, 4, 5

Problem Parsing Builtins

Aaron Sherman and others have been torture testing the Perl 6 compiler. The most comprehensive test is the Builtins.p6m file (now split into several smaller files) that provides prototypes (and a smaller number of implementations) for Perl 5's built-in functions (we don't know what Perl 6's builtins will be, so Perl 5 is a good start). Sadly, right now, the Perl6 compiler can't cope with all the builtins, so there's been a game of working out which is broken, the parser or the code. Aaron has posted many short scripts highlighting problems he's found. My particular 'favorite' is my $x = 1; $x = +x, sending the compiler off into an infinite recursion. Sean O'Rourke has added these issues to his queue.

[RFC] buildings core.ops op_hash at runtime

Leopold Toetsch posted a proposal for altering the build system to get rid of some rather over the top duplication of (generated) code. Nicholas Clark liked the idea, but I don't believe the patch got applied -- yet.

Leo also suggested moving the op_info_table out into a separate file which could be shared by the various core_ops*.c files.

http://groups.google.com/groups

http://groups.google.com/groups

IMCC / Mac OS X problem

Leon Brocard (yay! Still batting 100 percent on this one ...) has been having problems building IMCC under Mac OS X. The individual .c files all compile, but bad things happen at link time. Leo, Kevin Falcone and Andy Dougherty all pitched in and, after a flurry of patches, IMCC is now building and working correctly under Mac OS X.

http://rt.perl.org/rt2/Ticket/Display.html

Problems with 64-bit integer builds

There have been problems building Parrot on some of the tinderbox systems, and many boxes are not green. Andy Dougherty had some thoughts on this, and on how to improve things. Andy's view is that so many of the tinderboxes are broken, it's hard to tell whether your new patch is making things better or worse, especially when the rebuilds can take several hours in some cases. Andy hopes that, once the majority of boxes are green most of the time, people will take more notice when one or another turns orange or red. In another thread, Andy offered a patch that had been a showstopper for some architectures, which would dump core during config's alignment detection tests.

http://groups.google.com/groups

http://rt.perl.org/rt2/Ticket/Display.html

RFC: How are compound keys with a PerlHash intended to work?

Leopold Toetsch wondered about the handling of compound keys in PerlHash objects. Dan confirmed that Leo's intuition about this was right, which was good, because Leo had a patch ready, but he still wondered about a some additional vtable methods. So he made some more proposals about how to deal with that case. Dan again agreed with Leo's analysis, and Leo came up with another patch. Steve Fink apologized for not having done this already, but his 'tuit shipment was confiscated due to heightened airport security.' Steve also neatly summarized the conclusions reached last time this came up.

Meanwhile, Graham Barr wondered where any type checking would happen. Leo thought it was implicit on lookup and showed code. So did Dan, but Ken Fox is still unsure.

http://groups.google.com/groups

http://rt.perl.org/rt2/Ticket/Display.html -- Leo's patch

http://groups.google.com/groups

Meanwhile, in perl6-language

The week before, Erik Steven Harrison had wondered what counted as a runtime property, apart from true and false. This week, Damian popped up with a list of 10 off the top of his head. return 255 but undef;, or $name = "Damian" but We_better_call_ya("Bruce") anyone?

http://groups.google.com/groups

Second Try: Builtins

Aaron Sherman's efforts at producing an initial builtins list for Perl 6 got discussed on the language list as well. Chuck Kulchar had wondered how well, if at all, they worked with the current perl6 compiler (they don't... yet), and why they were written in Perl. Aaron Sherman posted his reasons (maintainability, maintainability and maintainability). Nicholas Clark argued that Parrot code wasn't necessarily hard to maintain, and also made the case for implementing some functionality in C. Aaron thought that, eventually, they're be a mix of different implementation languages, with many of the 'munge args, call equivalent library function' type functions moved out into libraries anyway.

http://groups.google.com/groups

More A5/E5 Questions

Discussions of the Perl 6 rules system rolled on. David Helgason had worries about hypothetical variables but keys in a hash and should not therefore have sigils in their names at all. Damian pointed out that all Perl 6 variables were just keys in a hash. David wondered about the difference between binding a value to a variable in a containing scope and just binding to an entry in the match object (Damian and Allison apparently have a really neat idea for this, but it's not yet had the Larry stamp of approval). David's last worry was that $0 was a rather cryptic name for the match object and shouldn't it have a meaningful name like $MATCH (Damian thought that squashing a cryptic name in favor of an arbitrary one wasn't necessarily a win.

Jonathan Scott Duff had wondered (in off list mail to Damian, but Damian answered in public) how he could tell ^^ and $$ only to match just after and before his platform specific newline sequence. Damian thought that suggested rolling ones own <sol> and <eol> rules. Jonathan had also wondered about some of the the binding semantics of nested rules. Damian's answer gave him an appropriate 'ah! yes!' moment.

Aaron Sherman had another question about rules and kicked off the 'Throwing lexicals' (Weren't they a band?) by wondering 'How do rules create hypotheticals?' Everyone passed up the chance to do a 'Well, a mummy rule, and a daddy rule, who are very much in love...' joke, leaving it to the summary writer.

I confess, I'm not sure I understand Aaron's concern (about what to do when you assign to a hypothetical that doesn't exist in a containing scope. I thought you just bound to an appropriately named key in the current match object), which makes things a tad tricky, but Luke Palmer seemed to understand and wondered if there would be some way of declaring that a given hypothetical wouldn't infect its containing scope(s). Damian popped up again, promising that, once Larry had made a decision, he would be unveiling one of the solutions that he and Allison have cooked up.

http://groups.google.com/groups

http://groups.google.com/groups

http://groups.google.com/groups

Pages: 1, 2, 3, 4, 5

Next Pagearrow