To see what is currently happening visit http://www.perl6.org/
All~
Welcome ot another fortnight's summary. Wouldn't it just figure that I can't think of anything sufficiently non-sequiterish to amuse myself. Perhaps I need a running gag like Leon Brocard or chromatic's cummingseque capitalization.... Maybe I should start one and not tell you. That could be fun.
If you have ever been foolish enough to want to get an email for every commit in Pugs, Sam Vilain created a way to help you sip from the firehose. Have fun.
groups-beta.google.com#286f5a062264ee23
Luke Palmer had a question about how nested when statements in a given block should act. His intuition disagreed with Pugs, but most others supported Pugs.
groups-beta.google.com#ae383ce46fd7b5fd
Autrijus has made Pugs into a registered compiler for Parrot. Since Pugs already allowed you to embed parrot code (well pir anyway) directly into perl 6, this allows you to embed the perl 6 in your pir in your perl 6. Now the possibilities are endless, at least until you blow your mental stack. Those of you with tail call optimization in your mental stack may simply go into an infinite loop if you prefer.
groups-beta.google.com#76b3a96677269d8c
Trewth Seeker expressed his opinion about the proper definition of xor quite strongly. Unfortunately, his opinion is at odds with established mathematics, as Mark Biggar pointed out to him.
groups-beta.google.com#64a06cc494ffd6ac
Patrick provided an update on the state of the Perl Grammar Engine. It has many nifty new features.
groups-beta.google.com#1c76f7aaa60db60c
Rob Kinyon and Gaal Yahas worked to improve Pugs support for Cygwin. Unfortunately the thread winds down with an unanswered question, fortunately Stevan clued me in on IRC that things are working just yet.
groups-beta.google.com#1a6127fc512f3042
Autrijus announced that Pugs now has basic support for Objects and Rules. Sometimes he scares me. Usually he just makes me really want to learn haskell though.
groups-beta.google.com#048f7c691486ebfb
Miroslav Silovic provided a regression test for hyper ops. Some people just don't appreciate the fun of regressing.
groups-beta.google.com#07e4d4fb94cb9b8c
Stevan Little provided a patch for a simple object test. Autrijus applied it. Odd, cause I am pretty sure that Stevan has the commit bit...
groups-beta.google.com#fe404aea60d99b7f
Juerd provided a link to a big rule that could segfault PGE. Kind reminds me of a homework assignment I had to create a regular expression which matched all strings of numbers that did not contain any repeated digits. Easy in perl, but hard in math. I think the resultant regex was somewhere around 17 MB.
groups-beta.google.com#8f58d037069d30c3
Autrijus released Pugs 6.2.3 which contains 10% more awesome then Pugs 6.2.2. You should check it out on the live CD that Ingo Blechschmidt released.
groups-beta.google.com#6d583eb2e080a85a -- release anouncement
groups-beta.google.com#d8085652bc85fe9d -- live CD
Grégoire Péan announced that he has added Pugs binaries to his windows distribution of Perl. Pretty cool. Autrijus innocently asked him to take on the slightly larger task of producing binaries of Parrot too, so that Pugs could be at its more powerful.
groups-beta.google.com#a4797d46952f98eb
Wow did you see how I mentioned Parrot before going into. That was like an awesome transition. My high school english teachers would be so proud...
Patrick wants character class opcodes of the form find first and find first not. Leo pointed him to some hysterical raisins who might help.
groups-beta.google.com#a2cb3834be55832d
François Perrad fixed a problem with building PGE on MinGW. Patrick applied the patch.
groups-beta.google.com#dc9f6a1c35fb2475
Luke Palmer both intoduced me to the wonderfully cute phrase "untodid" and provided a patch making PIO_fdopen return NULL when give bad flags. Leo applied the patch, but Melvin Smith warned that this might be a bad idea. Silence after that.
groups-beta.google.com#0955bdf6c42d7ad5
Jeff Horwitz was having trouble embedding PIR into C. Leo provided some pointers. Jeff was happy.
groups-beta.google.com#340eb5f582823fbc
Previously, Michael G Schwern announced an update to Test::Builder. chromatic asked if it was worth the upgrade. Michael replied probably, but I don't think anyone has acted on it.
groups-beta.google.com#4f4b690aad4b7085
Robert Spier created a miniparrot at Bernhard Schmalhofer request. This miniparrot does not replace our make system, but it does make our website less camel centric.
groups-beta.google.com#a02606ff9a675e14
Leo, Autrijus, and Chip had one of the nerdiest conversations ever. The summary of which is that Autrijus gets commit priveledges for Parrot. The general consensus was that he was too productive in Haskell and we needed to hobble him with a real mans language like C.
groups-beta.google.com#4ff623e3cd504a1f
Leo announed the release of Parrot 0.2.0. This one didn't seem to make it to slashdot. Kinda sad, cause I always get a warm feeling when I know about stuff before /. Oddly, google groups seems to have lost the email.
make realclean failed to find a few files. A flaw forcefully fixed by Jerry Gay.
groups-beta.google.com#18f381f84fa2936d
Bob Rogers made it not. Leo applied the patch.
groups-beta.google.com#033a9daa09e266dc
Patrick put out a request for a rudimentary set of lies and damn lies. People are welcome to provide benchmarks too.
groups-beta.google.com#c631eba65d3914ee
Leo found that parrot was panic during start up. He rolled that patch back.
groups-beta.google.com#0e347dcda6994a2b
Leo put out a request for a make test target which would invoke parrot twice, once to compile to PBC and once to run it. Dino Morelli provided a patch. Leo applied it.
groups-beta.google.com#82ed1327511876c2
Jens Rieks opened a ticket for some failing test long ago. Now he wondered if there was a status update. Warnock applies.
groups-beta.google.com#577a01d8ece6819c
Leo noticed that parrotcode.org needed a little loving. Robert Spier provided it. He also mentioned that people could provide their own patches for it against svn.perl.org Now is your chance to contribute to parrot's public face.
groups-beta.google.com#0e6d70a3111e7708
Jonathan Scott Duff wondered why runtime/parrot/library wasn't in parrot's search paths. Leo added it for load_bytecode.
groups-beta.google.com#5c3eecc29c906898
Leo began down the road to miniparrot. Creating first a parrot without a config and using that to generate a config.fpmc for parrot. A larger parrot is then created with the config information provided.
groups-beta.google.com#3c20fba58ff26540
Bob Rogers posted some questions about how to work with multi subs and provided a preliminary patch. Leo provided some answers but felt that the calling conventions should be pinned down before the patch.
groups-beta.google.com#12a8965b20f47ffe
Matt Diephouse was given a commit bit. Congrats. Leo took the opportunity to remind himself to run "make test" before committing.
groups-beta.google.com#27241f1437349aa8
Nicholas Clark found a NULL refer in real_exception. Leo explained that he needed to call Parrot_run_native to allocate the exception structute (and set the stack top pointer). Nicholas didn't want to set the stack top as he was tracking some perl refcount bugs.
groups-beta.google.com#553050aade71547f
Autrijus provided a patch to make PGE escape strings as expected by Haskell FFI. Patrick suggests a slightly different approach which Autrijus took.
groups-beta.google.com#fe7da5fcfd60abce
John Lenz found and fixed a bug in Boolean.pmc. Leo applied the patch, and Juergen Boemmels provided a test.
groups-beta.google.com#c607085a119c0b8a
Andy Dougherty noticed that Configure.pl printed failed for release tarballs as they don't have .svn directories. He changed it to print done. Leo applied the patch.
groups-beta.google.com#cc0c17bc1121f0f7
Jeff Horwitz provided a patch which allows spawnw to take an array. Leo applied it (with a brief reminder on platform specific ettiquette).
groups-beta.google.com#2943dc9085cadbc7
Jerry Gay fixed a problem building dynclasses on Win32. Leo applied the patch.
groups-beta.google.com#f5cb85bdab6dccba
Millsa Erlas had a few basic questions about Parrot's JIT. Leo provided answers.
groups-beta.google.com#70b1228c1a52baec
Jerry Gay fixed some tests and added some more. Leo applied the patch.
groups-beta.google.com#7e35467c2a796f11
Leo put out a request for some filepath and string manipulation support in parrot.
groups-beta.google.com#e8d004953498e264
In a failed attempt to dewarnock himself, Leo reported his call syntax abstraction proposal.
groups-beta.google.com#28f480998102a287
Nick Glencros suggested renaming (or possibly removing) some old tag files from our CVS days. Leo was unsure about the removing option, but liked the renaming one.
groups-beta.google.com#66c327425726a9a4
François Perrad provided a patch to fix some build problems on MinGW. Leo applied the patch.
groups-beta.google.com#179f66a06c9a42b1
Andy Bach wondered how much of Omniscient Debugging would be possibly in parrot. Leo reasoned that it could be added with some work. It would involve replacing all mutating vtables with special versions that store extra information to allow them to roll back.
groups-beta.google.com#7e3edecbf5fa176f
Jeff Horwitz wondered who else was actively working on mebedding parrot. Nicholas Clark provided a very uncertain pointer.
groups-beta.google.com#0dd2d3aa6c0c6eac
Autrijus explained that Parrots current implementation made attribute access difficult. Leo went further saying that he felt it was wrong. The concensus is that Parrot needs to allow non-absolute access to attributes, so Leo did it.
groups-beta.google.com#13f88903b1e55817
groups-beta.google.com#594cf52e370df2c5
François Perrad found that config.t fails without first doing a make clean. His initial solution was deemed a little too quick and too dirty by Leo.
groups-beta.google.com#93c5d7e042370d94
Patrick provided a patch which changes the return value of find and find_not to the strings length (instead of -1) if the character does not occur. Warnock applies.
groups-beta.google.com#36e82c42a485fbf4
Jerry Gay provided a patch to clean the _config files during make clean. Leo applied it.
groups-beta.google.com#a195783cc90b9c74
Leo changed the logical ops to return one of their operands as appropriate.
groups-beta.google.com#af299cdf102930a1
Jerry Gay provided a patch to remove a warning on Win32. Bernhard Schmalhofer applied it.
groups-beta.google.com#16502accf94d42c3
Tim Bunce wondered whether any resolution with respect to namespaces had been reached. Leo told him not much.
groups-beta.google.com#989bedc1fe123bba
Dino Morelli was trying to add some unit tests when he ran into questions. Patrick provided some answers but suggested further conversation move to p6l, which it did.
groups-beta.google.com#dc17602c62d57779
Nick Glencross posted some updates to the MD5 library. This led to a few rounds of speading it up and comparing its speed with various other MD5 libraries. The final result is: slower than C but MUCH faster than pure perl.
groups-beta.google.com#7c7b42dbc44b14eb
Bob Rogers pointed out that disassemble was sefaulting on some byte code. Leo fixed it.
groups-beta.google.com#61b3155e3eaff442
Jerry Gay provided a patch which changed some internal exceptions to real ones. Leo applied it.
groups-beta.google.com#373a611f6b34a423
Tim Bunce reported some failing tests on OSX. Leo fixed them.
groups-beta.google.com#c6ff787f1079c944
Uwe Voelker provided a patch fixing a typo in PBC_COMPAT, which chromatic applied. He also noticed that p6rules/*.t did not have plans. Patrick welcome all updates to PGE tests.
groups-beta.google.com#a73dd18bfb03a1ba
Dino Morelli added some tests for p6rules. Patrick applied the patch.
groups-beta.google.com#e25f37048470ebac
Jerry Gay found a bug in PGE involving escaping sequences strangely. Leo tracked it down, and Patrick fixed it.
groups-beta.google.com#46f720060661402f
Kevin Tew wondered what the state of Python on Parrot was. Sam Ruby and Michal Wallace provided updates. Hopefully it will take off again soon.
groups-beta.google.com#fc7d16edadaba47e
Ron Blaschke provided a patch to quote some paths that needed it in dynclasses. chromatic wondered if that would break with paths that already contain quotes.
groups-beta.google.com#60c1fff22857df30
Juergen Boemmels noticed that the SVN repository still contains some .cvsignore files. He suggested removing them, but a few things need to be updated to the svn world before that can happen. Bernhard Schmalhofer made it happen.
groups-beta.google.com#35b62bf9ee9a9d1a -- request
groups-beta.google.com#b7f5598c02bc4d98 -- resolution
Adrian Taylor found a NULL pointer problem in Parrot. Leo fixed it.
groups-beta.google.com#1f5a2ab4fd84866a
Colin Paul Adams wondered how he could get information back from an embedded parrot. Autrijus pointed him to Parrot_call_sub with a signature of "SS" (takes a string and returns a string).
groups-beta.google.com#c4c507469c556412
Jerry Gay noticed that thread detatch was hanging on Win32. He provided a patch to skip it so that other tests could fail in its place. Leo applied the patch.
groups-beta.google.com#036422b041a4fe07
Joshua Gatcomb wondered whether coroutines could be invoked with new arguments on successive invocations or not. Some pointed out that allowing the arguments to change is a more powerful model, but I didn't see anything definitive.
groups-beta.google.com#ae65c8bd8165b831
Michele Dondi wondered if there was a function composition binary operator. While one does not exist, one can be added (as was demonstrated much later by Ingo Blechschmidt.
groups-beta.google.com#2ff554091f0fb10e
Ingo Blechschmidt wondered how state vars and parentheses would interact. Larry replied that his examples were probably correct.
groups-beta.google.com#8e4420427d51b692
== > automap?Brad Bowman wondered if a single arg sub or block would automatically map when used on the sharp side of a pipe. Luke Palmer thought this might be too much dwimmery.
groups-beta.google.com#ac666ce340cf819b
J Matisse Enzer wondered if perl 6 would have strong IDE tools like refactoring supported or automated syntax completion. Larry explained that he would like to make it possible for Perl 6 to support these things "just as Perl 1 built in all the system interfaces".
groups-beta.google.com#8075562d8daca262
Juerd wondered what the precedence for the reduce metaoperator was. Luke Palmer informed him that it was listop precedence.
groups-beta.google.com#a80524d587239256
Juerd wondered about piping into various things like arrays, scalars, hashes, and filehandles. Larry gave one of his characteristically speculative answers.
groups-beta.google.com#3fa6c4d58fe52fd6
Juerd wondered what "complain bitterly" meant in the context of the yada operator. Larry explained that ... would fail, ??? would warn, and !!! would die.
groups-beta.google.com#ffee56c03be536be
Stevan Little wondered how isa would act when called with junctions, nothing, classes, or instances. Larry explained that it would act intelligently by autothreading, returning a list of all options, returning a bool, or something I didn't follow.
groups-beta.google.com#ac1d8dceea604062
Juerd created a somewhat lengthy list of available operators, hoping to inspire someone to come up with a good operator for block labels. This led to a very meandering thread.
groups-beta.google.com#d0e890171b91a4ab
Some of you might be confused by my earlier meantion of a reduce metaoperator. Larry introduced one. Much debate ensued, but Larry seems fairly set on it.
groups-beta.google.com#cc032c3414c33e07
Andrew Savige wondered if he would be able to redefine built in functions like read in perl 6. Larry explained that perl 6 would give you so much rope that you could hang yourself from several tree while blowing off your own foot with it.
groups-beta.google.com#7f31dec5a5de054a
Gaal Yahas wondered how to open stdout or a file named "-". Larry explained that io() would have the dwimmy parts like opening stdout, while open would not try and dwim.
groups-beta.google.com#0d073403e2d9e2ab
Terrence Brannon stumbled upon the phrase "adverbial blocks" but didn't understand what it meant. Luke Palmer provided a very clear and cogent explanation.
groups-beta.google.com#cb47e226098267a2
Autrijus noticed that the autodereferncing of references would cause an infinite loop for circular refernce. Larry recanted and decided that the full on autodrill down was not as cool as he had initially thought, but he did warn us that next week he might think it was even cooler.
groups-beta.google.com#bdda0e7a23279fcc
Ingo Blechschmidt wondered what sort of scope $/ would have. Luke Palmer replied that it would be lexical just like perl 5. Larry corrected him pointing out that it would actually be lexical, unlike perl 5.
groups-beta.google.com#c17c3cb539812c71
Joshua Gatcomb wondered what binding of subs return values would do by default. Juerd answered that it would not allow modification unless the sub were declared as an lvalue.
groups-beta.google.com#133ea4e1aee20e19
Aaron Sherman wondered how various scopes fatality levels would interact. Luke Palmer explained that you need to do 360s on the control pad while holding block. He also provided some thorough examples.
groups-beta.google.com#c961990fd9b8090f
A while back Juerd wrote a perl 5 script to transform the EBNF spec of XML into Perl 6 rules. Now that Pugs might be able to support it, he suggests that it would be a good project for a brave soul. No takers yet.
groups-beta.google.com#e99e0455a5a65b9f
Aaron Sherman posted a link to his initial version of an annotated version of the mailing list. He asked for comments, but Warnock applies.
groups-beta.google.com#17956d9845658363
Someone who posted to google groups (and got the unfortunate name mangling of arcadi.sheh...@gmail.com) asked if it made sense for $a = stuff @foo, how = 'scrambled', 1, 2, 3; > to be written as $a = :how('scrambled') stuff @foo, 1, 2, 3; > or some such. Sadly, we will never know.
groups-beta.google.com#759611c278caea0d
Autrijus asked if he had the right Pugs was splitting correctly. It wasn't, but it is now.
groups-beta.google.com#769c309f02b8daa5
Rod Adams announced that he found the real world intruding too much and was going to have to leave off his work on S29. Sam Vilain, Aaron Sherman, and Max Maischein all volunteered to take up the effort.
groups-beta.google.com#cf637256c360f285
Joshua Gatcomb wondered exactly what "is chomped" did. Larry Wall explained exactly what "is chomped" does.
groups-beta.google.com#e8f9bc28bf62d8d9
Patrick, based on his experience with PGE, suggested a slightly new syntax for character classes in perl 6. Larry liked the syntax and went on to muse about other unresolved issues involving character classes.
groups-beta.google.com#4ad613ff400c8219
Autrijus noticed that numification of match objects made strings of digits numify to 1 (i.e. true). He didn't like this. Actually no one did. So it has been changed to numify as one would expect. After all, it can numify to 0 but true.
groups-beta.google.com#e7c68ffcd90eab2e
Stéphane Payrard wondered when and how traits would interact with properties. Brent 'Dax' Royal-Gordon and Larry provided answers.
groups-beta.google.com#cec5b69464b40e22
Jonathan Scott Duff wondered what (1)[0] would do. Larry though that we would have to specialize ()[] to parse as (,)[].
groups-beta.google.com#26d0e71ecf3a2add
Thomas Sandlaß, Rod Adams, and Autrijus speculated about ways to deal with a Void type. Nothing definitive came out of it though...
groups-beta.google.com#b313716c6e95b3a8
Stevan Little wondered if there was a way to uniquely identify objects in Perl 6. Larry pointed him to the .id and the associated =:= operator.
groups-beta.google.com#6077664d96af973e
Benjamin Smith wondered if BEGIN could modify lexicals that don't really exist yet. Larry expressed the opinion that one should be able to modify compiler state in begin blocks; however, he did not answer the question of what Benjamin's example does.
groups-beta.google.com#ff5dc221a156fbdf
Patrick confused many people when he asked about the difference between :: and ::: at the top level of rules. The answer seems to be that ::: will fail the entire match while :: will simply fail it at that offset in the string on which it is attempting to match.
groups-beta.google.com#0baafe36b1533bac
Larry noticed that != and !~ will confuse english speakers when applied to junctions. Luke noticed that defining $a != $b as !( $a == $b ) works. And tragedy was averted.
groups-beta.google.com#81a1eeddf0fe0110
Aaron Sherman worried that many built in functions return boxed types which could cause a big speed hit. Rod Adams explained that this was necessary but optimizations would be made available.
groups-beta.google.com#bfd9ff194b555aed
Juerd suggested using ./method to mean $?SELF.method (in an attempt to solve the long standing debate of $?SELF.method vs $_.method). Much discussion ensued although the general response seems favorable.
groups-beta.google.com#b3e9bc09565e4d0c
Rob Kinyon noted that there seemed to be an extremely large number of operators. He expressed concern, because he had believed that P6 was going to have a small core with moduls. Larry explained that most of these operators were in fact generated by combining a small set of operators and meta operators in a combinatorially explosive way, giving the wonderfully lucid example of [»+^=«]. Much discussion ensued.
groups-beta.google.com#3f82db7c6ffaa285
Ingo Blechschmidt wanted to be sure that all appropriate submethods would be called when they should and that only the correct one would be called when they shouldn't all be. Larry answered that it did work as he expected.
groups-beta.google.com#e9174e5538ded4a3 -- question about subclasses
groups-beta.google.com#f1afbb4dcfb70859 -- same question but with roles
Luke Palmer was having trouble understanding what the difference between $. and $: was. Aaron Sherman prointed out a few differences according to A12.
groups-beta.google.com#b6b426ef593bb255
Autrijus wondered what the signature for not was in perl 6. Larry explained that unlike perl 5, perl 6's not function should act like !<<[4,3,2,1,0] .
groups-beta.google.com#497ff7b0b8174f0f
Luke Palmer caught Autrijus off guard when he pointed out that multis could have multiple levels of : each of which is less important than the last. Larry surmised that they might not have documented this hard enough.
groups-beta.google.com#e3ba8ab5be76d706
Carl Franks started a very long thread when he noted that nested captures caused extra layers in the match array rather than counting parens like perl 5. This led to discussion of 0 vs 1 indexing. Discussion ensued and it was decided that $0 == $/[0] and there was much rejoicing. groups-beta.google.com#f6d7519e8ce9a504
Autrijus wondered what path '1.28' * '2.56' shoudl take to arrive at 3.2768. Larry told him that infix * used prefix + to numify non-Num args.
groups-beta.google.com#832fa3e105a673c6
Aaron Sherman wants to lazily load a role but only the first time it is necessary. Luke Palmer assured him that his example would work correctly.
groups-beta.google.com#66c00f93abebc818
Aaron Sherman, in his efforts to get up to speed on S29, wondered how currying would interact with default values. Larry explained that default values would not be bound until the invocation of the curried function.
groups-beta.google.com#a3a24b1502bda023
Ingo Blechschmidt wondered how to define the precedence of custon infix ops. Luke Palmer pointed out the looser, tighter, and equiv traits (by default it is equiv( &infix:<+> ) ).
groups-beta.google.com#639f21ba2587a6f9
To post to any of these mailing lists please subscribe by sending email to <perl6-internals-subscribe@perl.org>, <perl6-language-subscribe@perl.org>, or <perl6-compiler-subscribe@perl.org>. 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@gmail.com
donate.perl-foundation.org -- The Perl Foundation dev.perl.org -- Perl 6 Development site planet.parrotcode.org -- Parrot Blog aggregator