Topic for #parrot is: Parrot 1.2.0 released | parrot.org/ | Weekly Priority: Testing for 1.3.0! | Parrot VM Workshop, Pittsburgh, June 20-21
Set by moderator on 14 June 2009.
00:01 ruoso joined 00:02 ruoso joined
dalek rtcl: r491 | coke++ | trunk/lib/Parrot/Test/Tcl.pm:
Fix a comment.
00:05
Infinoid Okay. Any other temp files? :) 00:06
GeJ anyone (other than me that is) experiencing lots of imcc syntax errors with 'perl t/harness t/examples/pod.t' ? 00:12
Coke GeJ: I believe that has been reported. if those errors are in the book, I presume allison and chromatic are working on them. 00:18
you can search trac tickets to see if there's an open one.l
GeJ will do. 00:19
mikehh reported it already. 00:21
So, please feel free to just ignore me and resume what it is that you usually do. thanks. 00:23
Infinoid Once I figure that out, I will do so :) 00:26
Whiteknight GeJ: I'm seeing the same thing 00:30
serious karma to the person who resolves that
00:31 bacek joined
Infinoid Whiteknight: Are you working on NEWS yet? 00:32
Coke Whiteknight: really? it's a trivial fix, at least to mark the tests as TODO.
I'll take care of it.
dalek rtcl: r492 | coke++ | trunk/ (24 files):
Eliminate the helper .sub toList - instead, use the .getListValue() METHOD
00:34
Coke Whiteknight: done. 00:41
well, "test passing", anyway. =-) 00:42
you still get the annoying output. =-)
but the test passes.
dalek rrot: r39566 | coke++ | trunk/docs (2 files):
pass the t/examples/pod.t by TODO'ing or fixing some sample PIR code.
Coke to get rid of the output will require slightly more work.
Infinoid fsvo "slightly" 00:43
(there's a lot of it, and there are a lot of other pir examples already todoed)
coke++
00:44 mikehh_ joined
Coke since we have pir_error_like, I imagine we could use an existing test function to grab that output and make sure it was empty. 00:45
(but not report it if the test was TODO'd)
ah. I cheated when I wrote that test, and didn't use any of the builtin test functions. 00:46
I am just doing system(parrot -o /dev/null foo.pir)
Whiteknight Coke++ # Awesome! 00:50
Infinoid: I was hoping some other developers would chronicle their own exploits in NEWS
but, it seems I had hoped wrong
Infinoid Whiteknight: Yeah. I'd get a head start on it if you can - I spent 4 hours on it for 1.2.0 and it felt ... rushed 01:02
(clicking "Next Revision" over and over in trac)
Whiteknight I was going to use TortoiseSVN on my work computer, it has a really nice log interface 01:03
but yeah, I'll get started on it tomorrow
(people not updating NEWS)--
Infinoid cool. 01:04
01:04 mikehh_ joined
Infinoid I had trouble deciding exactly where the line in the sand should be drawn, with regards to what importance level should be deemed newsworthy 01:04
so I sorta just followed the previous releases' lead 01:05
bacek wonders what he can put in NEWS 01:09
Infinoid The branch merges tend to be the most noteworthy 01:11
01:11 mikehh_ joined 01:12 Andy joined
Coke nice. some of those PIR examples are causing segfs. 01:13
Whiteknight bacek: Anything you want. Just put something in NEWS 01:15
I don't care what
Coke and Infinoid: You guys too. Do it now!
update NEWS!
Infinoid erm. Did I do anything this month? 01:17
Coke Whiteknight: ... I have pretty much been working on partcl. 01:18
Whiteknight, Infinoid: fixed t/example/pod.t to be much less verbose. now YOU get to fix the very visible segfaults. =-)
dalek rrot: r39567 | coke++ | trunk/t/examples/pod.t:
Instead of spewing stderr to the screen, save it, and verify that it's 0.

showing the error for those expected to pass. BTW - when I run this, 3 of the sample PIR files are segfaulting; they should be hunted down and fixed.
01:19
Infinoid Whiteknight: I cleaned some cages, nothing newsworthy. The performance improvements are already mentioned 01:21
I spent a lot of time on planes this month... not much parrot time
Hmm. TT #726 got warnocked, which is too bad, it's a significant performance improvement 01:23
That and r39414 speed up Hash allocations 01:24
Whiteknight which was #762? 01:25
Infinoid #726 chops the number of malloc()s for a hash creation in half
I dunno #762
Whiteknight oh wow 01:26
Infinoid I posted it as a ticket because I didn't have time to review it thoroughally... and that hasn't changed since 01:27
Infinoid putting together an expense report for moving to delaware right now... such fun 01:28
Whiteknight Infinoid: #726 has a +1 from me
and it doesn't cause any test failures?
Infinoid No failures. I haven't checked it for leaks yet tho
dalek rtcl: r493 | coke++ | trunk/ (4 files):
Move the String overrides into their own class file.
Whiteknight if it were a few days earlier I would say to just dump it into trunk. But so close to the release, don't do it unless you're sure it's good 01:29
Dump it to trunk on tuesday afternoon :)
Infinoid Yeah, will do. I've still got it in my local patch stack anyway, hoping for some time to run valgrind on it tomorrow 01:31
dalek rtcl: r494 | coke++ | trunk/ (4 files):
move TclList.getListValue() into PIR.
01:33
bacek found only one thing worth putting in NEWS - TT#452 01:34
Whiteknight bacek: There are no small commits.
(only small committers) :)
Infinoid (like me) 01:35
bacek (..)
O
o
.
bacek disappears
Infinoid ohnoes
Whiteknight ENOBACEK 01:36
bacek :)
Ah. Packfile PMCs are useful now. "Someone" can put it in NEWS.
Whiteknight if (someone == bacek) { bacek,can_do_it(); } 01:37
are the packfile PMCs actually being used, or are they just a novelty? 01:38
Infinoid The next step is to make the rest of the system use them
dalek rtcl: r495 | coke++ | trunk/ (3 files):
move TclList.'reverse'() into PIR.
bacek Whiteknight: no way. Or you'll get something like - "Old crappy PMCs for Packfiles was greatly improved. They are shiny now and can be used for generatinc PBCs"
Infinoid And after that, we can start getting rid of that old and nasty src/packfile.c code 01:39
Whiteknight is there a schedule for that work?
that would be great to have pre-1.4
Infinoid Not likely. Big task, short on tuits
Whiteknight who'se the teamleader on that project?
Infinoid I guess I am, as bacek has assigned the ticket to me again 01:40
But I normally just defer to jonathan or allison when someone asks me questions
bacek btw, tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk shows t/pmc/packfile.t failure on freebsd. Probably regenerating native PBCs will fix it.
Infinoid (again? I've already done that, what, 3 times now?)
Whiteknight Infinoid++
bacek PBC format is too fragile... 01:41
Infinoid Yes. PBC is insufficiently P
Whiteknight What would need to get done to make it more robust, I wonder?
a more informative header?
bacek different strategy for store them. 01:42
Whiteknight okay
Well, any major PBC format changes that don't get done before 1.4 will have to wait until 2.0 I think
Infinoid Yeah, it's a mess and it won't go away any time soon 01:43
Although... tossing a simple lookup table of op/pmc names and values would go a long way to improve forward compatibility of these things
Whiteknight so many systems are a mess still
Infinoid: I was thinking the same thing
Infinoid ^into the file
Whiteknight although you end up with problems when ops are deprecated and disappear from core 01:44
Infinoid Well, now you have a means of detecting it and can toss an exception only in that case
...rather than just invalidating *everything*
Whiteknight yeah
Infinoid Now, changing APIs of existing stuff... that's a bigger problem.
bacek simple solution: don't renumber ops.
Whiteknight we could probably "borrow" some of the predereferencing code to renumber PMCs and Ops from the packfile on the fly 01:45
bacek Assign enum_class_Foo values explicitely
Infinoid bacek: The last couple of PBC_COMPAT bumps didn't renumbered ops, they just added a couple of new PMCs
s/renumbered/renumber/
Whiteknight bacek: That's quite an interesting idea, but we still run into problems where a type disappears
bacek which cause enum_class_Foo renumbering
Infinoid So, what then, you propose assigning them by hand? 01:46
bacek Whiteknight: if type disappear we can throw exception on load.
Infinoid: exactly
Infinoid Then you end up with numbers you can never reclaim
Whiteknight okay, I am heading to bed nowish. Goodnight 01:47
Infinoid I think I prefer the lookup table embedded in pbc file idea
night Whiteknight
Tene Looks like chromatic was the last person to touch the internals I'm trying to deal with right now.
bacek Oh... 2^32 has enough numbers
Infinoid (why does that sound like a tongue twister?)
Whiteknight goodnight
Infinoid bacek: And we're volunteering you to maintain that list, on demand, forever and ever. :)
Tene and creiss
Infinoid (rather than letting the computer do the things it's good at :))
bacek we already maintaining it. 01:48
Tene most of it hasn't been changed since 2006 or 2007
Infinoid bacek: Putting in the lookup table will reduce the amount of maintenance overhead
bacek (not for PMC)
Infinoid: really?
Lookup from what to what? 01:49
Infinoid pbc op numbers to parrot op names, pbc pmc numbers to parrot pmc names
bacek what about passing freezed PMC to another instance of Parrot over network? 01:50
from my pov is better to store PMC name in freezed format 01:51
And we have "pmc_type" to deal with it 01:52
Infinoid What about it? 01:53
When you load an ELF object, you do the link and everything works
This is the same sort of thing
bacek exactly. 01:54
So just store PMC name instead of type.
call "pmc_type(interp, name)" on thaw.
...
Profit!
Infinoid You'd need a type placeholder in the opcode array, to replace at runtime
That's the numeric component of the lookup table
bacek I don't get it... 01:55
Infinoid I'm proposing having an ELF-style relocation list, but the implementation details aren't important
Decoupling ops/pmcs from their numbers will solve a lot of problems, no matter how we do it.
davidfetter hello 02:07
purl que tal, davidfetter.
Util good evening
davidfetter can rakudo build against a pre-installed parrot, and if so, what version(s)?
bacek davidfetter: You'll need a time machine to achieve this :) 02:10
davidfetter ugh
with a time machine, there's all kinds of things i'd do, very few having to do with computers ;)
bacek :) 02:11
davidfetter is putting this capability back on anybody's roadmap? 02:12
Util current recommended practice is not just to use a non-installed parrot, but to use a particular version (which changes frequently) of parrot that rakudo builds itself (by using Configure.pl --gen-parrot).
It is high on the roadmap
(well, that is from memory; I do not actually see it on the roadmap report) 02:13
bacek Don't smoke roadmap!!!
davidfetter well, it's safer than shooting roadmap
Util davidfetter: clarifying - I *think* that, in the past (3 months), making languages (Rakudo and partcl) work from an installed Parrot has been a priority, including roadmap. Several tickets addressed parts of the issue, and are closed now. However, after this was working (for some definition of "work"), the functionality has drifted. 02:23
In the last #ps meeting ( irclog.perlgeek.de/parrotsketch/2009-06-09 ), pmichaud reported this among his items of work from the last week: "Fixing Rakudo to work from installed Parrot".
END_BRAIN_DUMP 02:24
davidfetter thanks for the info :)
Util glad to help 02:26
Util ==> bed; 'night, all
davidfetter g'night, Util 02:29
Infinoid As long as he doesn't break running from a non-installed parrot, I'll be happy
(and I'll be happier if tcl runs from a non-installed parrot, too, because then I can test it)
goodnight all 02:30
davidfetter g'night, Infinoid 02:49
Coke hurm. my 'reverse' method is not working in PIR. 02:55
ah, because I'm an idiot. 02:56
dalek rtcl: r496 | coke++ | trunk/t/cmd_lreverse.t:
Check even and odd length lists
03:01
03:04 mikehh__ joined
dalek rtcl: r497 | coke++ | trunk/src/class/tcllist.pir:
actually make 'reverse'() work.
03:10
Coke how to override a PMC vtable from PIR? 03:13
(just declaring it in the namespace isn't sufficient.)
03:17 amuck joined 03:20 donaldh joined 03:42 xenoterracide joined
xenoterracide what installs nqp? I seem to have parrot otherwise installed... but that doesn't seem to be installed 03:43
Coke I am not sure it gets installed. one moment. 03:52
you could try 'make install-dev' 03:53
(I seem to have it installed on my dev box, and that's what I use.)
(ends up in lib/parrot/1.2.0-devel/languages/nqp/)
I'm getting a class not found on "root_new ['parrot'; 'TclList']", having just switched it to a PIR class from a dynpmc. any clues? 03:55
xenoterracide interestingly I have build errors (odd that I didn't have them the last time I built 1.2) 03:57
privatepaste.com/fd1uQnM790
Coke: hmm... from the prebuilt binary I have installed that directory and files exist... but I don't have an executable in my path 04:00
Coke xenoterracide: those look like references to ICU. 04:01
xenoterracide has an icu package installed and the headers should be there... hmm... 04:02
Coke: is the executable for nqp lib/parrot/1.2.0-devel/languages/nqp/nqp ? 04:04
Coke there is no executable, I think, just a .pbc file 04:08
xenoterracide hmm 04:09
Coke so then /path/to/parrot nqp.pbc
xenoterracide hmm 04:11
introductory docs may be a bit off
are there any books about parrot that reference 1.0? (or greater)? 04:19
Coke in progress. 04:21
the docs/book/ directory is as close as we have atm.
two folks on the board are working on writing/editing it, hopefully in time for a dead-tree version at YAPC::NA. 04:22
xenoterracide hmm 04:23
cool
seems that the getting started doc suggests running nqp test.pir and that does work. so I've got nqp installed... would I just run it with parrot then? 04:25
Coke TT #218 is now blocking several hours of work I just put into partcl. :|
xenoterracide s/does/doesn't
Coke if it's suggesting ./nqp, try /path/to/parrot /path/to/nqp.pbc
xenoterracide ah 04:26
that whole page seems to have quite a few bugs
mostly I think formatting code that's being displayed
ah well
I think I'm gonna go get food now
Coke xenoterracide: are you using perldoc to read the doc? 04:27
easiest way to read the book at the moment is: 04:28
docs.parrot.org/parrot/latest/html/...n.pod.html
(though that's from the 1.2 release, not svn)
bacek Coke: (vtable in PIR) did you try mark them as :vtable ? 04:29
Coke bacek: ... yes
bacek: I got around it by converting the whole (&*#$ PMC to pir.
xenoterracide well I'd suggest that it's chapter 2 that's bugged ;) 04:30
bacek PIR ftw! 04:35
Coke bacek: except for TT #218. 04:38
bacek Coke: sorting of RPA?...
Coke <nod> 04:39
I was switching my array-like PMC over. =-)
so now all my sorts explode.
bacek oh shi... 04:49
Coke bacek: evil workaround: $P0 = new 'RPA', assign $P0, my_list; $P0.'sort'() ; assign my_list, $P0 05:02
bacek yeah... But this can be removed right after 1.4 afaiu 05:08
dalek rtcl: r498 | coke++ | branches/convert_tcllist:
Try to eliminate the tcllist PMC and replace it with a PIR class.
05:12
rtcl: r499 | coke++ | branches/convert_tcllist/ (5 files):
First pass at eliminating the the TclList PMC and using a class instead.
05:41 chromatic joined
Coke chromatic: evening. 05:52
purl it has been said that evening is when IRC is dead, TV is laden down with ads, and you're having my own dinner.
chromatic yes 05:54
dalek rtcl: r500 | coke++ | branches/convert_tcllist/runtime/builtin/namespace.pir:
Avoid TT #218 again.
05:56
Coke gets the dreaded "Object must be created by a class." error. 05:57
chromatic: I think I just got 'make test' passing again with a pure-pir tcllist. 06:07
will give a spec test run to see if there's a speed improvement. 06:08
06:08 eternaleye joined
chromatic Very nice. 06:11
dalek rtcl: r501 | coke++ | branches/convert_tcllist/src/ (2 files):
These uses of TclList generate a "Object must be created by a class" error now.

With this, 'make test' now passes in branch.
06:13 uniejo joined 06:20 xenoterracide left 06:57 kyle_l5l joined, c0tt0 joined
cotto hi 07:02
bacek seen Andy 07:03
purl Andy was last seen on #parrot 5 days, 8 minutes and 8 seconds ago, saying: ok beditme for me. [Jun 10 06:51:34 2009]
07:18 barney joined 07:21 donaldh joined
Coke chromatic: slight improvement in speed, but I regressed on some test files: 07:22
"2009-06-13 06:08",483,"r39529",67,5145,2972,1352,821,4374
+"2009-06-15 08:12",498,"r39537",62,4792,2763,1222,807,4129
chromatic The regression is odd. 07:23
Coke looks like a reduction in tests/second, but it's hard to tell how far each of those 5 failing tests got before dying.
chromatic: given that classes are not drop in replacements for PMCs, not really. 07:24
chromatic They ought to be.
Coke and that's assuming I didn't screw up the C to PIR translations.
chromatic: they're not. =-)
TT #218, for example.
once I had a mostly function PIR version, I still had to make other changes elsewhere in the code to deal with it. 07:25
also: code.google.com/p/partcl/source/detail?r=501
chromatic C versus PIR strikes again. 07:26
Coke so, I'll have to fix those regressions before I can get a real speed compare. so far looks "slightly better." 07:27
another way: overriding :multi vtable entries.
afk_coke (oi) 07:28
07:31 viklund_ joined 07:37 clinton joined 08:11 cognominal joined 08:43 gaz joined 08:48 viklund_ joined 09:15 DanielC joined 09:30 mikehh_ joined
nopaste "mikehh" at 90.209.69.154 pasted "patch to fix docs/pdds/pdd19_pir.pod" (60 lines) at nopaste.snit.ch/16916 09:36
mikehh docs/pdds/pdd19_pir.pod failed t/codingstd/pod_syntax.t - fixed that but then failed examples_tests agin - now also fixed by patch 09:39
passes codetest and examples_tests with patch nopaste.snit.ch/16916
also fixed html 09:40
looking at TODO passes in t/op/debuginfo.t 09:42
barney applied patch in r39568
dalek rrot: r39568 | barney++ | trunk/docs/pdds/pdd19_pir.pod:
Better annotation of PIR examples
09:44
mikehh barney: thanks muchly 09:45
barney he, eays karma for me 09:46
s/eays/easy/ 09:52
09:56 gaz joined 10:27 whoppix joined 11:07 burmas joined
mikehh how do you run a specific test in a given runcore - I think I have fixed t.op.debuginfo,t but need to test and don't want to run fulltest yet 11:10
moritz mikehh: perldoc t/harness
mikehh I did a prove t.op.debuginfo,t and that works but need to test the other runcores 11:11
ok I'll look
11:13 iblechbot joined 11:15 burmas joined 11:21 donaldh joined 11:34 szbalint joined 11:40 skids joined 11:51 bacek_ joined
mikehh got t/op/debuginfo.t TODOs fixed in everything but the -g core Test 8 ok 11:52
ok I think that works now 12:04
going to run codetest etc will post patch for t/op/debuginfo.t in a bit 12:07
got to go to the store - will run tests
12:11 ruoso joined 12:15 Whiteknight joined 12:26 AndyA joined 12:28 DanielC joined 12:41 elmex joined
Whiteknight bacek: ping 12:56
purl msg bacek Can you write about some of your annotations-related work in NEWS? 13:00
purl Message for bacek stored.
13:00 burmas joined 13:03 gryphon joined
dalek rrot: r39569 | whiteknight++ | trunk/NEWS:
[NEWS] Add a preliminary selection of news items from the past month, based on my understanding of short, oblique SVN log messages
13:04
bacek Whiteknight: "+ Initial version of Packfile PMCs with read/write capabilities" 13:06
"+ Support for 'self' in NQP"
Whiteknight that was your annotations work? 13:08
afk_coke I want "lexical trace mode", so I can say "make this .sub have verbose tracing, but disable it whenever I leave the sub."
Coke (whenever you use PGE, it's mandatory. :|) 13:09
bacek Whiteknight: I did nothing with annotations. It probably was Tene and jonathan.
Whiteknight bacek: r38965 "Merge branch tt504_annations" 13:10
dalek rrot: r39570 | whiteknight++ | trunk/NEWS:
[NEWS] Added two items for bacek++
13:11
bacek yeah. It was PackfileAnnotations :)
Whiteknight ah, okay
nopaste "mikehh" at 90.209.69.154 pasted "PATCH to correct TODO PASSes in t/op/debuginfo.t" (45 lines) at nopaste.snit.ch/16917 13:15
mikehh the patch passes all tests - no extra TODO passes 13:16
Whiteknight wow, nice work
mikehh++
mikehh codetest etc passes
if fact with that patch make fulltest passes 13:17
Whiteknight are you a committer?
mikehh no
I just hope there are no probs on other paltforms 13:20
I am running Ubuntu (.04 i386 13:21
9.04
Whiteknight I'm on 9.04 x86_64, so can't help much with diversified testing
dalek rrot: r39571 | barney++ | trunk/t/library/p6object.t:
Add test for registering a parrotclass.
13:25
13:34 buildbot joined 14:03 PacoLinux joined
Coke remembers to run fulltest with TEST_JOBS this time. 14:12
no love on pbc_to_exe, huh?
wow. I am getting a TON of fulltest failures. 14:14
nopaste "coke" at 72.228.52.192 pasted "failures on os x/x86" (38 lines) at nopaste.snit.ch/16920 14:15
14:15 burmas left
Util Coke: which aspect of pbc_to_exe are you referring to? 14:21
mikehh coke: my patch should at least fix the first one - nopaste.snit.ch/16917 14:25
sorry
Coke: my patch should at least fix the first one - nopaste.snit.ch/16917 14:26
Whiteknight Coke: Don't say that! fulltest was running perfectly for me a few minutes ago
14:28 davidfetter joined
Coke Util: there's a ticket.. 14:37
code.google.com/p/partcl/wiki/ParrotIssues -> trac.parrot.org/parrot/ticket/691 14:38
Whiteknight: it's failing for me drastically on os x/x86
Util coke, thanks 14:39
Whiteknight shit, I'm getting failures now in t/op/trans.t
Coke /drastically//
Whiteknight bacek: ping 14:41
purl msg bacek I'm getting some failures in t/op/trans.t, could r39565 or r39538 cause that? 14:42
purl Message for bacek stored.
Whiteknight Coke, what is failing specifically?
Coke Whiteknight: feather.perl6.nl/~coke/fulltest.txt 14:44
(that's darwin)
no new failures on partcl...
Whiteknight: linux looks fine... 14:45
Whiteknight urg 14:46
Coke Whiteknight: I don't run fulltest often; no clue when those were introduced. 14:47
I can probably give someone remote access to the box in question.
mikehh whiteknight: don't fail for me at r39567/8
Whiteknight I don't have any time now to do any remoting myself 14:48
pmichaud Good morning, #parrot 14:50
mikehh hi
davidfetter OH HAI
purl bonjour, mikehh.
Coke pmichaud: thanks for your input this weekend. couldn't override :vtable in PIR on a PMC, so I ended up just converting the whole PMC to PIR. 14:52
bacek Whiteknight: pong 14:53
Coke (which caused a few wierd spec test regressions I'm hunting down, but is otherwise going ok)
pmichaud Coke: glad to help.
Whiteknight bacek: I sent you a few messages
hello pmichaud
bacek Whiteknight: can you nopaste failures? 14:54
Whiteknight nopaste?
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
moritz make fulltest pass on linux/amd64 with --optimize
nopaste "whiteknight" at 66.252.102.37 pasted "test failures for bacek++" (32 lines) at nopaste.snit.ch/16921 14:55
Coke does PIR support SUPER? 14:56
Whiteknight yeah, I had a successful fulltest last night on that platform, although I didn't optimize
Coke: no
there is a way to do it, but it involves the PMCProxy and it's a mess
14:56 PerlJam joined
Coke oh, right. I'm already using that trick. Thank you. 14:57
Whiteknight no prob
bacek Whiteknight: oh. platform and Configure.pl flags? 14:58
Whiteknight Win32, no configure flags
Strawberry Perl 14:59
purl hmmm... Strawberry Perl is found at strawberryperl.com/
bacek msg mj41 Can you add just Win23 into TapTinder?
purl Message for mj41 stored.
15:04 Theory joined
bacek Whiteknight: can you tweak test to output N2? Line 245, right before "print not" 15:05
Whiteknight it didn't fail when I did that. Let me rerun the tests 15:10
bacek Btw, I've got failure in t/pmc/pmc.t. Didn't see it yesterday. 15:11
Is Win32 jit capable?
Whiteknight yes
I can't duplicate the failure outside of make testj, which is weird 15:13
bacek May be this is a problem. Some of those tests marked with @jittodo. Some of them - not. But technically - all this functions are very similar. 15:14
Whiteknight bacek: The value is NaN in make testj 15:16
bacek hrm... 15:17
but... It's not parsing floating point. Second part is for "tanh N2, I1"... 15:19
So it's just "N2 = tahn 1". And I bet that "1" parsed correctly!
15:20 donaldh joined
bacek We need jit expert to fix it. 15:21
o wait...
Coke pmichaud: wierd. $P0 = 5 (when a PMC), then $P0[0] was returning ""; now it's returning NULL. 15:23
(so am cheating by overriding the get_string_keyed_int vtable to convert it for me.
bacek Whiteknight: trac.parrot.org/parrot/ticket/530#comment:2
pmichaud Coke: that sequence doesn't make sense to me. 15:24
15:27 donaldh left
Coke if I pre-extend a list to size FOO; and then ask to stringify the list, I walk through the elements, asking for the string value of each one (and potentially modifying it for display). When my list was a PMC, an element existed due to the extension (but had never been set), returned an empty string. 15:29
now that it's PIR, I have to override the "give the string representation of the Nth element" to return the empty string where it would otherwise be the NULL string.
One wonders why I'm pre-extending a subclass of RPA, though. =-) 15:33
pmichaud oh, so you're using $P0 = 5 to pre-extend the list. 15:34
okay, I'm used to doing that with 'assign' instead of 'set'.
normally RPA returns "" for any unset elements of an array.
(if asking for a string)
Coke right.
my subclass was returning null.
(class vs. dynpmc) 15:35
15:35 Andy joined
pmichaud it's not inheriting what RPA does? 15:35
oh, src/pmc/fixedpmcarray.pmc:303 looks bogus. 15:36
compare to line 286.
NotFound pmichaud: Have you looked at my last patch in TT #752? 15:41
pmichaud I looked at the discussion, not the patch. Looking. 15:42
15:44 viklund_ joined
pmichaud looks like we're starting to see the rash of -G failures again. 15:44
nopaste "pmichaud" at 72.181.176.220 pasted "-G failures rear their ugly head again" (34 lines) at nopaste.snit.ch/16922 15:46
pmichaud (note test #6 in the nopaste) 15:47
NotFound: TT #752 doesn't really solve my problem. 15:49
(the patch)
NotFound pmichaud: it pass the test case for me
pmichaud sure, but you have ICU.
NotFound I don't
I'm buliding with debian amd64 without icu right now 15:50
pmichaud oh.
15:50 amuck joined
pmichaud okay, I'll look again. Did you see my note to the list about this issue? 15:50
lists.parrot.org/pipermail/parrot-d...02357.html
I think there's a bug in utf8->to_encoding 15:51
NotFound If fails if I make it to convert to utf16 by default, but I make it to use utf8 for ascii, utf8 and latin1 cases.
pmichaud okay. My patch in the mailing list does the same thing (convert to utf8), but gives me a segfault. Any ideas why? 15:52
NotFound pmichaud: note that this patch always uses to_charset and to_encoding, to be on the safe side.
pmichaud: probably because some code somewhere assumes that utf8 encoding implies unicode charset, and that assumption fails because of other assumptions on other parts. 15:54
%-)
pmichaud well, in the specific test case I give, it's all unicode charset.
(since unicode is a superset of iso-8859-1 and ascii)
so I don't think that quite explains it.
NotFound pmichaud: it is in the real world, but not in parrot code. 15:55
pmichaud Okay. I'm saying that we need to find that bug and fix it.
NotFound iso-8859-1 is charset iso-8859-1 and encoding fixed 8
pmichaud We shouldn't just work around it for this one case. 15:56
NotFound Different charset, different encoding, If you just change the encoding the result is not what other parts of parrots expect.
pmichaud Okay. I'm saying that we need to find that bug and fix it. 15:57
We shouldn't just work around it for this one case.
"working around a special test case" is what led to this point in the first place.
NotFound Then tell people to stop complaining about not being able to do things without icu. 15:59
pmichaud I did do that.
I've been told that requiring ICU isn't an option until July. 16:00
Coke for perl or parrot?
NotFound For rakudo, or for parrot?
pmichaud for parrot.
Coke heh.
pmichaud but the bug we're experiencing is a parrot one, and it's unrelated to ICU.
NotFound pmichaud: then what we do for this month release? Workaround, or nothing? 16:01
pmichaud When will the workaround get taken out?
wait, we're off on a tangent. 16:02
Let me back up.
In the email I sent to the list, I point to a place where there's a known segfault.
There's a segfault that shouldn't be there.
NotFound That depends on what you consider a workaround. Dropping the special case for utf8 can be easily done. Stablishing a permanent and well documented behaviour, I don't know.
pmichaud I have a repeatable test case that demonstrates the segfault.
You're proposing to change my test case so that we don't see the segfault. I claim that's wrong. 16:03
Given that Rakudo is now experiencing segfault-and-gc issues again, I'd like us to be addressing the segfaults.
The segfault I'm seeing is completely unrelated to ICU.
so, to get to your question of "what do we do for this month release".... if the option is "workaround so that a test case passes but leaves the segfault undiagnosed", I'm opposed. 16:04
NotFound pmichaud: Did you mean the segfault when applying the patch you put in that thread?
pmichaud Yes. 16:05
NotFound I'll take a look at it.
pmichaud Changing a string's encoding to utf8 should not result in a segfault.
NotFound pmichaud: but note that the workaround is not for that segfault, but for the concatenation problem that originates all that discussion.
pmichaud: it doesn't segfault for me. It says 'equal' 16:13
Whiteknight the whole mechanics of string encodings still mystifies and frightens me 16:15
pmichaud NotFound: on my system, I get a segfault after the equal. See the mail. 16:19
Yes, I note that the workaround is for the concatenation problem that originated the discussion. However, your workaround ultimately uses the same routine that my post in the email does, which leads to a segfault.
NotFound I'll try in a 32 bit system in a few minutes 16:20
16:20 jhorwitz joined 16:21 Psyche^ joined
pmichaud I do think your patch is more of a correct solution, however, by changing the charsets to match as well. So I think I'll do that in my version and see what happens. 16:21
oh, wait. 16:26
Apparently it's the "debug 1" that is causing the segfault.
eliminating it, or changing it to "debug 0" no longer segfaults.
Okay.
NotFound What debug? 16:27
purl well, debug is 1 to see what => being sent and received 'down the wire'
pmichaud in my test PIR script
I had a "debug 1" in there to make it easier to trace with GCC.
er, GDB.
NotFound Yes, adding that it segfaults for me. 16:29
pmichaud okay.
I'm revising my patch and I propose we use it.
(I'm revising to change charset instead of encoding) 16:30
(or to change both)
nopaste "pmichaud" at 72.181.176.220 pasted "my proposed fix to TT #752" (52 lines) at nopaste.snit.ch/16923 16:31
pmichaud I'm running "make test" now. 16:32
16:33 eternaleye joined
pmichaud actually, I have an even better patch. One moment. 16:33
16:35 eternaleye_ joined
nopaste "pmichaud" at 72.181.176.220 pasted "better fix to TT #752" (55 lines) at nopaste.snit.ch/16924 16:35
NotFound pmichaud: looks good 16:40
16:41 eternaleye joined 16:42 cghene joined
pmichaud I get a couple of failures where it's expecting utf16 results.... just a sec 16:44
NotFound It pass for me, I think because all that tests are skiped when no icu. 16:45
pmichaud correct.
I'm going to update the encoding just a bit more.
NotFound Still segfaults with debug 1 16:47
pmichaud yes, that appears to be a separate issue. I'll add a note to my mailing list post. 16:48
16:50 Sark joined
pmichaud string_cs.t seems to assume that concatenating utf16 should always result in utf16. I'm not sure I agree, but... 16:53
NotFound I think we need more unicode encodings 16:56
pmichaud I'm happy with utf8 and utf16 :-)
NotFound They are variable length. 16:57
pmichaud utf16 is fixed width.
NotFound Is not
pmichaud depends on what you mean by "width"
utf16 has the surrogates that handle things in the upper page blocks 16:58
at any rate, we have at least one more encoding coming, according to the new strings pdd :-)
NotFound The same can be said with utf8 and the 8th bit
17:00 Theory joined
TimToady I do not consider utf16 to be fixed width 17:00
pmichaud fair enough, I agree.
(upon reconsideration) 17:01
TimToady surrogates are evil
pmichaud I completely agree.
I read something in my unicode book that said utf16 was fixed width, but upon reflection I disagree with that.
NotFound pmichaud: It was, a lot of years ago. But it wasn't called utf16 at that time, I think. 17:02
pmichaud the book is the Unicode 4.0 guide. It understood the difference between utf16 and ucs2
moritz UCS-2 is usually said to be fixed-width
NotFound moritz: It is, but it has limited range.
TimToady so does UCS-1 :) 17:03
NotFound The same as iso-8859-1 is a unicode encoding of fixed width with limited range.
And ascii.
17:04 ruoso_ joined 17:05 ruoso_ joined
Coke wonders if/when he should retest partcl after the unicode changes. =-) 17:07
pmichaud finally, all tests pass. 17:17
nopaste "pmichaud" at 72.181.176.220 pasted "patch to fix string concat (TT #752)" (61 lines) at nopaste.snit.ch/16926
NotFound pmichaud: pass for me in amd64, now with icu 17:24
dalek rrot: r39572 | pmichaud++ | trunk (2 files):
[core]: Fix to TT #752 to get concatenation of mixed string types to work.
Coke pmichaud: no core partcl failures with r39572 17:37
(running the spec tests for string/utf handling)
dalek TT #752 closed by pmichaud++: Parrot concatenates iso-8859-1 and utf8 incorrectly 17:39
pmichaud Coke++ # thanks
I'm pretty comfortable with the patch doing the right thing for now. 17:40
It will undoubtedly be revisited/re-implemented when work begins on the new strings implementation.
NotFound pmichaud: agree 17:41
skids when and who is doing the new STRING? 17:42
Coke SFAIK, there is no concrete time line at this time. 17:45
simon cozens had started to spec out the new interface.
skids is he posting/blogging that somewhere? 17:46
NotFound I think that there is a branch with seudocode for some operations.
Coke pmichaud: stringComp.test is ABENDing.
I'll try to figure out if/when it broke. 17:47
skids was that the branch I saw someone say was rather old a few days back?
Coke er, s/if//
NotFound skids: probably yes
Coke last updated in january. never kept up to date with trunk. 17:49
trac.parrot.org/parrot/wiki/BranchDescriptions //Strings
skids thanks.
18:03 sekimura joined 18:09 viklund_ joined 18:13 Theory joined
he_ Hi, folks. 18:15
I'm doing "Testing for 1.3.0", as directed by the title, and ... have a new failure. I'll send a nopaste. 18:16
nopaste "he" at 158.38.152.63 pasted "t/pmc/eval.t test failure stack backtrace++" (106 lines) at nopaste.snit.ch/16927
18:17 chromatic joined
dalek kudo: 0d5221a | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get latest parrot changes.
18:52
18:55 mikehh_ joined
NotFound he_: What were you executing to get that failure? 18:58
19:20 donaldh joined 19:22 particle joined
dalek kudo: d3185be | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 404 files, 11535 passing, 0 failing
19:28
kudo: ba09b27 | pmichaud++ | :
Merge branch 'master' of git@github.com:rakudo/rakudo
NotFound pmichaud: the segfault in your test is no strings related at all, is a pitfall in the debugger ops.
pmichaud correct.
did I say it incorrectly in my message?
NotFound I have a simple fix for it.
pmichaud (checking)
NotFound pmichaud: no, is just the conclusion of some test I'm doing 19:30
pmichaud oh, okay.
19:32 donaldh left
dalek rrot: r39573 | NotFound++ | trunk/src/debug.c:
[cage] fix for a problem with the debug op found while working on TT #752
19:37
20:03 mikehh joined 20:07 mikehh_ joined 20:18 Theory joined
pmichaud NotFound: You might want to look at TT #760. 20:24
NotFound pmichaud: I'm doing right now 20:27
The diagnostic is wrong, FileHadle.readline_interactive returns NULL 20:30
BTW I've never used a system that has a default of control-G for eof 20:32
pmichaud me either... I think it's really CTRL-D 20:35
anyway, I can verify that it fails under current trunk.
NotFound Ctrl-D is the default value in unix systems, and windows uses ctrl-z since the times of ms-dos and cp/m AFAIK 20:36
pmichaud (rebuilding trunk, then will nopaste) 20:38
NotFound I agree that setting the EOF flag in the filehandle is reasonable, anyway.
pmichaud that also requires a deprecation cycle, I think.
nopaste "pmichaud" at 72.181.176.220 pasted "trunk readline_interactive is incorrect" (29 lines) at nopaste.snit.ch/16928 20:40
NotFound pmichaud: that test is wrong 20:41
pmichaud how so?
NotFound The string is null, the pmc that contains a null string is not. 20:42
pmichaud NotFound: no.
readline_interactive has been defined from the beginning to return NULL when reaching EOF
in particular, it's been defined to return a PMCNULL
NotFound pmichaud: It returns a NULL string.
pmichaud NotFound: I'm telling you the way it was defined in 1.0.0 20:43
you cannot change that definition without a deprecation cycle
the definition of returning a NULL PMC has been in place for a very long time
NotFound So it returned a PMC, not a string?
pmichaud YES.
not an empty string.
NotFound That's a different kind of problem.
pmichaud readline_interactive returns an empty string if the person simply hits "enter" ( any newline is automatically chopped off ) 20:44
so the way to determine EOF has always been to check for a Null PMC
NotFound I don't get it. It must return a PMC only for the eof case, or it must always return a PMC? 20:48
pmichaud it doesn't really matter, normally. 20:49
because the calling conventions normally take care of casting to alternate forms.
i.e., it would work even if I did $I0 = $P0.'readline_interactive'('prompt') 20:50
NotFound pmichaud: here lies the problem: the calling conventions does not convert a NULL string to a NULL PMC.
pmichaud a NULL string isn't EOF.
I don't need it to convert a null string to a null PMC
a null string should be returned as a null string. 20:51
the way it was set up in the 1.2.0 was correct.
NotFound There is no way no read a null string. An empty line is an empty string.
pmichaud sure, no problem. 20:52
but an empty line is returned as a null string.
NotFound pmichaud: the current code does not do that.
pmichaud NotFound: the current code is WRONG.
the interactive readline code chops off the trailing newlines of any input data.
you may disagree with the design of 'readline_interactive'. That's fine if you disagree there. But it cannot be changed without a deprecation cycle. 20:53
NotFound pmichaud: the readline lib already does that
pmichaud That's my point.
(the readline lib already does that) -- that's my point. 20:54
NotFound Already does the chop, but does not return null
pmichaud please, let's get some terms straight
what do you mean by "null string"?
NotFound At c level (char *) 0. At parrot level (STRING *)0 20:55
pmichaud okay.
so, "null string" is a 0 pointer.
"empty string" is a string of zero length.
okay so far?
NotFound Yeah, bot in C and in parrot strings
20:56 Andy joined
pmichaud now then, the readline library returns an empty string if there's an empty line of input, yes? 20:56
NotFound Ok
pmichaud the readline library returns a null string if EOF is reached
the readline_interactive method must return a PMCNULL if EOF is reached
because otherwise the caller doesn't have an easy way to determine that EOF has been reached. 20:57
if EOF is not reached, then readline_interactive simply returns whatever string it got back from the readline library.
NotFound Minor point: if EOF is found without reaching EOL, it does not return NULL.
pmichaud fair enough, but not a major issue to the way things are set up. 20:58
again, readline_interactive was explicitly created to mimic the behavior of the readline method in earlier versions of Parrot (but also providing better prompting support)
so you can't claim that my test is wrong, because my test is testing the API that was set up for Parrot 1.0.0 20:59
NotFound pmichaud: is wrong as a way of checking if it returns NULL. It already returns NULL, just a different kind of NULL than expected. 21:00
pmichaud how do you think it should be testing for NULL? 21:01
and that question is bogus anyway.
In 1.0.0, the way to check for EOF from readline_interactive was to check for PMCNULL.
NotFound pmichaud: for the current state of the code, using a string for the result, not a pmc
pmichaud how does one check for a null string in PIR?
NotFound Same as a pmc, just using a string register 21:02
Anyway, we can just change the method to always return a PMC, both for eof and not eof cases. 21:03
pmichaud that's fine with me. I just don't want to see an API change without proper deprecation.
NotFound A null pmc for eof, a string pmc otherwise.
pmichaud why was this changed in the first place, out of curiosity?
it was working correctly in 1_2_0
oh. 21:04
There is no "isnull" opcode for string registers.
NotFound pmichaud: I remember a talk about inconsistently returning string or pmc, don't remember if it was about this method or another thing.
pmichaud So, it's not "same as a pmc"
NotFound pmichaud: I've been testing with 'unless null ...' and works fine :? 21:06
pmichaud it looks like there's an "unless_null" for string registers, yes.
but not an "isnull"
NotFound Ah, the isnull opcode... I didn't think about that.
There is some reason for not having it? 21:07
pmichaud Not that I'm aware of. We could potentially add it. Still, the readline_interactive needs to be able to work with PMCs
NotFound pmichaud: I think the clean solution is to always return a PMC. 21:08
pmichaud I should be able to do $P0 = $P1.'readline_interactive'() and have it do the right thing.
why always return a PMC?
that seems inefficient.
NotFound Consistency.
purl it has been said that consistency is a problem. or highly overrated or the hobgoblin of small minds or (see FOOLISH consistency)
pmichaud why does it need to be consistent? (more)
NotFound Good question 21:09
purl Yeah, it is. I'm stumped.
pmichaud or are you claiming that all of the PIR methods we right should also consistently always return the same thing?
right now in PIR we can do
.return ($P0)
and
.return ($S0)
in the same method. Why would this need to be any different?
s/right/write/ # above 21:10
NotFound I'm most used to statically typed systems
pmichaud In general, I think type conversions should be left up to the calling conventions as much as possible, since we have them.
if we always return a PMC, then
$S0 = $P1.'readline_interactive'() 21:11
will end up always creating a PMC that is immediately thrown away.
bacek good morning #parrot...
NotFound pmichaud: not a big speed problem for interactive usage, but I see the point. 21:13
pmichaud yes, I agree it's not a big speed problem.
given that we even have a way to check string registers for null, I don't have an issue for that. At the time when all of this was being put together, I didn't realize there was a way to check string registers for null because there wasn't an appropriate isnull opcode 21:14
21:15 Whiteknight joined
NotFound Well, I think a good plan might be: restore the old behaviour now, propose to deprecate it in favour of returning a null string, and propose to add a isnull opcode for string 21:15
pmichaud I think I'd be okay with that. 21:16
Whiteknight +1 from me
just so long as we get a fix in for the release tomorrow
NotFound Whiteknight: I'll do that
pmichaud well, from a parrot perspective it has to be fixed by 1.4.
Having it fixed by tomorrow would be a bonus, yes. :-)
Whiteknight NotFound++ 21:22
t/codingstd/paren.t failure: /home/andrew/Projects/parrot/src/string/api.c 21:25
mikehh ditto - all other tests pass on make -k fulltest on Kubuntu 9.04 Amd64 at r39573 21:27
Whiteknight i just put in a fix
NotFound There is a minor problem: returning PMCNULL causes a Null PMC access exception when using a string for the result, but I suppose that code that expected the previous behaviour never does that,
mikehh I did apply the patch nopaste.snit.ch/16917
pmichaud NotFound: correct. 21:28
dalek rrot: r39574 | whiteknight++ | trunk/src/string/api.c:
[t] fix coding std failure
21:28 kid51 joined
mikehh I now pass fulltest on Ubuntu 9.04 i386 and Kubuntu 9.04 Amd64 (apart from the codetest failure) 21:30
The patch nopaste.snit.ch/16917 works on both
Whiteknight mikehh, is that patch associated with a ticket? 21:31
dalek rrot: r39575 | NotFound++ | trunk/src/pmc/filehandle.pmc:
[io] restore behaviour of readline_interactive, TT #760
mikehh whiteknight: I didn't create one - I can 21:32
Whiteknight don't worry about it, I'm testing it now
committed 21:33
mikehh++ 21:34
dalek rrot: r39576 | whiteknight++ | trunk/t/op/debuginfo.t:
[t] add patch from mikehh++ to fix TODO test passing in some places in t/op/debuginfo.t
21:35
mikehh :-} - that's two patches I got in today
NotFound Fix a TODO passing is don't do it? ;-) 21:37
Whiteknight fix it so it's not TODO and is always passing 21:39
NotFound Ah, good :) 21:40
BTW, I'm not having amd64 test errors for more than a week :) 21:42
Is a shame, I've installed a linux 64 in order to be able to work on that problems X-) 21:43
chromatic I rooted your box and made it a 32 bit installation. You're welcome.
NotFound I always thinked that there must be some obscure reason for the nopaste showing of the IP ;) 21:45
he_ NotFound: sorry; a trip to the cinema got between us... This is the result of running "perl t/harness t/pmc/eval.t", and it fails test 17 with "src/call/pcc.c:563: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'". 21:53
chromatic Did you 'make realclean' and rebuild, he_? 21:56
he_ chromatic: yes, "make distclean; perl ./Configure.pl && make && make smoke". I can repeat just to be absolutely certain. 21:57
chromatic Is distclean different from realclean? 21:59
I don't know the differences.
Ah, they're the same. Okay. Hm. 22:00
Tene chromatic: I found a FAIL in some C code that was last touched by you afaict... TT 757
he_ Not really; top-level Makefile has "distclean : realclean" 22:01
chromatic Tene, the fail is probably an old, old fail, but I can take a look.
Tene chromatic: Thanks. I'd really like to get threading working to some degree in rakudo. 22:02
chromatic Me too. 22:03
Autothreading would be spectacular.
Whiteknight what is the state of the Parrot threading system? 22:06
I know it "works" to some degree, but don't know if it's good or needs work or what
chromatic Cloning interpreters doesn't fully work.
I think there's a problem cloning classes and other interpreter global information.
Whiteknight that doesn't sound so bad 22:07
the code I saw seemed a little old and messy but otherwise sane 22:08
chromatic It's not horrible. It's merely incomplete. 22:10
Tene Whiteknight: The pir file attached to TT757 exposes a bug with class cloning, iiuc. it runs fine without perl6.pbc loaded, but when you uncomment the load_bytecode perl6.pbc, it fails an ASSERT. 22:11
Whiteknight Somebody else had done some work on that system (chromatic?) after I wrote it, poorly
I'll take a look at the ticket, how urgent is it? 22:12
Tene Whiteknight: if someone can get it working, I can add 'async' to rakudo, afaict. 22:13
To get basic threading.
And after that, maybe some autothreading.
Whiteknight oh wow, okay, so that is important
can it wait till after the release though?
Tene Well, I don't know if anybody is actually blocking on async.
22:13 jan joined
Whiteknight okay 22:13
Tene Um, ask pmichaud? 22:14
Whiteknight next month will be a big one for asynchronous stuff, I think
Tene Oh! I'm kinda blocking on it... as far as "this would be fun to play with" counts as a blocker. ;)
Which is "not much". 22:15
chromatic I think we have more important blockers to concentrate on first.
Tene Rather. :)
chromatic I'd like to talk about that at YAPC next week. 22:16
Whiteknight talk about what, our short-term priorities? 22:17
I've got AIO in my sights now, and I'm tackling that system soon, come hell or high water 22:18
Infinoid What assert does it fail? 22:19
Whiteknight Maybe one more round of IO cleanups as soon as the release lands, and then it's on to AIO
Tene sad to be missing YAPC
Infinoid: ./src/pmc/parrotinterpreter.pmc:94 22:20
Infinoid sees about reproducing that in gdb 22:21
Tene I always have trouble remembering how to get information from parrot structures in gdb, and have to re-discover every time. 22:22
chromatic Not our short term priorities but how we handle priorities and milestones and tasks. I think we could be more effective.
Tene Infinoid: it fails on the first iteration, and class_name is "Perl6;Grammar;Actions"
if that helps 22:23
Infinoid thanks, I'm gonna start by seeing which class it's calling the exists_keyed_str vtable on 22:24
Tene Infinoid: parrotinterpreter 22:26
look at line 80 22:27
also at the signature of the function 22:28
Infinoid I don't get an assert failure
I get: get_pmc_keyed_str() not implemented in class 'Key'
Tene I remember seeing that after I removed the assert
22:28 viklund_ joined
Whiteknight chromatic: I agree, we haven't been too good at estimating what tasks will get done when 22:29
chromatic More than that, we still flail around at the edges of the important tasks and sometimes poke at them. 22:30
We do pretty well when we work together on things, but we don't work together on things as often as I'd like. We could be more effective. 22:31
Whiteknight I agree with that, but those are intrinsic mechanics of volunteer-driven groups
people work on what interests them first, which isn't necessarily what's best for the organization
Tene Whiteknight: that doesn't mean that we can't try to do something different (on a volunteer basis)
Whiteknight Tene: Oh, I definitely agree, we need to encourage people to work on important things, but not get discouraged when they don't 22:32
it's like herding cats
Tene Whiteknight: I'm often primarily interested in "Doing something for parrot", but the current priorities aren't very clear.
Infinoid cats who like shiny things, and often disagree on which things are shiny
Tene Not so much in the past few months, but before that I often came in here, asking "Is there anything anyone wants me to work on?" 22:33
22:34 rg1 joined
Tene I don't do that so much anymore due to lask of response and decreasing available time. 22:34
Whiteknight chromatic: What in your mind is highest priority right now?
Infinoid It often seems like the highest priority stuff (like, for instance, making PCC faster and making the GC suck less) are the least approachable tasks to those people who are just looking to throw a spare hour at parrot here and there 22:36
Whiteknight I'll be happy to focus on whatever is the task du jure, allowing for some focus on areas of personal interest 22:37
Tene My life is settling down a lot lately... I'm looking to have a regular scheduled Parrot Hour every evening. 22:38
Whiteknight Tene: luck you! my life is becoming increasingly unsettled
Infinoid The last couple of weeks were a statistical outlier, it's all downhill from there for me too 22:39
he_ chromatic: new test results are same as before (as expected), smolder.plusthree.com/app/public_pr...ails/23783 22:40
Tene Whiteknight: seems like I'm paying for the next year's complexity and stress over about two weeks, centered around last weekend. 22:41
so, it's a tradeoff. :) 22:42
Infinoid noms PBJ and tests the TT #726 patch for leaks 22:48
Yay, no leaks. 22:53
Infinoid will commit it after 1.3.0
chromatic I'm not sure what the current priorities are.
Infinoid Actually, putting a priority in the channel topic has helped me a lot
chromatic Obviously PCC rewiring (but that one depends highly on Allison either to explain or finish).
Installable Parrot and HLLs running from installable Parrot. 22:54
NotFound Tene: <Tene> I always have trouble remembering how to get information from parrot structures in gdb, and have to re-discover every time.
chromatic Multidispatch semantics, I think.
NotFound Tene: a page in the wiki about that will be helpful
chromatic It'd be nice to have a regular plan for refactoring a part of Parrot.
Infinoid NotFound, Tene: There are some helpers in tools/dev/.gdbinit 22:55
chromatic Mostly I'd like to pick one or two targets for each monthly release, have someone take charge of breaking it up into bite-sized tasks, and help herd all of us to getting it done.
Whiteknight chromatic: I was looking at the pcc_rewiring branch the other day, and just merging it up to trunk HEAD is a bit of a nightmare 22:56
chromatic Yeah, it needs smaller merges.
Tene I remember several times seeing someone working on a branch, and not having enough information about the branch to help.
chromatic Or git.
Tene The majority of our branches have been one or two person affairs, and if that person loses momentum, the work is lost. 22:57
iirc
Whiteknight chromatic: I'm almost convinced that the best way forward on pcc_rewiring is to delete the branch and start a shorter-lived one in it's place
although there's a point beyond which a large chunk of work needs to get done between merges, to migrate things from one system to another
chromatic That's one of our problems. We have plenty of expertise and people to solve a problem, but too often the solution to that problem is in one person's head where it's difficult to collaborate.
Infinoid eats some git spinach and takes a crack at merging
Tene I'll try a pcc merge with git. 22:58
NotFound The same might apply to the strings branch
Whiteknight Infinoid: I got the merge to work today, but it was ugly
and I lost track of some metadata along the way, so I have to redo it later
chromatic It should just be a git rebase, if I understand git correctly (and I'm not sure I do).
Whiteknight on the bright side, it does clean up the error backtraces significantly
because of all the io_rewiring work, cleaning up PCCINVOKEs in the IO system
Infinoid chromatic: Yep, that's what it is 22:59
How's pmc_pct going?
chromatic That's cotto and bacek, I think. 23:00
I've watched how they work and I watch how Allison and I can work and I watch how Patrick and Jonathan work, and I believe more strongly that we go faster and write better code when two people tackle a problem.
Infinoid I just think we have a lot of rock stars. :) 23:01
Tene Yeah, it doesn't merge cleanly, and I don't know enough about the changes to sanely resolve the merge conflicts.
Whiteknight chromatic: I'm sure of it, Infinoid and I did really well together this month, and I'd be happy to pair up on other projects in the future 23:02
chromatic Pairing would be good. Maybe that's sufficient. 23:03
I hate to introduce that dreaded P-word into the discussion, but a little more formality on how we approach things might help a lot. 23:04
Whiteknight I'm very open to the idea of pairing
Infinoid Whiteknight++ # You did most of the work, I just swung through like a pirate and stabbed a couple of things sticking out
Whiteknight and like I said, I'll work on anything people have a clear need to do, and without a major focus I work on areas of personal interest
I'm looking forward to some real heads-together hacking at YAPC, if we can find time to do that 23:05
chromatic That's the sticking point Allison thought might come up; people work on what they want to work on.
Infinoid I need to figure out a way to get there
Problem is I can't actually stay for YAPC, so I'd just be going for the hackathon 23:07
Then again, I'm an hour away from Whiteknight, maybe I can just drop by some other weekend with pizza.
NotFound pizza++
chromatic Thursday wouldn't be bad. 23:09
Whiteknight I'm leaving tuesday evening, unfortunately 23:10
Infinoid: I would love to get together for hackathons
Coke yay, ^D now closes interactive tcl.
... of course, [exit] doesn't. wierd. figured those were the same problem. 23:11
Whiteknight chromatic: First step is identifying our priorities, second step is motivating people to tackle them
Coke the roadmap was supposed to help identify priorites. 23:12
Whiteknight getting together for focused planning meetings for those tasks would be nice, like #ps but focused on a single task
NotFound The addition of an isnull (out INT, in STR) opcode needs a RFC, or it just doesn't exist because nobody noticed his absence?
Coke but they really need more requirements than just "bullet item".
Whiteknight NotFound: I say add it, but maybe ask tomorrow at #ps to be sure
Coke perhaps have a patch ready in case no one minds. =-)
NotFound Whiteknight: ok
Tene Several times, I've found a severe lack of information on the roadmap. 23:13
chromatic That's just it.
The idea was in someone's head at some point, but it's not available in a form that lets Tene say "Oh, I can do THIS in an hour" or Infinoid say "I have Saturday morning free" or Whiteknight "I'll take my laptop while my wife is watching Pride and Prejudice again." 23:14
Whiteknight I think a part of it is uncertainty about who can and should be updating design docs 23:15
and what the process is for putting plans together, and where such plans should be
chromatic Yep.
We do that ad hoc anyway though. 23:16
Whiteknight I do a lot of informal planning on my blog, but that's only helpful to me and the one dude who reads it
NotFound Coke: I located the exit problem some months ago while putting a hand on ecmascript. Exceptions are unconditionally catched by the code generated by the tools, and the interactive loop reentered.
Infinoid Whiteknight: Can has blog URL? 23:17
purl, whiteknight?
purl whiteknight is mailto:wknight8111@gmail.com or the grand master funk
23:17 Andy joined
Whiteknight the parrot-related posts are in the planet.parrot.org aggregator 23:18
planet.parrotcode.org
purl i guess planet.parrotcode.org is the aggregator
23:18 skids joined
Coke NotFound: I just figured that out. (Easier to see now that the ^D issue is fixed.) 23:19
of course, since I have my own REPL, have to figure it myself.
s/have/had/
NotFound: looks like that never would have worked. =-) 23:20
Tene I wonder how helpful it would be to have explicit "email <tene@allalone.org> for more information on what's required here" notes.
NotFound In ecmascript I worked around that by throwing a fatal excpetion, but I don't think that is a good general solution.
chromatic email has too much latency.
Tene presuming the content of those emails would be "Please add detail on A, B, and C to the page"
Phone? ;) 23:21
dalek rtcl: r502 | coke++ | trunk/src/tclsh.pir:
Allow [exit] to leave the REPL
Infinoid purl, whiteknight is also wknight8111.blogspot.com/ 23:22
purl okay, Infinoid.
23:27 patspam joined
GeJ Good morning everyone 23:28
everyone good morning, GeJ 23:30
nopaste "GeJ" at 202.22.227.128 pasted "NEWS: be consistent with previous releases and add '.' after each item. Also fix a couple of typos I found" (51 lines) at nopaste.snit.ch/16929 23:32
dalek TT #10 closed by coke++: -r33351 causes tcl segfault
GeJ I may have missed some. Never trust the English of a French. 23:33
Hello davidfetter
dalek rrot: r39577 | bacek++ | branches/tt761_keys_revamp (4 files):
[pmc] Initial version of HashIterator/HashIteratorKey.
23:36
bacek OH HAI.
GeJ G'Day bacek 23:37
23:38 eternaleye joined
kid51 Whiteknight: With Infinoid now in DE, possibility of East Coast hackathon becomes non-zero. 23:40
Coke I could be up for an east coast thing. 23:41
though I'll probably just show up and whine about how everyone keeps breaking partcl.
(which, oddly, hasn't happened recently.)
kid51 Sometime between Sept and Nov would fit nicely into the yearly conference cycle.
chromatic I seem to recall *fixing* partcl.
Tene Coke: Now that you can use partcl libraries from rakudo, you just need to get some tests that use partcl into rakudo's test suite. ;) 23:42
Coke chromatic: =-)
chromatic: I'm actually trying to close out a few bugs you fixed.
dalek TT #193 closed by coke++: segfault using -t1
Infinoid What's the difference between "Integer" and "INTVAL" from an MMD perspective? BigNum declares MULTI PMC *add(BigNum value, PMC *dest), MULTI PMC *add(Integer value, PMC *dest), MULTI PMC *add(DEFAULT value, PMC *dest) and VTABLE PMC *add_int(INTVAL value, PMC *dest), which confuses me. 23:44
one is for the .add method, and one is for the add op, I guess? 23:45
Coke I would expect INTVAL is 'int' 23:46
but I wonder why we wouldn't just write "int" instead of exposing the C type.
dalek rrot: r39578 | tene++ | trunk/NEWS:
minor NEWS update
rtcl: r503 | coke++ | wiki/ParrotIssues.wiki:
Several parrot tickets have been resolved.
Infinoid oh, I get it. Integer is a PMC type 23:47
chromatic Integer is the PMC type, isn't it?
Infinoid BigNum has a distinct lack of *_float vtables
Coke Is there any documentation on interacting with parrot's call chain? I wish to stop managing my own. 23:51
chromatic What do you have in mind?
kid51 I know certain people will hate to hear this but ... 23:52
Coke I need to be able to execute code in the context of higher levels.
or return control up N levels.
kid51 I'm getting a codingstd failure t/codingstd/c_indent.t fails on src/pmc/filehandle.pmc
chromatic [upvar]
Coke chromatic: yes. upvar, uplevel, return -level 4 continue
right now I manage my own and can pull off... most of that. 23:53
but it's extra work I shouldn't be doing.
chromatic I'm not sure how to do upvar, but return -level 4 should be following the return continuation chain.
kid51 This "bad indent" is the line after an #ifdef 23:54
Test wants 4 spaces; line is indented 8.
Coke kid51: that conflicts with another test. have fun. =-)
either that, or with good sense.
23:54 amuck joined
kid51 But line is indented 8 to be consistent with overall indent style: file is one big block 23:54
#ifdef has to be flush left, correct? 23:55
Coke /have/ to be? no.
chromatic Unless it's within an #ifdef.
kid51 lemme se
see
Coke This is one of those cases where it's not worth spending the time making the test pass.
chromatic: so, pointers to docs on return continuation chain? Esp. the part where I only care about HLL scopes? 23:56
chromatic Beyond the Continuation POD, I'm not aware of any. 23:57
There *might* be some general discussion of how things work in a PDD (calling conventions?) or docs/dev/ somewhere, but certainly not from an HLL implementor POV.
HLLIPOV
Coke bah. 23:58
ok. shelving that, then.
chromatic Consider it a cri-pportunity to provide some! 23:59