Perl 6 Summary for 2005-07-19 through 2005-07-26
All~
Welcome to another Perl 6 Summary brought to you by microwaved chinese
food and air conditioning. I love the modern era. Without further ado, I
bring you
Perl 6 Compilers
Grégoire Péan announed the release of PxPerl 5.8.7-3, allowing people
who want to play with Pugs and Parrot on windows easy access.
<http://xrl.us/gv6k>
Test Report for Windows
Ronald Hill reported some failing tests for Pugs on windows.
Fortunately, given Pugs's developement, there is a reasonable chance of
these problems being fixed. Unfortunately, given Pugs developement, no
such information made it to the list.
<http://xrl.us/gv6m>
Parsing Perl6 Rules
Nathan Gray wondered how Jeff Pinyan's parsing perl6 rules project was
going. Jeff said that it did not get very far, but he posted what he did
have to <http://feather.perl6.nl/~japhy/>.
<http://xrl.us/gv6n>
Pugs Problems
Vadim Konovalov was playing with slurp and found two problems. Adriano
Ferreira showed him how to work around slurp not accepting a ":raw"
option. Nobody commented on the peculariar $*ARGS[0] value when the
argument is "-foobarfluffy".
<http://xrl.us/gv6o>
Official Perl6 Rules Grammar
Patrick announced an "official Perl 6 grammar" whichi he would be
mainting closely with PGE in Parrot. It is incomplete at this point, but
patches are most welcome.
<http://xrl.us/gv6p>
PIL Nodes's Descriptions
Allison Randal posted a request for a clue batting, listing various
types of nodes in PIL and explaining her guess at their descriptions.
Stuart Cook and Patrick both provided a little help, although not
everything on her list was addressed.
<http://xrl.us/gv6q>
Perl 6 FAQ Patch
Autrijus provided a patch for the Perl 6 FAQ removing an outdated
question. Robert Spier applied the patch (modulo some confusion about
staged vs live copies).
<http://xrl.us/gv6r>
Parrot
Opcode Optimizability
Curtis Rawls noted that it is often simpler from an optimizer writers
standpoint to do constant folding and optimization on a smaller set of
opcodes (just one variant add instead of five (seven if you count inc
and dec)). Leo explained that removing these opcodes isn't an option,
but that a suggestion for compiler writers to only emit the more verbose
codes could be added to the faq.
<http://xrl.us/gv6s>
Refcounting Hash
Nicholas Clark wants to use a hash to hold reference counts for Ponie
(something like dod_register_pmc in pmc.c), but he doesn't want to
duplicate code. Leo suggested that he move some of the code into a pmc
and then switch the real registry to use that PMC.
<http://xrl.us/gv6t>
New PGE Test
Mitchell N Charity submited a test for a "large" pugs grammar, which
currently fails. Patrick noted that the test like came from
rx_grammar.pl in the Pugs distribution. This probably led to his above
addition of an "Official Perl6 Rules Grammar".
<http://xrl.us/gv6u>
Jit Emit Help
Adam Preble decided that he would play with an x86_64 code generator.
Unfortunately, he was hitting some stumbling blocks. Leo offered to help
him and provided pointers from #parrot.
<http://xrl.us/gv6v>
Call Opcode Cleanup
Leo wants to cleanup some of the various invoke opcodes. He posted a
request for comment, but Warnock applies. It seems that Leo's request
for comments like this get Warnocked a lot...
<http://xrl.us/gv6w>
<http://xrl.us/gv6x>
"spawnw" Return Value
Jerry Gay opened a TODO ticket for switching spawnw to return something
object like to wrap platform-specific oddities. Prompted by Jonathan
Worthington submitting a patch to make the spawnw tests pass on windows
(which was applied).
<http://xrl.us/gv6y> -- Ticket
<http://xrl.us/gv6z> -- TODO
Bugs in ops2vim.pl
Amir Karger noticed a bug in ops2vim.pl and suggested a fix. Jerry Gay
fixed it.
<http://xrl.us/gv62>
Leo's Ctx Branch Tests
Jerry Gay and Leo worked together to get his branch passing a few more
tests on windows. Nick Glencross wondered if the python dynclasses tests
were being run too. Jonathan Worthington explained that they were being
skipped for the moment.
<http://xrl.us/gv63>
Raised by the Aliens
Matt Diephouse was surprised to discover that you cannot use addparent
with a PMC for either argument. He suggested that this be made to work
or officially documented.
<http://xrl.us/gv64>
Patches Accumulating
Leo requested that people with commit bits pick up some of the patches
that were building up as he was running a little low on tuits.
<http://xrl.us/gv65>
Dump CFG
Curtis Rawls moved the dump_cfg call from reg_alloc.c to cfg.c. Leo
applied the patch.
<http://xrl.us/gv66>
string_to_cstring leaks
Jonathan Worthington plugged a few leaks caused by string_to_cstring.
Leo applied the patch.
<http://xrl.us/gv67>
Deleting Globals/Lexicals
Matt Diephouse noted that there was no way to delete globals or
lexicals. Leo posted one (untested) way to do it.
<http://xrl.us/gv68>
Generating Win32 Executables
Jonathan Worthington laid some ground work for generating executables on
windows. Leo applied the patch.
<http://xrl.us/gv69>
Library Loading on Win32
Jonathan Worthington beefed up the library searching logic in Parrot to
be a little more Windowsy. Leo applied the patch.
<http://xrl.us/gv7a>
PBC Merge Utility
Leo posted a request for a utility that could merge several pbc files
into one.
<http://xrl.us/gv7b>
Calling Super Methods
Matt Diephouse noticed that there was no way to call the method from a
super class. Leo pointed out a way to do it by accessing the slots of
the parent directly.
<http://xrl.us/gv7c>
Cmd Buffer Reallocation
Greg Bacon fixed a bug in the reallocation of the cmd buffer on Win32.
Jonathan Worthington applied the patch.
<http://xrl.us/gv7d>
Data::Dump(PGE)
Will Coleda added a TODO for making PGE's match objects compatible with
Data::Dumper.
<http://xrl.us/gv7e>
does Hash
Will Coleda wants Data::Dumper to check if an object does Hash or Array
and dump it thusly if no default dump is implemented.
<http://xrl.us/gv7f>
rx.ops's future
Will Coleda wondered what the future of the rx ops. Brent 'Dax'
Royal-Gordon, who wrote them, recons they are not long for this work. He
reckonned that the intstacks and the bitmap handling code might be worth
saving.
<http://xrl.us/gv7g>
Debugger - List breakpoints
Will Coleda noticed that the debugger was not quite compatible with
perl's. Leo replied that the debuggers whole command loop was a mess
that required a turn of the crank.
<http://xrl.us/gv7h>
\u escape issues
Will Coleda opened a ticket for some unicode escape issues. Leo asked
for a test case.
<http://xrl.us/gv7i>
string -> int conversions
Matt Diephouse noticed that there was no opcode Octal and Hex
conversions. Leo suggested adding one of the form " set Ix, Sy, Ibase #
Ibase = 2..36 ".
<http://xrl.us/gv7j>
Make " make languages " Failures Nonfatal
Bernhard Schmalhofer suggested that " make languages " should not give
up after the first failure, but should instead build the remaining
languages.
<http://xrl.us/gv7k>
Dynclasses on Windows
Nick Glencross and Jonathan Worthington discussed how to make dynclasses
build on windows.
<http://xrl.us/gv7m>
Resizable*Array Allocation
Matt Fowles submitted a patch making all the various Resizeable*Array
pmcs share their allocation strategy. Bernhard Schmalhofer applied the
patch.
<http://xrl.us/gv7n>
MMD Roundup - Take 2
Nicholas Clark attempted to dewarnock a suggested change by Leo.
Unfortunately, his thoughts on the matter were "this is really a call
for the designer to make, isn't it?". Leo suggested starting a WARNOCKED
file for these things. Will countered that adding it to the DESIGN
section in docs/ROADMAP, so Chip needs only look in one place.
<http://xrl.us/gv7o>
Parrot Failures on OS X
Nicholas Clark forwards some failures on OS X to the Parrot list (from
the Ponie one).
<http://xrl.us/gv7p>
Parrot Needs stderr
Nicholas Clark noticed that running parrot with a closed stderr, makes
parrot unhappy.
<http://xrl.us/gv7q>
GMC
Alexandre Buisse and many others have been talking about his Generation
Mark and Compact Garbage Collector. Plans are rapidly taking shape.
<http://xrl.us/gv7r>
Perl 6 Language
User Defined Context Behavior
Ingo Blechschmidt wanted to know how to make is own custom class that
would act specially in list context. Thomas Sandlaß suggested
overloading &infix:<=>. Sadly, his answer doesn't seem to have made it
to google groups.
<http://xrl.us/gv7s>
Hash Creation with Duplicate Keys
Ingo Blechschmidt noticed that in Perl 5 hash definitions the right most
duplicate one, whereas the left most wins in Perl 6. He was wondering if
this was a bug or not. Luke explained that it was that way for named
variable bindings. Larry figured it should be that way ONLY for named
variable binding. If Pugs has not done it yet, some brave soul could
probably add tests and find it implemented before they had finished
committing.
<http://xrl.us/gv7t>
Tail Calls, Methods, and Currying
Brent 'Dax' Royal-Gordon wondered about Tail calls, noting that the
current method " $obj.can('meth').goto($obj, *@args); " was kinda ugly.
Larry mused that " return g() " should go ahead and tail call. If the
code does not want a tailcall there then it should avoid it manually.
<http://xrl.us/gv7u>
Pairs and Binding Play Poorly Together
Autrijus noted that pairs and bindings (such as in a for loop) play
badly together. Larry supposed that the Bare code object could have
parameters of type Pair|Item (note no Juntion) by default to solve this
problem. Damian supported the exclusion of Junction.
<http://xrl.us/gv7v>
Method Introspection and meta....meta.classes
chromatic wondered about subroutine and method introspection. Sam Vilain
thought he might want to look at Stevan Cook's Perl6-MetaModel. He also
talked about closing the loop on meta-meta-meta headaches. Apparently
small talk has done this somewhere...
<http://xrl.us/gv7w>
Big Object Rethink
Larry posted a fairly major rethink of member variables and methods.
Honestly I did not quite follow what he described and there is a lot to
summarize... Hey! Look over there! ::PUNT:: Nothing to see here move
along.
<http://xrl.us/gv7x>
Garbage Collection API
David Formosa (after being lightly chastized by an unknown summarizer)
started a new thread expanding on his desire for a GC API. I thought
there were replies to this, but they don't seem to have made it to
google.
<http://xrl.us/gv7y>
Exposing the GC
Piers Cawley thought that it might be useful to expose the GC to get an
array of all objects of a particular class. Brent 'Dax' Royal-Gordon
thought that the ability to get such an array would be useful, but that
it should merely be an implementation detail of whether an array of weak
refs or the GC or Harry Potter was invoked.
<http://xrl.us/gv7z>
The usual footer
To post to any of these mailing lists please subscribe by sending email
to <perl6-internals-subscribe@xxxxxxxx>,
<perl6-language-subscribe@xxxxxxxx>, or
<perl6-compiler-subscribe@xxxxxxxx>. If you find these summaries useful
or enjoyable, please consider contributing to the Perl Foundation to
help support the development of Perl. You might also like to send
feedback to ubermatt@xxxxxxxxx
<http://donate.perl-foundation.org/> -- The Perl Foundation
<http://dev.perl.org/perl6/> -- Perl 6 Development site
<http://planet.parrotcode.org/> -- Parrot Blog aggregator
|