Camelia, the Perl 6 bug

IRC log for #parrot, 2008-12-10

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 pmichaud another advantage of the recursive approach is that it very quickly short-circuits on an empty list
00:00 pmichaud if any of the arguments are empty, we don't create many wasted sublists.
00:00 jonathan Yes, it'll do better in those cases.
00:02 jonathan Anyway, I'll likely be gone for sleep before you return
00:02 jonathan So have a nice couple of days trip, wherever it is. :-)
00:02 dalek r33736 | pmichaud++ | trunk:
00:02 dalek : [rakudo]:  Refactor infix:<X> to avoid numeric list indices.
00:02 pmichaud it's for work -- down to visit with PerlJam
00:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33736
00:03 pmichaud I'll try to be online as much as I can
00:03 pmichaud I'm eager to keep doing stuff here.
00:03 jonathan Yes, same.
00:03 jonathan I'm hopeful for some news on my grant soon. :-)
00:03 jonathan er, grant application
00:04 pmichaud it took a few weeks for me to get news on mine
00:04 jonathan Plus want to get more done on bytecode annotations soon.
00:04 pmichaud and even longer before it was "official"
00:04 jonathan *nod*
00:04 pmichaud but I'm sure you'll be able to have an early start date
00:04 pmichaud bytecode annotations would be really good.
00:04 bacek_ joined #parrot
00:05 pmichaud actually, I think my blog post will be "It's beginning to look a lot like Christmas..."
00:06 jonathan :-)
00:07 pmichaud and yes, thank you very much for giving me the stage for list assignment and slices
00:08 pmichaud those are nice milestones
00:08 pmichaud okay, time for me to go play daddy for a while.
00:08 pmichaud bbl
00:08 jonathan have fun :-)
00:15 dalek r33737 | Whiteknight++ | calling_conventions:
00:15 dalek : [calling_conventions] update to trunk r33736
00:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33737
00:16 allison joined #parrot
00:20 davidfetter pmichaud, yay for christmas :)
00:22 Alias_ Regarding the spec tests
00:22 Alias_ I've watched the graph growing, and I've seen some of chromatic's posts on it
00:23 Alias_ But the graph just gives numbers, it doesn't show anything as a percentage
00:23 Alias_ There's no mention of how many there are total...
00:24 Alias_ Could this be added? It feels really weasel'y/sneaky to talk about spec test PASS growth in glowing terms without actually giving a basis for the number
00:24 Alias_ I've had a similar comment from a few other people too
00:24 chromatic We'd have to measure the total number somehow, but it would make a nice burnup chart.
00:25 Alias_ Is there a way to just globally turn them all on
00:25 Alias_ Disable todo or something
00:25 Alias_ (Or however it's done)
00:25 chromatic I'm not sure.  Some of them are parsefails.
00:25 Limbic_Region joined #parrot
00:25 jonathan Alias_: Do you mean a percentage of the spectests that we pass out of those in existence?
00:25 chromatic A static parse of the test files themselves could add up all of the plan numbers.
00:25 Alias_ Estimate by file average test count for the parsefails?
00:26 Alias_ jonathon: Yes
00:26 Alias_ I didn't have an issue with it till we aquired a graph :)
00:26 jonathan Alias_: That's a moving target, if that's not clear.
00:26 jonathan I believe but may be wrong that if you see
00:26 jonathan http://www.pmichaud.com/perl6​/rakudo-tests-2008-12-08.png
00:27 jonathan Then the grey line is the total number of spectests.
00:27 Alias_ "Your organisation's Internet use policy restricts access to this Web Page at this time. "
00:27 Alias_ Stupid nanny filters
00:27 jonathan Though it's not clear from the label. :-)
00:27 * Alias_ has discovered all new levels of "The internet does not look like what you think it looks like" lately
00:31 Alias_ OK, on the VPN
00:31 Alias_ So the grey line is the number of spectests that don't parsefail?
00:33 jonathan No, I think that's the total number of spectests.
00:33 Alias_ So you are writing the spectests as you go?
00:33 Alias_ How does that relate to the pugs tests?
00:34 jonathan The process is along the lines of, review pugs tests against the spec as it stands today (because there are plenty of out of date or just wrong ones) and move them into t/spec, cleaning them up along the way.
00:34 jonathan A lot of the time today when I implement or fix something, I'm not writing a new test, but rather unfudging something already in t/spec
00:35 jonathan Sometimes I'll write some new ones, if I don't feel there are already ones that cover the feature or fix in question (or exercise it enough).
00:35 jonathan And we often get bug reports, which lead to tests being added. We unfudge the tests on closing the ticket.
00:35 jonathan (So we don't regress on that bug.)
00:36 Infinoid from that graph, seems like people are adding more tests that pass under rakudo than ones that fail
00:36 jonathan So yes, we are acquiring new spec tests all the time.
00:36 Infinoid it's a beautiful thing
00:37 Whiteknight if you had to take a guess in the dark, about what percentage complete is Rakudo?
00:37 Whiteknight and I know that the spec is a moving target
00:42 jonathan Is the question, how complete is Rakudo as in what percentage of the spec does it implement?
00:43 jonathan Or how complete are we in terms of the work that needs to be done to get a working implementation of Perl 6?
00:43 jonathan Those have very different answers.
00:43 jonathan Like, I'm not sure we can even claim to do 25% of the spec yet.
00:44 jonathan But if you factor in Parrot too, which is a dependency for Rakudo, we've certainly done a lot more than that amount of the work!
00:45 mugwump how about enough of the perl 6 features that there are no important perl 5 idioms which don't work
00:45 apeiron joined #parrot
00:46 jonathan I think we took a huge step forward on that in the last few days with slices and list assignment...
00:46 jonathan It's hard to guess that too - depends on what your set of Perl 5 idioms are and how you choose to translate them to Perl 6. :-)
00:46 particle without smartlinks in the spectests to give us at least a visual representation of spec coverage, we have little way of judging any coverage
00:47 jonathan If that could be done right, it'd be a help in assessing that, yes.
00:47 particle it can be done right, but requires many hands
00:47 jonathan Yes.
00:48 jonathan Hopefully we'll attract more and more of those. :-)
00:48 mugwump eg, if all of the code fragments in the first three chapters of the camel work ... That could be a 1.0
00:48 mugwump by "work" here, I mean "translate well and work" :)
00:49 particle get those code fragments into files in the pugs repo, and we'll have a start at it
00:49 mugwump true, why not
00:50 jonathan mugwump: One of *the* most useful things is people actually writing stuff using Rakudo and pointing out what they miss.
00:50 mugwump sure
00:50 jonathan That gives some hints to those implementing features as to what's needed.
00:50 jonathan Or what's wanted most.
00:51 jonathan There's some things that are just plain hard or have dependencies and aren't going to be done within a few days. But there are others that if people ask for, can be dropped in within a short timeframe too.
00:51 Whiteknight well, I guess my question isn't one of spec coverage but of man hours. How much work has gone into Rakudo compared to the total amount it's going to take for a 1.0 release
00:52 jonathan I don't know, because I haven't sat down with the spec and spent much time going through "we do X, we don't do Y" etc.
00:52 Whiteknight As more ground work gets laid, I'm sure spec coverage will start coming in a flood
00:52 mugwump ok.  the hard things.
00:52 purl the hard things are possible in PHP
00:53 Whiteknight purl forget the hard things
00:53 purl Whiteknight: I forgot hard things
00:53 Whiteknight damn straight you did
00:53 jonathan S12 is maybe the one I've got the best idea of our coverage on.
00:53 mugwump what things need to actually be right to stop a bunch of Perl 6 users from being turned off from it
00:54 mugwump I'm thinking Objects and Classes, threading etc and MMD
00:54 mugwump method signatures
00:54 jonathan Like, if you take every section in S12, there are 5-6 of them that I'd say we have nothing done on yet.
00:55 mugwump that's the OO one isn't it?  What's missing?
00:55 Whiteknight I think that Rakudo is progressing marvelously, and the fact that it can support things like November is inspiring
00:55 Whiteknight thats my view as an outsider looking in
00:55 jonathan mugwump: That'd be quite a list...
00:55 mugwump can you summarise or exemplify?
00:56 Whiteknight (i think he's looking for a job to do)
00:56 particle i don't think we have metaclass methods yet
00:57 mugwump hmm.
00:57 particle our $count; method ^count { return $count }
00:57 MagnusShortwave joined #parrot
00:57 jonathan submethods, parallel dispatch, parametric roles, filling out some of the metaclass stuff for introspection, a bunch of construction order stuff
00:57 jonathan declaring traits
00:57 chromatic Construction order is probably the most important.
00:58 jonathan "is instead"
00:58 particle ~80% of the stuff you'll do with p6oo in day-to-day code is done
00:58 jonathan chromatic: BUILD submethod depends on submethods, so in that sense they are kinda important.
00:58 jonathan particle: I think I'd agree with you on that.
00:58 mugwump I think that good and thorough introspection is also very important to have rock solid from the beginning
00:59 chromatic I go back and forth whether you NEED submethods to get BUILD working for now.
00:59 mugwump actual metaclass methods ... well that's an advanced feature
00:59 jonathan We have what we need in Parrot to handle the introspection, I think.
00:59 jonathan It's just filling out the various methods in the metaclass.
00:59 particle i agree with that.
01:00 mugwump how complete is the method signature support?
01:00 Whiteknight what's funny is that I first joined parrot to support perl6, and I dont understand a thing that you just said needs to get done
01:00 jonathan Common stuff is pretty complete. The whole list/object unpacking stuff is non-existent yet, but that's in the realm of advanced stuff.
01:00 jonathan We're doing good on multiple dispatch.
01:01 particle Whiteknight: so, i just did a trace on the cc $key lex failure
01:01 Whiteknight particle, anything good?
01:01 particle sure enough, it's not finding it in the hash.
01:01 jonathan And signatures are introspectable too.
01:01 mugwump MMD would really be a point of distinction of the object system, good to hear
01:02 Whiteknight so what does that mean?
01:02 jonathan Whiteknight: Which bit?
01:02 purl Which bit is probably the time part? Anyone?
01:02 mugwump Whiteknight: that's when you have a method with multiple invocants
01:02 particle Whiteknight: it means i have to trace even closer this time, and find out why it's not set in the hash O_o
01:03 jonathan Oh, Whiteknight was talking to particle. :-)
01:03 particle Whiteknight: here's what i did:
01:03 bacek_ jonathan: what is expected behavior for "class A { has $.a = { die }; }; my $a=A.new(a=>42); my $b = A.new"?
01:04 particle add 'trace 7' just before .lex "$key", param_97 in languages/perl6/src/gen_actions.pir (~line 214)
01:04 * bacek_ wants mandatory attributes in classes.
01:04 particle c:\Users\particle\dev\parrot\callin​g_conventions\languages\perl6>C:\us​r\msvs-9.0\Common7\IDE\devenv.exe /debugexe ..\..\parrot.exe  perl6.pir --target=pir --output=Test.pir Test.pm
01:05 particle NOTE: use gdb or whatever, but use perl6.pir and not perl6.pbc to get the changes to gen_actions.pir
01:05 particle set a breakpoint at src/ops/core.ops line 1007 (trace op)
01:06 particle then tiptoe through the code
01:06 jonathan bacek_: I *think* that would give you $.a holding a block.
01:06 jonathan We're meant to make a closure of the thing on the RHS, but ain't doing that yet.
01:07 lathos Yeah, I would expect that to be $self->{a} = sub { die };
01:07 jonathan As far as I follow the spec, that's what you'd get.
01:08 jonathan So has $.x = rand; we currently get wrong
01:08 jonathan But I think has $.x = { die } we probably get right...
01:09 jonathan rakudo: class Foo { has $.x = { die } }; say "ok"; my $y = Foo.new; say "ok 2"; say $y.a.WHAT; say $y.a()
01:09 polyglotbot OUTPUT[ok␤ok 2␤Method 'a' not found for invocant of class 'Foo'␤current instr.: '_block11' pc 96 (EVAL_13:33)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (src/PCT/HLLCompiler.pir:669)␤called from Sub
01:09 polyglotbot ..'parrot;PCT;HLLCompiler;command_line' pc 1392 (sr...
01:09 jonathan rakudo: class Foo { has $.x = { die } }; say "ok"; my $y = Foo.new; say "ok 2"; say $y.x.WHAT; say $y.x()
01:09 polyglotbot OUTPUT[ok␤ok 2␤Block␤_block20␤]
01:09 jonathan Hmm.
01:09 jonathan rakudo: class Foo { has $.x = { die } }; say "ok"; my $y = Foo.new; say "ok 2"; say $y.x.WHAT; say $y.x.()
01:09 polyglotbot OUTPUT[ok␤ok 2␤Block␤_block20␤]
01:10 jonathan rakudo: class Foo { has $.x = { die } }; say "ok"; my $y = Foo.new; say "ok 2"; my $z = $y.x; $z();
01:10 polyglotbot OUTPUT[ok␤ok 2␤Died␤␤current instr.: 'die' pc 13559 (src/builtins/control.pir:168)␤called from Sub '_block20' pc 283 (EVAL_12:96)␤called from Sub '_block11' pc 127 (EVAL_12:41)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 892 (src/PCT/HLLCompiler.pir:508)␤called from Sub
01:10 polyglotbot ..'parrot;PCT;HLLCompiler;evalfiles' pc 1216 (src/PCT/HLLCompiler.pir:669...
01:10 ChrisDavaz joined #parrot
01:10 jonathan Curious.
01:10 * purl hands jonathan a dead cat
01:10 jonathan There's a bug in there somewhere, I suspect.
01:10 jonathan But it doesn't look to be in the initialization.
01:11 bacek_ rakudo: class A { has $.a = die };
01:11 polyglotbot OUTPUT[Died␤␤current instr.: 'die' pc 13559 (src/builtins/control.pir:168)␤called from Sub '_block14' pc 98 (EVAL_12:44)␤called from Sub 'parrot;PCT;HLLCompiler;evalpmc' pc 830 (src/PCT/HLLCompiler.pir:475)␤called from Sub 'parrot;PCT;HLLCompiler;compile' pc 428 (src/PCT/HLLCompiler.pir:301)␤called
01:11 polyglotbot ..from Sub 'parrot;PCT;HLLCompiler;eval' pc 862 (...
01:11 bacek_ it doesn't look good...
01:11 bacek_ Why it died?
01:13 bacek_ afk # lunch
01:14 jonathan bacek_: No idea, I suspect on creating the protoobject.
01:15 jonathan oh
01:15 jonathan No, probalby earlier than that
01:15 jonathan As I said, needs to be transformed into a closure on the RHS yet.
01:16 jonathan (But that needed changes to WHENCE stuff too, I suspect...)
01:18 lathos $.a = die should die.
01:18 lathos (And does.)
01:19 lathos $.a = { die } shouldn't die (and doesn't).
01:19 jonathan lathos: It should die on instantiation.
01:20 jonathan We're dieing too young at the moment, if I understand the spec correctly.
01:20 Infinoid must die harder.
01:21 lathos Which one should die on instantiation?
01:22 mugwump hey are there enough hooks in Rakudo to write a functional debugger?
01:22 jonathan lathos: class Foo { has $.x = die; }
01:23 jonathan We should transform that to method { die } and invoke this anonymous method.
01:23 jonathan (Invoke it per instantiatoin)
01:23 lathos Ah, yeah.
01:25 jonathan But I expect that to play out interestingly (as in, be more than a few minutes work to sort out) with WHENCEs.
01:25 chromatic joined #parrot
01:25 jonathan And I wanted to give people at least soemthing for the basic cases.
01:46 DietCoke joined #parrot
01:47 DietCoke moritz: any reason not to put https://trac.parrot.org/parrot/wiki/PerlSixTesting in pugs with the other syn?
01:49 jimmy joined #parrot
01:49 dalek will@coleda.com | Field Guide to Parrot Porters:
01:49 dalek link: http://www.perlfoundation.org/parrot/i​ndex.cgi?field_guide_to_parrot_porters
01:50 dalek will@coleda.com | useful_rt_queries:
01:50 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?useful_rt_queries
01:56 Whiteknight just ran a make fulltest to practice for the release, a few tests are UNEXPECTEDLY SUCCEEDING
01:56 Whiteknight that's better then failures
01:58 * Coke ponders the fun of trying to track down a GC bug.
01:59 Whiteknight what's the bug?
01:59 purl i heard the bug was http://www.cbttape.org/funny/bug3.jpg or http://img227.imageshack.us​/img227/2596/featureiu1.jpg
02:00 Coke TT#10
02:00 cotto Is the last test in t/pmc/exceptions.t still failing on Darwin/PPC?
02:00 Whiteknight purl++
02:00 cotto it'd be nice to get that unTODOd so make test stops complaining that it passes
02:02 cotto seen kid51
02:02 purl kid51 was last seen on #parrot 12 hours, 54 minutes and 32 seconds ago, saying: http://smolder.plusthree.com/app/p​ublic_projects/report_details/8487 reports all tests passing on Linux.
02:04 cotto guess not
02:08 dalek r33738 | coke++ | trunk:
02:08 dalek : Stop opening RTs; use trac's milestone instead.
02:08 dalek : Also, some untested updates to the release verbage JSON templates. Whiteknight++  beware!
02:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33738
02:17 tewk coke I thought I would look again
02:18 tewk Method 'slurp' not found for invocant of class 'FileHandle'
02:18 tewk current instr.: '_main' pc 200 (src/tclsh.pir:134)
02:21 tewk I'll try readall
02:34 Coke tewk: you probably want partcl's parrot_io branch.
02:34 Coke (makes all the changes required for the pdd mergeback)
02:38 Whiteknight I feel like the test harness should never "complain" when a test unexpectedly passes
02:42 Alias_ It should, however, note it at the end
02:43 Alias_ Didn't this argument go back and forth a few times around the discoball?
02:43 Alias_ Unexpected-pass-as-error vs unexpected-pass-as-curiosity
02:46 Alias_ s/discoball/mirrorball/
02:52 pmichaud (test size) -- I suspect the concepts in my post of July 1 are still valid, although the numbers certainly arent
02:52 pmichaud http://www.rakudo.org/2008/0​7/wheres-the-goal-line.html
02:54 pmichaud we can also provide some interesting statistics on the synopses -- one moment
02:55 nopaste "pmichaud" at 72.181.176.220 pasted "some synopses statistics" (14 lines) at http://nopaste.snit.ch/14888
02:55 pmichaud the list of tests there is the number in the rakudo regression suite, not the total number of tests.
02:56 pmichaud I have a script that gives me the total number of tests...
02:57 pmichaud oh, I _had_ a script.  :-(
03:00 allison joined #parrot
03:29 MariachiElf joined #parrot
03:33 Hadi joined #parrot
03:34 Hadi left #parrot
03:34 dalek r33739 | jkeenan++ | testparrottest:
03:34 dalek : Begin developing tests for $ENV{POSTMORTEM}.
03:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33739
03:46 lathos t/spec/S12-class/declaration-order just exploded at me. Failed assertion.
03:46 particle lathos: that's been a known failure for weeks
03:47 lathos Ah, OK.
03:47 particle if it's not fixed soon, it'll be a regression for the release
03:49 chromatic I've secretly hoped that the calling conventions branch would fix that, or at least make the fix trivial.
03:49 Coke msg Whiteknight I added a 0.8.2 milestone for tickets on trac for you.
03:49 purl Message for whiteknight stored.
03:49 Coke chromatic: I peeked at the GC bug attached to the 0.8.2 milestone; it's stringses, not pmcs.
03:50 chromatic Strings are easier to debug.
03:50 chromatic Is there a ticket number?
03:51 Coke https://trac.parrot.org/parrot/ticket/10
03:53 Coke svn bisect says it's caused by this: http://svn.perl.org/viewvc/parrot​?view=revision&amp;revision=33351
03:54 Coke If you can fix it, I'll throw five bucks into the next salvation army bucket I see. =-)
03:54 chromatic What if you revert the changes to the NameSpace PMC from that commit?
03:56 pmichaud oh geezum, declaration-order only has _two_ tests in it?
03:56 * pmichaud regresses it.
03:59 Coke chromatic: segfault goes away.
04:00 chromatic sub->method_name is weird in Tcl Subs, I guess.
04:00 Coke since I have a PIR override of .Sub, that doesn't surprise me.
04:01 chromatic Do you know what type of PMC you're sticking in the namespace here?
04:01 Coke s/override/subclass/
04:01 dalek r33740 | pmichaud++ | trunk:
04:01 dalek : [rakudo]: Remove declaration-order.t from spectest.data for now.
04:01 dalek : It causes a failed assertion in Parrot (which is proving stubborn
04:01 dalek : to fix), and would only give us two passing tests for now anyway.
04:01 Coke No, but I'm guessing it's a TclProc
04:01 dalek : Perhaps it'll clear up when we refactor signatures and class construction.
04:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33740
04:01 chromatic Ahh, so the PMC is an object, not a Sub PMC.
04:01 elmex_ joined #parrot
04:02 chromatic Poking into its guts directly here with PMC_sub(pmc) is going to give us the wrong answer.
04:03 Coke surprised it's a GC error.
04:03 chromatic We should add some introspection magic into the Sub PMC and use that instead.
04:03 chromatic It's not a GC error.
04:03 Coke but it goes away with -G.
04:03 chromatic That doesn't make it a GC error.
04:03 chromatic That just changes the layout of memory.
04:04 chromatic If you never recollect garbage GCables, you're going to have the error in a different memory location.
04:08 Coke chromatic: thanks for the confirmation on the cause of the bug.
04:09 chromatic I'll have a patch for you shortly.
04:09 Coke that would be most appreciated.
04:11 particle .lex "$key", param_97
04:11 particle find_lex $P2, "$key"
04:11 particle no store_lex needed, right?
04:13 * particle wonders if the errors on the calling_conventions branch are msvc only
04:16 Coke particle: I'll see if it builds on osx/intel
04:16 particle coke: it's building rakudo's Test.pm where i get the problem
04:16 particle Lexical '$key' not found
04:17 particle either the LexPad isn't attached to the context properly, or the .lex entry doesn't make its way into the pad
04:17 particle i'm at a loss for debugging
04:18 particle chromatic: any hints?
04:18 purl NONE
04:18 Coke ok, I thought you meant a parrot issue.
04:18 particle coke: it is a parrot issue
04:18 particle it's the single bug preventing the merge of the calling_conventions branch to trunk
04:19 Coke really? I get manifest errors trying to build the branch.
04:19 particle hrmm, i wonder if i need to update, someone might have merged trunk to the branch today....
04:20 Coke though, oddly, the failed manicheck no longer aborts configure.
04:20 Coke ->
04:20 chromatic particle, none immediately come to mind.
04:20 particle chromatic: how can i check that .lex actually worked?
04:21 particle it's not an op, so i can't trace
04:21 chromatic You should be able to dump the Sub PMC within the debugger and look at its lex pointer.
04:21 particle breakpoint in imcparser.c didn't trigger
04:21 particle hrmm
04:22 nopaste "chromatic" at 69.64.234.10 pasted "(untested) Patch for Coke" (161 lines) at http://nopaste.snit.ch/14889
04:23 chromatic No guarantees, but see what that does.
04:25 chromatic PGE fails to build for me with that (I think), but it's reasonably solid.
04:32 Andy particle rushes to my rescue!  What a sweeetie!
04:33 particle *swak*
04:38 mugwump http://mail.pm.org/pipermail/welli​ngton-pm/2008-December/000973.html
04:47 particle mugwump++
04:51 pmichaud particle:  still chasing the lex error?
05:00 PerlJam pm: shouldn't you be getting some rest for your journey tomorrow?  :-)
05:00 pmichaud PerlJam: have a few things I need to get done here first
05:01 pmichaud also, I normally fly out on little sleep :-|
05:01 PerlJam have you looked at the spectests for the min method?
05:01 pmichaud no
05:03 PerlJam I don't understand why the first test is ok.
05:03 PerlJam my @array = <5 -9 7 0 1 -3>; is @array.min,  -3, "basic method form of min works";
05:03 PerlJam it not -9 the min?
05:03 PerlJam s/it/is/
05:03 pmichaud it is not.
05:03 PerlJam or am I missing something obvious?
05:03 pmichaud you're missing something obvious. :-)
05:04 pmichaud hyphen comes before 0
05:04 PerlJam oh, it's not numeric comparison
05:04 PerlJam duh
05:04 PerlJam too much dwimmy stuff makes me expect it everywhere :)
05:06 PerlJam I was going to look for some indexes that should be iterators and change them before going to sleep tonight and I've already gotten sidetracked looking at other things.
05:06 pmichaud you mean in the source?
05:06 PerlJam yes
05:06 pmichaud er, PIR source?
05:06 pmichaud it's easy to get sidetracked these days
05:08 PerlJam What's the difference between foo.'iterator'() and  iter foo?  The former just seems like an extra indirection.
05:08 pmichaud actually, the latter is often the extra indirection :-)
05:09 pmichaud because we're having to make vtable functions delegate to the method form :-)
05:09 pmichaud anyway, I recommend using   iter foo  for now
05:09 pmichaud I don't have a strong case either way at the moment.
05:09 pmichaud (rakudo now passing 4886 spectests.  114 to go.)
05:10 PerlJam lookings at src/classes/List.pir, it looks like foo.'iterator' calls !flatten before calling iter.
05:10 PerlJam (for that class anyway)
05:11 pmichaud hmmm
05:11 pmichaud !flattening is probably normalish
05:19 PerlJam Is there already an RT ticket for the index-needs-to-be-an-iterator jihad?  :-)
05:19 pmichaud no, probably not.
05:20 pmichaud I'm not too worried about the current PIR code, if only because I hope much of this can be rewritten in p6 relatively soon anyway.
05:20 pmichaud as soon as we can get signatures fixed up
05:20 PerlJam yeah, but it gives me something to do so that I can get my head into the code.
05:20 pmichaud works for me
05:20 pmichaud anyway, no ticket for it yet
05:21 pmichaud I was just fixing them as I came across them.
05:21 pmichaud I bet I can find one, though.
05:21 pmichaud another thing is that many of the methods that are in List.pir really belong in any-list.pir
05:21 pmichaud grep and map being two of the obvious ones.
05:21 PerlJam uniq, infix:<min>, and infix:<max> look like they need some iterator love
05:22 pmichaud uniq also belongs in any-list.pir
05:22 pmichaud yes, min and max should be written in terms of iterators and not indexes
05:24 pmichaud I'm not sure if infix:min belongs in List.pir
05:24 pmichaud and it seems to me that they should be (re)using the .min and/or .max methods on List
05:24 PerlJam is iter = new 'Iterator', self  obsolescent or what?
05:25 pmichaud yes
05:25 pmichaud get rid of those wherever you see them.
05:25 pmichaud unless there's a comment there that says "don't change this" :-)
05:25 PerlJam heh
05:25 jimmy what is HackAthonYAPCEU2008?
05:25 pmichaud (which there haven't been any yet)
05:26 PerlJam :q
05:26 PerlJam oops
05:27 pmichaud ['q' => 1]
05:27 PerlJam Mapping.pir, List.pir, IO.pir, and Protoobject.pir all appear to be using new 'Iterator'
05:27 pmichaud yes, there are quite a few of those still hanging about.
05:32 * jimmy have known what is HackAthonYAPCEU2008
05:59 dalek r33741 | pmichaud++ | trunk:
05:59 dalek : [rakudo]: List assignment on my/our declarations works.
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33741
06:09 Theory joined #parrot
06:10 petdance joined #parrot
06:10 leto anyone mind me renaming "Starting from the bottom" on the Parrot wiki to a more useful name?
06:11 leto i am porting the perlfoundation wiki over to the tracwiki, and "Starting from the bottom" is possibly one of the most useul pages on the wiki and it is completely buried and ambiguously named
06:12 leto s/useul/useful/
06:12 pmichaud it's a wiki.  change it how you see fit.
06:12 leto indeed, just sending out a ping
06:17 cotto go for it
06:17 dalek r33742 | duff++ | trunk:
06:17 dalek : Change instances of "new 'Iterator', foo" to use "iter foo" instead
06:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33742
06:24 leto at first glance, it seems that tracwiki does not support file attachments
06:25 leto perhaps the plugin must be installed
06:28 GeJ pmichaud++ for assign and journal
06:29 Tene Is X supposed to flatten, or am I doing it wrong?
06:29 pmichaud we don't have slice context implemented yet
06:29 pmichaud @@( ... )  will keep it from flattening.
06:30 pmichaud or something like that.
06:30 pmichaud (when we implement it.)
06:30 pmichaud but one can do
06:30 pmichaud for  @foo X @bar X @baz -> $foo, $bar, $baz { ... }
06:30 Tene But I can't assign the list of lists to anything?
06:30 pmichaud and that gets them all in groups
06:31 pmichaud you can assign it to an array
06:31 pmichaud (yes, it flattens if you do that)
06:31 pmichaud I don't write the spec, I just implement it.
06:31 Tene Should binding also flatten?
06:31 pmichaud it probably doesn't flatten, but you'd have a hard time knowing that.
06:32 pmichaud or detecting it.
06:32 pmichaud the details of slices are still a bit murky, at least to me.  The spec doesn't spell them out super clearly yet.
06:32 Hadi1 joined #parrot
06:32 Tene Huh.
06:34 Tene rakudo: my @a := 1..3 X 4..6; say @a.perl
06:34 polyglotbot OUTPUT[1..3␤]
06:34 Tene Is that associativity right?
06:34 pmichaud binding is tighter than X
06:34 davidfetter joined #parrot
06:34 Tene Okay.
06:34 pmichaud because X is a list operator
06:35 Tene Binding being different than assignment was confusing to me.
06:35 pmichaud assignment has two precedences, depending on its lhs
06:35 Tene Ah.
06:35 pmichaud item assignment is tighter; list assignment is looser
06:35 * Tene nods
06:37 uniejo joined #parrot
06:41 pmichaud hmm, perhaps infix:X should be returning a list of Captures
06:42 allison joined #parrot
06:46 * leto facepalms as he finds the "attach file" button on the tracwiki
07:05 Zaba joined #parrot
07:13 dalek r33743 | duff++ | trunk:
07:13 dalek : [rakudo] Changed uniq, min, and max to use iterators
07:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33743
07:14 Zaba joined #parrot
07:19 particle pmichaud: ping
07:19 pmichaud pong
07:19 particle i'm still chasing that error
07:20 pmichaud alas, I'm about to head to bed, and have to leave for airport in 4 hours.
07:20 particle c'est la vie
07:20 pmichaud which test # is failing?
07:20 particle Test.pir fails to build
07:21 particle .lex '$key', param_97
07:21 pmichaud this is in the calling conventions branch, yes?
07:21 particle find_lex '$key', $P102
07:21 particle Lexical '$key' not found
07:21 particle yes
07:21 pmichaud can you narrow it down to the sub that is failing?
07:21 pmichaud or does that cause the error to disappear?
07:21 particle yes, statement_block
07:21 pmichaud no, I meant the sub in Test.pm
07:21 moritz good morning Europe, good evening America ;-)
07:22 pmichaud 01:22 here
07:22 moritz (and good localtime() everybody else, of course)
07:22 particle gen_actions.pir, line 227 or so
07:22 pmichaud I meant the sub in Test.pm
07:22 pmichaud i.e., if you start making Test.pm smaller, does the error disappear?
07:23 pmichaud iwbn to know if it's a particular construct in Test.pm that is causing the error to manifest
07:23 particle i haven't tried to narrow it down yet to a smaller case. i can do that tomorrow
07:23 pmichaud that's what I would do -- see if it disappears if you start removing subs from Test.pm
07:23 particle it's running the grammar
07:23 PerlJam moritz: as long as I'm awake my day hasn't ended, so if you apply similar logic to everybody else, 'good day' always works.
07:23 particle the perl 6 grammar fails
07:23 pmichaud I don't understand "the perl 6 grammar fails"
07:24 particle http://nopaste.snit.ch/14883
07:24 particle sorry, i'm tired myself
07:27 pmichaud the nopaste just tells me that something is failing in an action method
07:27 PerlJam pm: it's cold and wet here right now.  If we could have scheduled your trip to be 2 days earlier you would have had 2 warm and mild days
07:27 pmichaud PerlJam: it's colder here right now.  :-)
07:27 dalek r33744 | pmichaud++ | trunk:
07:27 dalek : [rakudo]: spectest-progress.csv update: 235 files, 4884 passing, 0 failing
07:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33744
07:27 pmichaud yesterday was mild
07:27 pmichaud last night we had a tornado warning (sirens and all)
07:28 PerlJam 12 hours ago it was ~80degF.  Now it's close to 40degF
07:28 Zaba joined #parrot
07:28 PerlJam and it's raining
07:28 pmichaud 12 hours ago it was ~60degF, now it's around 28degF
07:28 * pmichaud checks
07:28 * moritz shivers at 0°C
07:29 pmichaud 31.4
07:29 pmichaud so basically 0degC
07:30 PerlJam well, it's bed time for me ... good night all
07:30 * PerlJam &
07:30 pmichaud same here
07:30 moritz good night
07:30 particle ~~
07:30 pmichaud particle:  try chipping away at Test.pm and see if you can get a smaller file to fail in the same way
07:30 particle yeah, will do
07:30 pmichaud have you tried -G ?
07:30 particle no, i haven't
07:31 pmichaud okay, that's another possibility.
07:31 pmichaud anyway, gone for a while -- back tomorrow evening.
07:31 particle i made the mistake of updating the branch, now i have to fix manifest and rebuild
07:31 particle thanks, i have plenty of ideas to keep me busy now :)
07:49 samlh joined #parrot
08:04 dalek r33745 | particle++ | calling_conventions:
08:04 dalek : [config] remove make targets for deleted files
08:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33745
08:04 dalek r33746 | particle++ | calling_conventions:
08:04 dalek : [tools] fix script filename generation to use forward-leaning slashies in manifest comment, even on windows
08:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33746
08:04 dalek r33747 | particle++ | calling_conventions:
08:04 dalek : [manifest] regen
08:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33747
08:10 mberends joined #parrot
08:13 dalek r33748 | particle++ | calling_conventions:
08:13 dalek : [src] headerizer updates
08:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33748
08:15 dalek r33749 | tene++ | trunk:
08:15 dalek : [pct]: Support exception handlers on PAST::Blocks.
08:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33749
08:20 Tene I'd feel uncomfortable having this EH stuff in PCT in the release without some sort of PCT prelude so we can get .include stuff working
08:21 Tene We could just use explicit exception numbers instead of names, but that's less than ideal.
08:28 iblechbot joined #parrot
08:29 dalek r33750 | fperrad++ | trunk:
08:29 dalek : [WMLScript]
08:29 dalek : - refactor exception handling (with rethrow)
08:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33750
08:36 gaurav joined #parrot
08:45 MariachiElf joined #parrot
08:59 dalek r33751 | chromatic++ | trunk:
08:59 dalek : [PDD] Reviewed Numbers PDD; minor edits to formatting and phrasing.  Sadly,
08:59 dalek : IBM's Standard Decimal Arithmetic Standard is no longer available from IBM's
08:59 dalek : site.  It's unclear how to include this within Parrot as it stands anyway.
08:59 dalek : This PDD needs more thinking in the next few days.
08:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33751
09:02 bacek joined #parrot
09:23 alvar joined #parrot
09:55 kj joined #parrot
10:10 dalek r33752 | kjs++ | trunk:
10:10 dalek : [NEWS] update news
10:10 dalek : + update IMCC news
10:10 dalek : + update PIRC news
10:10 dalek : + beautify news layout for deprecations
10:10 dalek : + note that some PIR language changes are mentioned in DEPRECATIONS section, as they've gone through a deprecation cycle and are now completely removed. Other syntax constructs are just changed, in which case they're listed under changes in compilers|IMCC. Yes I know this looks slightly random, but it's not :-)
10:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33752
10:21 ffwonko joined #parrot
10:26 dalek r33753 | kjs++ | trunk:
10:26 dalek : [t] remove tests for namespace and .endnamespace. This is deprecated.
10:26 dalek : + update MANIFEST
10:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33753
10:27 dalek r33754 | kjs++ | trunk:
10:27 dalek : [imcc] remove .namespace x / .endnamespace x syntax. make test passes all related tests. Please update your languages if you're using it.
10:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33754
10:29 dalek r33755 | kjs++ | trunk:
10:29 dalek : [imcc] remove .endnamespace from preprocessing function in imcc.
10:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33755
10:31 dalek r33756 | kjs++ | trunk:
10:31 dalek : [imcc] remove unused rule 'string'. bison gave warnings it's an unused rule.
10:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33756
10:33 tomyan joined #parrot
10:35 dalek r33757 | kjs++ | trunk:
10:35 dalek : [NEWS] updated NEWS regarding .endnamespace.
10:35 dalek : Also updated deprecated.pod.
10:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33757
11:04 GeJ mesg chromatic Found this page, may be worth updating the link in Numbers PDD http://speleotrove.com/decimal/
11:04 GeJ purl message?
11:04 purl Perhaps you mean "messages", or "message nickname blah blah", or "messages help", or.. eh, just forget it.
11:05 GeJ message chromatic Found this page, may be worth updating the link in Numbers PDD http://speleotrove.com/decimal/
11:05 purl Message for chromatic stored.
11:44 Hadi1 left #parrot
11:55 Hadi joined #parrot
12:12 Hadi left #parrot
12:12 ffwonko joined #parrot
12:13 iblechbot joined #parrot
12:19 masak joined #parrot
12:31 masak ./parrot examples/library/md5sum.pir empty_file
12:31 masak Class 'ParrotIO' not found
12:31 masak current instr.: '_main' pc 43 (examples/library/md5sum.pir:54)
12:31 masak what am I doing wrong?
12:32 pmichaud one or more of your files is out of date
12:32 pmichaud ParrotIO was removed a couple of days ago.
12:32 * masak svn ups
12:42 masak pmichaud: I still get the error after running make. need I do anything more?
12:42 masak ah.
12:43 masak the PIR file itself references ParrotIO
12:44 masak is there a chance I could borrow someone to help me (1) un-bitrot md5sum.pir? (2) call md5sum.pir (or equiv) on a given string from Rakudo?
12:45 masak btw, the Rakudo spectests look great now.
12:51 dalek r33758 | fperrad++ | trunk:
12:51 dalek : [Lua]
12:51 dalek : - fix test (global is deprecated)
12:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33758
12:51 masak if ParrotIO is gone, what about Stream::ParrotIO?
12:53 dalek r33759 | fperrad++ | trunk:
12:53 dalek : [Lua] pdd22io
12:53 dalek : - more FileHandle
12:53 dalek : - refactor exception handling
12:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33759
12:53 masak ah, what the heck.
12:53 purl ah, is lollipop a replication slave ?
12:54 * masak posts a bug about md5sum.pir
12:55 dalek r33760 | fperrad++ | trunk:
12:55 dalek : [Lua] box
12:55 dalek : - refactor bytecode translation with the opcode 'box'
12:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33760
12:55 masak parrotbug?
12:55 purl parrotbug is probably mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug" or needs to be converted to trac
12:57 masak purl: there are times when you are almost useful.
12:57 purl OK, masak.
13:01 ChrisDavaz joined #parrot
13:18 dalek r33761 | jkeenan++ | testparrottest:
13:18 dalek : Refactor unlink code into sub so that POSTMORTEM can be tested; test not yet
13:18 dalek : complete.
13:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33761
13:34 Coke there are times when purl?
13:34 purl i heard there are times when i was almost useful.
13:34 Coke scooby snack, purl.
13:34 purl Rank roo, Coke!
13:43 Coke is there some magic number I can enter in the search box to go to ticket # 10?
13:43 Coke (trac)
13:47 Lorn joined #parrot
13:53 jhorwitz joined #parrot
14:00 Coke ah. "#10"
14:02 jonathan I can haz grant. http://news.perlfoundation.org/2008/1​2/jonathan_worthingtons_hague_gr.html
14:02 jonathan Thanks to everyone who has helped.
14:02 Coke get to work!
14:02 purl No!  I'm busy!
14:02 moritz jonathan: cool.
14:04 * Coke does some ticket cleanup in trac.
14:32 Hadi joined #parrot
14:32 Hadi left #parrot
14:45 gryphon joined #parrot
14:49 * jhorwitz has issues subclassing FileHandle
14:50 Coke Yay, figure that out before I have to do it in tcl. =-)
14:52 * Coke closes RT # 61256
14:53 * Coke wants a tracbot in here.
14:53 dalek r33762 | coke++ | trunk:
14:53 dalek : "make examples_tests" now passes again. (update for a lot of syntax & PMC method changes)
14:53 dalek : Resolve RT #61256
14:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33762
14:57 Topic for #parrotis now Parrot 0.8.1 "Tio Richie" Released | http://parrot.org | 21 TT | 651 RT
14:57 * Coke should note that that RT number now includes our stalled tickets.
14:57 AndyA joined #parrot
14:58 bacek_ joined #parrot
15:01 Coke I think we should aim to kill the ParrotRoadMap page, and have https://trac.parrot.org/parrot/roadmap contain the same information.
15:01 Coke (or at least, pointers to it.) that is, open tickets for everything, assign them the correct milestones...
15:02 moritz Coke: (re PerlSixTesting on parrot wiki) I don't want to put into the pugs repo right now because the synopsis there sound authorotative, which it shouldn't right now
15:03 Coke ok. why not use the official perl six wiki, then?
15:03 moritz Coke: if you think it's too much clutter, I can move it to a different wiki
15:03 moritz Coke: because socialtext officially sucks.
15:04 Coke <shrug> I think putting it in the repo is the best. Add a note that says it's a work in progress.
15:04 Coke that was the whole point of moving things into the pugs repo, no?
15:04 ruoso joined #parrot
15:05 moritz yes, but we haven't seen a flood of spec patches so far :(
15:05 moritz maybe I should do that anyway
15:05 moritz (later today)
15:09 dalek r33763 | fperrad++ | trunk:
15:09 dalek : [Jako] global
15:09 dalek : - update PIR generation with get/set_global
15:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33763
15:10 jimmy joined #parrot
15:21 dalek r33764 | coke++ | trunk:
15:21 dalek : [docs] Remove long outdated ROADMAP.pod; the roadmap is now available via https://trac.parrot.org/
15:21 dalek : Leave the ports/ references to it alone, I assume those will be updated after the next portage.
15:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33764
15:22 gmansi joined #parrot
15:22 Coke thanks to whoever started killing the old wiki.
15:22 Coke you seem to have gotten much further than I did.
15:28 jimmy make smoke is ok , how about make smolder_test? is it ok ?
15:28 jimmy https://trac.parrot.org/parrot/wiki/SmokingParrot
15:34 * jimmy think it is a bad question.
15:35 Coke make smoke is going away.
15:36 Coke will probably make smoke an alias for smolder_tst, and then eventually remove smolder_test
15:36 dalek r33765 | coke++ | trunk:
15:36 dalek : [docs] Cleanup the readme a bit to track change mailing lists, websites, build features, and the dangers (and futility) of "make install"
15:36 dalek : Simplify the make discussion a bit, since we already programmatically have that in Configure.pl.
15:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33765
15:36 kj joined #parrot
15:37 * jimmy usually use make smolder_test, mayby it's wrong way.
15:38 jimmy s/mayby/maybe/
15:41 Coke no, that's right.
15:41 Coke anything that says use "make smoke" is currently outdated.
15:42 Coke rant: trac gives me an easy way to create an ad hoc query, and no easy way to save that as a report.
15:43 masak joined #parrot
15:44 jimmy so >https://trac.parrot.org/parrot/wiki/SmokingParrot is outdated?
15:45 masak if Parrot tickets has moved to trac, shouldn't parrotbug@parrotcode.org either (a) create bugs on trac or (b) not work?
15:45 Coke Yes.
15:45 Coke jimmy: yes.
15:45 masak Coke: whom to complain to?
15:45 Coke jimmy: i tell you three times, it's true.
15:45 jimmy seems make smoke does not work now.
15:46 jimmy coke: go away is not understanded by me.
15:46 Coke masak: Please open a trac ticket if one doesn't already exist.
15:46 Coke neither is, "it's outdated", apparently. =-)
15:46 jimmy thanks, coke
15:47 jimmy make smoke does not work now.
15:48 PerlJam as specced!  :)
15:51 jimmy masak: 晚安
15:52 masak jimmy: 晚安
15:52 masak Coke: oki
15:55 Coke jimmy; can you define "not work"? are you missing the perl module it requires?
15:55 Coke is docs/TODO needed anymore?
15:56 Coke I wsa going to updated it to work with Trac, but am considering just rm'ing it.
15:58 masak Coke: trust the anarchy. rm it.
16:00 dalek r33766 | coke++ | trunk:
16:00 dalek : [docs] more trac, less RT.
16:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33766
16:00 Coke masak: too late. =-)
16:01 Coke someone move all the items with 2008 in their wiki name under News and Events to "archivedNewsevents", pls?
16:01 masak :)
16:07 hercynium joined #parrot
16:08 Coke anonymous responder! We should label that "coward!". =-)
16:10 Infinoid good morning
16:10 masak evnin'
16:17 bacek_ joined #parrot
16:18 dalek r33767 | coke++ | trunk:
16:18 dalek : [docs] at least mention trac in our bug wrangling guide.
16:18 dalek : Fix an awkward sentence in one of the sample replies.
16:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33767
16:18 Theory joined #parrot
16:24 dalek r33768 | coke++ | trunk:
16:24 dalek : [docs] s/RT/trac/, along with some trac-specific instructions.
16:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33768
16:25 ffwonko joined #parrot
16:29 dalek r33769 | coke++ | trunk:
16:29 dalek : [docs] quis emendo ipsos emendator?
16:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33769
16:34 Zaba joined #parrot
16:37 particle coke: http://trac.edgewall.org/changeset/4782
16:40 Coke we don't have that version, do we?
16:40 Coke (I ended up copying an existing report and guessing heavily, which resulted in:)
16:41 Coke https://trac.parrot.org/parrot/report/9
16:41 Coke parrot todo?
16:41 Coke parrot todo is https://trac.parrot.org/parrot/report/9
16:43 particle coke: perhaps not, seems our trac 0.10.4 is copyright 2006, that change was feb 2007
16:43 Coke ZOMG. reading some perl from trumerge to solve my work-related svn issue. That's some perl4-y perl, yo.
16:43 particle i haven't found the release date for 0.10.4 yet
16:45 particle removed 'meta' ticket type from https://trac.parrot.org/parrot/admin/ticket/type
16:46 dalek r33770 | fperrad++ | trunk:
16:46 dalek : [pdd22io]
16:46 dalek : Add the method 'flush' (lost between ParrotIO and FileHandle)
16:46 dalek : The I/O library of Lua needs it.
16:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33770
16:46 Coke particle: fair enough. I figured there /might/ be a use for that type outside of release tracking.
16:46 Coke but keywords cover a lot of that.
16:46 tomyan left #parrot
16:47 Coke I am tempted to force Andy Lester to look at this perl code.
16:47 Andy Force?
16:47 dalek r33771 | fperrad++ | trunk:
16:47 dalek : [Lua] pdd22io
16:47 dalek : - more FileHandle
16:47 dalek : - refactor exception handling
16:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33771
16:47 Coke as much as I could. =-)
16:47 Coke Andy: check this out: http://trumerge.open.collab.net/files​/documents/211/1124/truMerge-r13.zip
16:47 Coke there. =-)
16:47 Coke also alias.
16:48 Coke (they say "this was written specifically to run on windows."), which isn't something I hear about perl often, either.
16:48 Alias_ Looking
16:48 Andy what do you want me to look at?
16:49 Andy Alias: I must now thank you in person for that crazy Microsoft stuff you pulledoff.
16:49 Coke Andy: I think of you as the "code cleanup" guy.
16:50 Coke and alias as the "windows perl" guy.
16:50 Andy What do you want me to do?
16:50 Coke I think you take me too seriously at the wrong times.
16:50 Alias_ I think you have me confused for someone that knows Windows
16:50 Coke Alias_: mmheheh.
16:51 Alias_ All I can do is write build scripts that combine other people's knowledge :)
16:51 Alias_ And apparently I also have something of a knack for diplomacy
16:52 Coke I have a knick-knack from _Diplomacy_, but that's about it.
16:56 Coke Andy: Ooh. something useful to steal from that might be the header at the top of the truMerge.cmd file that restarts the file running under perl instead of under cmd/bat/dos/whatever actually runs .CMD files.
16:56 Coke (for ack)
16:57 Andy For Windows?
16:57 Andy I don't do Windows
16:57 Andy yet.
16:57 Coke that's what I'm saying.
16:57 particle Coke: there's a perl script that generates that
16:57 Coke I bet you could wrap up the standalone ack with this trick on windows.
16:57 * Andy makes an alliance with Coke and Austria/Hungary to block the Italians from branching out in the Mediterranean.
16:58 Coke Andy++
17:01 * Andy also let's England know she can land in Picardy and Brest while Coke's attention is turned.
17:04 jonathan Andy: Uh, Brest isn't costal?
17:04 Theory joined #parrot
17:04 jonathan At least, the one *I've* been to ain't...
17:04 particle coke attacks by air
17:05 particle s/coke/england/
17:05 particle stupid fingers, too busy peeling a banana
17:05 Andy It is in Diplomacy.  It's a region, not a city.
17:05 Andy http://www.stupidwish.net/diplom.html
17:06 Andy I know my European geography only from Diplomacy, sadly. :-)
17:06 Andy And more and more from WWII histories.
17:06 jonathan Ah, there's a French region called Brest, huh...
17:06 * jonathan has been to the Brest in Belarus
17:06 Andy hey wait, it IS coastal.
17:06 Andy http://en.wikipedia.org/wiki/Brest,_France
17:06 jonathan nodnod
17:06 jonathan I didn't know about that Brest.
17:07 davidfetter joined #parrot
17:08 Coke You're a programmer, you... nevermind.
17:23 purl joined #parrot
17:30 allison joined #parrot
17:37 particle c:\Users\particle\dev\parrot\calling_co​nventions\languages\perl6>..\..\parrot perl6.pir --target=past
17:37 particle > ;
17:37 particle Lexical '$key' not found
17:41 particle ok, so i created a new language with mk_language_shell
17:41 particle it fails in make test, with Lexical '$/' not found
17:41 particle .lex "$/", param_160
17:41 particle find_lex $P161, "$/"
17:41 particle # this is where it fails
17:42 particle so, lexicals definitely are somehow broken in that branch
17:43 particle obtw, this is r33681, because branch head does not build due to what looks like a bad merge
17:48 Tene svn--
17:51 particle holy crap, 81,000 numbers tests to steal! http://speleotrove.com/decimal/
17:55 szbalint wow, that's great
17:59 jhorwitz allison: ping
18:07 Util left #parrot
18:18 Coke particle: just don't check them into trunk. =-)
18:19 particle coke: i'm working on a harness now.
18:19 particle i think i'll do p5 rather than pir
18:19 Tene pmichaud said he's planning to be online tonight, right?
18:19 particle yes
18:21 dalek r33772 | fperrad++ | trunk:
18:21 dalek : [Lua] pdd22io
18:21 dalek : - more FileHandle
18:21 dalek : - refactor exception handling
18:21 dalek : - remove the conversion of deprecated mode/flag open
18:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33772
18:22 Coke Here's a cage task: ITERATE_FROM_START is the default; if you're setting your iterator to that, it can probably be removed.
18:28 particle indeed
18:31 Hadi joined #parrot
18:32 Hadi left #parrot
18:33 magnachef joined #parrot
18:41 Debolaz joined #parrot
19:03 Infinoid t/codingstd/c_indent.t is failing, but the issue it indicates doesn't appear to be valid.
19:04 dalek r33773 | infinoid++ | trunk:
19:04 dalek : [cage] Fix trailing whitespace.
19:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33773
19:06 dalek r33774 | fperrad++ | trunk:
19:06 dalek : [Lua]
19:06 dalek : - skip some tests
19:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33774
19:11 dalek r33775 | coke++ | trunk:
19:11 dalek : According to the referenced ticket, this issue has been resolved since r27334.
19:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33775
19:12 chromatic joined #parrot
19:13 Coke msg allison: if you don't want RT#54478, please reject it.
19:13 purl Message for allison stored.
19:13 Coke (I don't.)
19:28 dalek r33776 | coke++ | trunk:
19:28 dalek : [docs] apply stopgap documentation patch from TT #2.
19:28 dalek : Courtesy tuxdna++
19:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33776
19:30 ffwonko joined #parrot
19:32 allison joined #parrot
19:33 Topic for #parrotis now Parrot 0.8.1 "Tio Richie" Released | http://parrot.org | 24 TT | 648 RT
19:34 Coke allison: is async IO still on our feature list?
19:34 chromatic Post 1.0.
19:34 Coke ah, there it is, 2.0
19:35 chromatic I figured out a nice GC strategy which allows us to get rid of PMC_data() and have variable-sized PMCs... but it breaks morph, at least until we have a compacting/copying GC.
19:35 Coke what is the "right" status for a ticket that is moved from RT to trac. "deleted" seems the best choice, but I wonder if that does something unseemly to the ticket.
19:36 Coke chromatic: perhaps write it down as a todo ticket in trac?
19:37 chromatic Can do.
19:38 Coke I cannot delete a ticket in RT. Anyone care to vote on rejected vs. resolved?
19:39 Coke I vote rejected since it is clearly not resolved.
19:39 Coke I also vote resolved because we're clearly not rejecting it.
19:40 chromatic Maybe Rejected | Resolved.
19:41 Coke Resected.
19:41 Coke ... which actually makes sense.
19:42 * Coke picks resolved.
19:43 Coke does IO have layers anymore?
19:43 geof joined #parrot
19:44 Coke phone in 16?
19:46 * Coke *tap* *tap*
19:56 chromatic I don't think it has layers, but I don't know.
20:00 particle no layers anymore
20:04 allison Coke: no layers
20:04 allison layers are dead, dead, dead
20:05 Coke rejecting ticket.
20:05 Coke s/ing/ed
20:24 Coke msg Alias sadly, padre 0.20 doesn't install on strawberry here.
20:24 purl Message for alias stored.
20:25 Coke allison: any reason why we're not just using trac for everything?
20:25 Coke (that is, why do we have drupal?)
20:25 mberends joined #parrot
20:32 Debolaz Because we need to advertise PHP a bit? :-)
20:32 * Debolaz ducks
20:32 Debolaz Seriously though, drupal is very handy.
20:37 jhorwitz actually, the PHP bit was part of the decision process, so we don't seem too perl-centric.
20:42 Coke yes, but what does drupal give us that trac doesn't?
20:42 Coke bad enough we have 4 websites, 3 wikis, 3 mailing lists, 2 ticketing systems, 2 svn repositories (one unused).
20:43 Coke if there's a win other than "go php", that's fine. I'd rather see PHP on parrot to address that issue, than have to maintain 2 websites.
20:45 cotto trac++
20:45 jhorwitz drupal is a cms, trac is not
20:45 jhorwitz but...
20:45 jhorwitz drupal wiki--
20:46 jhorwitz trac wiki++
20:46 Coke we're already not using drupal's wiki.
20:46 jhorwitz right
20:46 Coke (CMS) what parts of it do we need that the articles in trac don't give us?
20:46 Tene Coke++ # work on tickets
20:46 jhorwitz what "articles"?
20:48 Coke jhorwitz: good question. I can now not find the site I saw today running trac that had a top level articles heading.
20:50 chromatic I remember: drupal.org
20:50 Coke I would be interested to know which particular feature of drupal trumps trac, though. "CMS" is a pretty big bucket.
20:54 jhorwitz stating the obvious.... drupal is good at maintaining story-style websites w/ announcements, blogs, etc.  IMO, that's what we want for our public face.  you can't maintain content easily with trac, other than the wiki AFAIK.
20:58 Coke (blogs) ok, do we need parrotblog.org, then? =-)
20:58 Coke (obvious) it's not obvious to me, so thank you.
20:59 jhorwitz in theory, no, we do not need parrotblog.org anymore.
21:00 jhorwitz we could assimilate it
21:00 jhorwitz ooh phone &
21:14 Coke I thought phone was ages ago.
21:16 jhorwitz call w/ accountant.  :-P
21:17 Tene Coke: Time zones, of course. ;)
21:21 * Coke adds https://trac.parrot.org/parrot/wiki/WhereIsIt
21:23 Coke https://trac.parrot.org/parrot/timeline - if we're going to track socialtext in here, we should track this.
21:23 Coke (and we shouldn't track ST anymore once we've killed it.)
21:25 GeJ Good morning everyone
21:28 GeJ chromatic: did you get the message I posted regarding the Numbers PDD?
21:31 Coke ls
21:31 Coke ww
21:36 chromatic I did, thank you.
21:38 cotto It'd be nice to have a bot that posts when track wiki edits are made.
21:38 GeJ you're welcome
21:41 Coke cotto: see my send 7 before yours.
21:41 Coke where in the test harness do we decide what executable to use to run our tests?
21:42 Coke ah. _run_test_file
21:43 cotto yup.  misread yours
21:43 Coke I'm going to add support for "TEST_PROG" so we can think about running the test suite through valgrind.
21:43 ffwonko joined #parrot
21:43 Coke looking at an old ticket, leo hints it used to exist but was removed.
21:44 chromatic I'm not sure how useful that is.
21:47 Tene Huh.  This EH stuff worked when I made this patch, but doesn't work now.
21:47 Tene There are either parrot changes, or I was incoherent and asleep at the time.
21:47 Tene The latte ris more likely.
21:47 Coke chromatic: theoretically, if 'make cover' was 100%, then 'make leaktest' could tell us if any code, ever, leaked memory.
21:47 particle yuck. latte.
21:52 chromatic We have known memory leaks right now though, and we're not diligently fixing them.
21:52 chromatic A test target which confirms that we suck doesn't seem that useful.
21:56 Coke not even if it measures how badly we suck?
21:56 chromatic Or shall I say instead "It's a low priority for me until we start making memory leaks a higher priority."
21:56 tewk Coke: no, because byte code could execute things in different order than make cover.
21:56 tewk make cover would have to execute all possible bytecode strings.
21:57 Coke so make cover is also useless?
21:57 Coke or only as a baseline for a theoretical "make leaktest" ?
21:57 tewk as a baseline for a theoretical "make leaktest"
21:58 allison joined #parrot
21:58 Coke hokay. I have plenty of other cleanup that can get done.
21:58 tewk make cover tells you you've covered all code paths, but not necessarily in the order that byte code will execute those code paths.
21:58 Coke I'll consider revisiting this once https://trac.parrot.org/parrot/ticket/5 is fixed.
22:00 dalek r33777 | jonathan++ | trunk:
22:00 dalek : [rakudo] Perl6MultiSub PMC tests that attach a signature should have multi_invocant set to true, as those generated by Rakudo do.
22:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33777
22:00 chromatic The NameSpace PMC is a mess.
22:01 Coke in valgrind output, is 'still reachable' a concern?
22:01 Coke (minor or otherwise)
22:01 tewk interpreters in some way generate code on the fly, and as such build time metrics such as make cover and make leaktests can't predict how the system will behave when executing that runtime generated code.
22:01 chromatic They're a lot easier to fix.
22:01 tewk a bytecode verifier like java has, can add more guarentees but your still at the mercy of the runtime generated code to some extent.
22:02 Coke chromatic: run vgp with no args.
22:02 Coke ==21914==    still reachable: 947,176 bytes in 1,952 blocks.
22:02 MariachiElf joined #parrot
22:03 Coke chromatic: make sense to add tools/dev/vgp as a shell script?
22:03 chromatic Works for me.
22:04 * Infinoid would love to get his hands on chromatic's suppressions file, too
22:04 chromatic Still reachable means that you have a pointer to the memory somewhere.
22:04 chromatic You haven't freed a struct containing a malloced pointer.
22:04 Coke Infinoid: there's a supressions file /checked in/
22:05 chromatic tools/dev/parrot.supp
22:07 Coke which is reference by tools/dev/vgp, now.
22:07 Coke *d
22:08 Coke er, now.
22:08 purl er, now is probably not the time to mention markl's 16 years experience as a manager of software groups, is it...
22:09 Infinoid great
22:09 * Coke removes his copy from ~/bin
22:09 dalek r33778 | coke++ | trunk:
22:09 dalek : [tools] add the recommended valgrind invocation as a tool.
22:09 dalek : chromatic++
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33778
22:09 Infinoid the absolute path in the original vgp alias led me to believe it was something local
22:09 Coke nope, just our build directory.
22:10 Coke (his or mine, depending on the version you saw)
22:10 Whiteknight joined #parrot
22:10 Coke as long as you're running out of the top level build dir, vgp should work.
22:10 Coke chromatic: so, if "still reachable" is set, we should report it?
22:13 Coke (gah. 20K plus lines result on invoking "vgp" with no args.)
22:13 Whiteknight joined #parrot
22:15 dalek r33779 | moritz++ | trunk:
22:15 dalek : [NEWS] initial rakudo news
22:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33779
22:19 Coke ->
22:25 Limbic_Region joined #parrot
22:26 dalek r33780 | jonathan++ | trunk:
22:26 dalek : [rakudo] If we add an invocant to a signature, we must mark that it is a multi invocant too.
22:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33780
22:27 dalek r33781 | jonathan++ | trunk:
22:27 dalek : [rakudo] Make Perl6MultiSub honor lack of multi_invocant in a signature, meaning ;; now functions correctly.
22:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33781
22:42 dalek r33782 | jonathan++ | trunk:
22:42 dalek : [rakudo] Make it an error to use only, multi or proto with an anonymous routine.
22:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33782
22:45 * Tene having trouble with PCT. :(
22:49 jonathan Tene: Specifics?
22:49 purl Specifics are that the query aliases the first table to "me"
22:53 chromatic Coke, any of them are worth reporting.  "Still reachable" are usually much easier to fix though.
22:55 Tene jonathan: I'm misunerstanding something about PCT's code generation for Blocks is all.
23:00 Tene jonathan: when I dump the past, the block does have a <handlers> set on it, but in as_post, node.'handlers'() always returns null
23:00 Tene v. confusing
23:01 jonathan Indeed. :-|
23:01 jonathan I'm not at all familiar with that bit of PCT, I'm afraid.
23:02 jonathan I think I glanced at the handlers stuff once, when I was fixing a null PMC access that occured in Rakudo's return_pir.
23:02 Tene And I'm probably incorrect in my description.
23:02 cotto chromatic, pign
23:02 cotto s/gn/ng/
23:02 Tene This is stuff I just added recently.
23:02 jonathan And that didn't really require understanding the code, just finding where we were doing the null PMC access. :-)
23:02 jonathan Ah, OK.
23:03 Tene Mostly complaining, not asking for help yet.
23:05 cotto any idea when I'll get my coverity account?
23:07 chromatic Not sure; could be a couple of days.
23:07 cotto np.  I'll bug you again in a week of I don't see anything.
23:08 cotto *if
23:12 Tene jonathan: the problem was that I wasn't setting :blocktype<immediate>
23:13 jonathan Tene: Aha. :-)
23:14 Tene jonathan: can you tell me what past I should use to bind $_ to something in a block the appropriate way?
23:15 Tene Just push a bind op?
23:16 jonathan Tene: PAST::Op.new(pasttype('bind'), PAST::Var.new( :name('$_'), :scope('lexical') ), past for the thingy to bind to it);
23:25 nopaste "tene" at 97.117.62.74 pasted "Possible patch for exception tests" (19 lines) at http://nopaste.snit.ch/14891
23:26 Tene jonathan: The exceptions tests can pass if I take them out of eval and add some semicolons.
23:26 Tene They can't pass right now because can't access outer lexicals from within eval.
23:26 moritz Tene: feel free to remove the eval
23:26 Tene But should we be testing eval as well in try.t ?
23:27 Tene moritz: thanks for the confirmation
23:27 moritz Tene: many instances of eval() are left-overs from the time when we didn't have the fudging mechanism
23:29 jonathan Aye.
23:29 jonathan There is also an issue sometimes with parsing, when you need a semi somewhere you shouldn't.
23:30 moritz we should collect such tests in S02-* somewhere, and simplify them everywhere else
23:30 AndyA joined #parrot
23:31 moritz bed &
23:31 Tene Okay, the tests in try.t right now are assuming that $_ is set to the object thrown, not the exception itself.
23:31 Tene Should $_ be the object and $! be the exception, or something?
23:31 * Tene looks at spec
23:33 Tene There's also some calling conventions we don't support in there, smartmatching against superclasses, a few other non-exception things
23:36 Tene Ah, it's inheriting from Exception there.
23:36 Tene So we need an Exception class, and we need the 'die' op to throw its args, if they're isa Exception
23:37 jonathan Tene: There are some open questions on the nature of $!.
23:37 jonathan I think there was a post on p6l about it a while back.
23:38 dalek r33783 | tene++ | trunk:
23:38 dalek : [rakudo]: Initial support for CATCH blocks.
23:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33783
23:38 jonathan A recent while...
23:38 Tene Yeah.
23:38 jonathan The spec seemed to suggest $! and $_ would hold the same thing in a CATCH block.
23:38 jonathan So I don't think them being different is the answer.
23:39 Tene Right.
23:43 jan joined #parrot
23:49 Tene do { die "omg"; CATCH { say "wtf exception"; $_{"handled"} := 1; } }
23:49 Tene do { die "omg"; CATCH { say "wtf exception"; $_<handled> := 1; } }
23:49 jonathan Tene: Do you have to set that "handled"?
23:49 jonathan I'm not sure Perl 6 requires that.
23:50 jonathan (In fact, pretty sure it doesn't.)
23:50 bacek_ morning
23:50 Tene jonathan: we were unsure what semantics P6 required there, so Parrot rethrows if unhandled and returns the exception if handled.
23:50 jonathan Even so, if that works so far, awesome. :-)
23:51 Tene It's up to the HLLs to set it or not
23:51 jonathan Ah, OK.
23:51 Tene pls refactor appropriately.
23:51 jonathan Thanks for making that much work. :-)
23:51 jonathan That's awesome.
23:51 Tene except apparently polyglotbot doesn't think so
23:51 Tene oh, no prefix
23:51 jonathan You need...yes. :-)
23:51 Tene rakudo: do { die "omg"; CATCH { say "wtf exception"; $_<handled> := 1; } }
23:51 polyglotbot OUTPUT[wtf exception␤]
23:51 jonathan :-D
23:52 Tene much better
23:52 Tene there ARE situations where it should rethrow, so other CATCH blocks and such can catch it.
23:52 jonathan *nod*
23:52 Tene rakudo: do { die "omg"; CATCH { say "wtf handler one";}; CATCH { say "lol handler two"; $_<handled> := 1; } }
23:52 polyglotbot OUTPUT[lol handler two␤]
23:53 Tene Huh.  Oh, right, ordering.
23:53 Tene rakudo: do { die "omg"; CATCH { say "wtf handler one"; $_<handled> := 1}; CATCH { say "lol handler two";} }
23:53 polyglotbot OUTPUT[lol handler two␤wtf handler one␤]
23:53 Tene should probably be unshift instead of push
23:53 Whiteknight wtf handler one!
23:53 jonathan OMGWTFCATCHWORKS!
23:54 * jonathan hopes Tene blogs such examples ;-)
23:54 Whiteknight is that how it's supposed to work?
23:54 Tene Wait, can we subclass parrot pmcs from rakudo?
23:54 jonathan Yes.
23:54 jonathan Whiteknight: The ordering, no.
23:55 jonathan Whiteknight: But it's the closest we've got to a working CATCH yet.
23:55 Whiteknight minus the ordering, it is hot
23:55 Whiteknight how are handlers stored, on a stack?
23:55 Tene committing a fix now
23:55 Tene yes,  astack
23:56 Whiteknight oh so it's an easy fix then. stacks roxxor
23:56 dalek r33784 | tene++ | trunk:
23:56 dalek : [rakudo]: Fix the ordering of multiple CATCH blocks in a block.
23:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=33784
23:57 Tene jonathan:
23:57 Tene rakudo: class Naughty is Exception {};
23:57 polyglotbot OUTPUT[Attempt to inherit from non-existent parent class␤current instr.: 'die' pc 13530 (src/builtins/control.pir:168)␤called from Sub 'trait_auxiliary:is' pc 17392 (src/builtins/traits.pir:25)␤called from Sub '_block14' pc 94 (EVAL_12:46)␤called from Sub 'parrot;PCT;HLLCompiler;evalpmc' pc 830
23:57 polyglotbot ..(src/PCT/HLLCompiler.pir:475)␤called from Sub 'parr...
23:58 jonathan Tene: Ah, Exception needs to have been mapped for Rakudo first.
23:58 jonathan (As in, you need an Exception proto-object.)
23:58 Debolaz_ joined #parrot
23:58 Tene Can you do that?
23:59 jonathan oh, hmm, Failure.pir implies we already are... Hmm.

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced