Camelia, the Perl 6 bug

IRC log for #parrot, 2009-08-26

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 payload joined #parrot
00:03 jrtayloriv Is there any way for me to just just the tests in t/ops and no others?
00:03 jrtayloriv t/op rather
00:04 darbelo prove t/whatever.t ?
00:04 jrtayloriv darbelo, thans
00:04 jrtayloriv thanks, that is :)
00:05 darbelo or 'prove -v' if you need more details
00:10 dalek TT #947 created by darbelo++: [PATCH] add word boundary assertions to code that looks at library flags ...
00:12 jrtayloriv Two questions about this test -->http://pastebin.com/d1f213122 ... (1) Why is it using a literal 2 in the interpinfo statements rather than the macros defined in runtime/parrot/include/interpinfo.pasm ? and (2) What is the PIR equivalent of 'interpinfo I1, 2', I looked around and found things that looked like 'interpinfo $I1, 2', but then I get "error:imcc:syntax error, unexpected PARROT_OP ('interpinfo') "
00:12 Whiteknight purl msg Infinoid I have a diff of the io_cleanups branch. It's old and I'm going to delete it soon. I want to separate out the pipes stuff from the misc cleanup items and work on them separately
00:12 purl Message for infinoid stored.
00:13 Whiteknight jrtayloriv: it's a bad test
00:13 Whiteknight it should be using the constants
00:15 jrtayloriv Whiteknight, How do I include them? I tried --> .include 'interpinfo.pasm' <-- and it said "Do you need to predeclare include?"
00:16 Whiteknight jrtayloriv: it sounds like your file is b0rked somehow. nopaste it?
00:16 bacek_at_work .
00:17 bacek_at_work Whiteknight: I "picked" first commit from context_pmc2 into context_pmc3 already. No idea about original context_pmc
00:17 Whiteknight okay, I'm going to delete them both then
00:19 bacek_at_work Whiteknight: yay! Reduce entropy ftw!
00:20 dalek parrot: r40805 | whiteknight++ | branches/context_pmc:
00:20 dalek parrot: [context_pmc] deleting unused context_pmc branch that has been superceeded by work in the context_pmc3 branch
00:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40805/
00:20 dalek parrot: r40806 | whiteknight++ | branches/context_pmc2:
00:20 dalek parrot: [context_pmc2] deleting unused context_pmc2 branch that has been superceeded by work in the context_pmc3 branch
00:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40806/
00:20 Whiteknight purl msg Infinoid actually it's going to be two diffs, there was a messy trunk merge in there that obscures things. I'm taking a diff of changes before (mostly cleanups) and changes after (mostly pipe stuff).
00:20 purl Message for infinoid stored.
00:20 jrtayloriv Whiteknight, http://pastebin.com/d4b4e53aa ... (it's the first test)
00:21 duk3leto There are a bunch of parrot test that use regexes to test floating point numbers. These should all be changed to use fp_equality.pasm
00:21 darbelo jrtayloriv:  $I1 = interpinfo 2
00:21 jrtayloriv doh
00:21 jrtayloriv thanks :)
00:21 duk3leto darbelo: are you looking for someone to apply http://nopaste.snit.ch/17675 ?
00:22 Whiteknight jrtayloriv: the .include line should be under the pir_output_is line
00:22 Whiteknight that's PIR, not Perl5
00:22 darbelo duk3leto: Yup, and close tt#947 for double karma :)
00:22 patspam joined #parrot
00:22 jrtayloriv Oh, I see -- so pir_output_is is kind of like a heredoc?
00:23 darbelo the paste is attached to the ticket as well.
00:24 duk3leto jrtayloriv: pir_output_is checks to see if the ouput of a PIR block is exactly a given string
00:24 Whiteknight jrtayloriv, yeah, that function's argument is a heredoc
00:24 Whiteknight so after that function call is all the PIR
00:24 duk3leto jrtayloriv: pir_output_like is used to see if the output of a PIR block matches a regex
00:24 duk3leto jrtayloriv: you can use a HEREDOC for the argument, but you don't have too.
00:24 darbelo jrtayloriv: have you seen test_more.pir yet?
00:25 jrtayloriv darbelo, no -- I just looked at test.pm and at tests.pod
00:25 jrtayloriv (but I will have a look-see
00:25 darbelo It makes Test::More available at the pir level.
00:25 duk3leto jrtayloriv: basically, try to write/convert tests to PIR, but sometimes you just have to write some tests in perl, if you want the ability to TODO things that don't parse, etc..
00:26 Topic for #parrotis now http://www.parrot.org | 1.5.0 "TEH PARROTZ!" Released! |  Weekly development focus: Bugfixing and stability. Keep those branches merging!
00:26 darbelo It has functions to output a plan() and has an is() functin that understands the core parrot types.
00:27 darbelo The file you paste could be converted as
00:28 darbelo ..sub test :main
00:28 darbelo .include 'test_more.pir' $I1 = interpinfo 2   # How many GC mark runs have we done already?
00:28 darbelo sweep 1
00:28 darbelo $I2 = interpinfo 2   # Should be one more now
00:28 darbelo $I3 = $I2 - $I1
00:28 darbelo is($I3, 1)
00:28 darbelo .end
00:28 duk3leto indeed. just make sure you have a newline between the .include and the $I1
00:28 darbelo Oh, yeah, That's a mis-paste.
00:30 darbelo Another example of an all-pir test file is at http://code.google.com/p/decnum-dynpmcs​/source/browse/trunk/t/rounding_mode.t
00:30 dalek parrot: r40807 | whiteknight++ | branches/io_cleanups:
00:30 dalek parrot: [io_cleanups] delete this branch because it's very old. I've taken diffs, I'll see about starting new, more-focused branches to implement individual components
00:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40807/
00:30 jrtayloriv darbelo, OK -- I'll do some reading into test_more. Thanks for pointing that out.
00:31 jrtayloriv Another question: I got the test to work, but I had a weird problem w/ say vs print. This gives an error ---> http://pastebin.com/d7abc867d ... but if I change the say to print, it works fine. Why?
00:32 jrtayloriv oh just figured it out ...
00:32 jrtayloriv say adds \n, correct?
00:32 Whiteknight yes
00:32 jrtayloriv ok
00:32 jrtayloriv (didn't see the apostrophe on the next line)
00:36 Whiteknight yeah, that tricky little bastard
00:38 darbelo jrtayloriv: t/op/integer.t could also be instructive in writing all-pir tests for parrot.
00:39 jrtayloriv darbelo, Thanks -- I was just planning to tweak out on converting tests to help me learn PIR
00:39 jrtayloriv (and PASM)
00:40 duk3leto jrtayloriv: most of t/pmc/*.t are PIR tests. t/pmc/string.t is a good example
00:41 Austin joined #parrot
00:41 darbelo A big part of the parrot test suite still uses perl with pir embeded in heredocs, those tests extract the pir, run it and compare it against the expected output. Trying to learn pir that way would probably make your head 'splode.
00:43 darbelo Other tests are just pir programs that output TAP (Test Anything Protocol, what the test harness expects). Learning pir that way is probably saner.
00:44 dalek parrot: r40808 | whiteknight++ | branches/gsoc_pdd09:
00:44 dalek parrot: [gsoc_pdd09] delete this branch. It's very old. I've saved copies of anything that might be interesting (files, diffs, etc) and may be able to apply some of these things to parrot HEAD at a later date
00:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40808/
00:45 Whiteknight purl msg bacek what's the status of the tt795_kill_parrot_sub_structure branch? Did it merge? can it be deleted?
00:45 purl Message for bacek stored.
00:46 Whiteknight yeah, that has a few effects: a Perl+PIR test is slower then a pure PIR one
00:47 bacek_at_work Whiteknight: kill it
00:47 Whiteknight and then we need to be too dependent on Perl for our testing, so changes in Perl break our system
00:47 Whiteknight will do!
00:47 darbelo Kill! Kill! Kill!
00:48 darbelo Whiteknight: Pease make dalek say 'exterminate'
00:48 darbelo ;)
00:50 kthakore joined #parrot
00:51 dalek parrot: r40809 | whiteknight++ | branches/tt795_kill_parrot_sub_structure:
00:51 dalek parrot: [tt795_kill_parrot_sub_structure] delete this branch, it already merged
00:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40809/
00:51 jrtayloriv darbelo, But I can't mix the test_more.pir tests in with the Perl tests in a single file, right? So could I maybe convert the file incrementally to PIR, and then once I've finished it, convert it to use tests_more.pir?
00:51 darbelo jrtayloriv: probably, yes.
00:53 jrtayloriv Would be a bit more work, but would enable me to make smaller changes, so I'm more likely to be able to debug if I make a mess somehow.
00:53 Whiteknight darbelo: this one's for you!
00:53 darbelo You can make each test a separate sub, and have am main sub that includes test_more.pir, calls plan() and calls the other subs sequentially.
00:54 darbelo Quite a few test follow that pattern.
00:54 jrtayloriv darbelo, I saw that in t/pmc/string.t -- but it looks like I have to start the file with #!parrot, so I can't have the perl tests in there too.
00:55 dalek tracwiki: v23 | whiteknight++ | BranchDescriptions
00:55 dalek tracwiki: exterminate. Get rid of old branches that have been deleted
00:55 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Branc​hDescriptions?version=23&amp;action=diff
00:55 jrtayloriv Is there a way for me to just tell Perl to treat a certain block as PIR, without using pir_output_is?
00:55 Whiteknight like an inline PIR?
00:55 jrtayloriv Whiteknight, exactly
00:55 Whiteknight nothing that I am aware of (but that would be an awesome extension)
00:56 darbelo Not that I know of.
00:56 Whiteknight we're down to 14 branches
00:56 darbelo But nothing stops you from using two files ;)
00:57 Whiteknight kid51: ping
00:57 Whiteknight purl msg kid51 what's the status of the tt509_install_files branch? has it merged? can it be deleted?
00:57 purl Message for kid51 stored.
00:59 jrtayloriv darbelo, So just break up gc.t into two seperate files, one for the original tests, and one for the test_more tests (which I am converting to)?
01:00 Whiteknight jrtayloriv: yes, perfect
01:00 Whiteknight adding more test files is always cool
01:01 darbelo And once you are done converting all tests the old one can be deleted, meking us just a little bit less dependant on perl.
01:03 bacek_at_work Let's convert them to NQP! :)
01:03 jrtayloriv OK -- but now things are getting a bit more complicated than just patching the single test file. I don't mind at all, as long as you all don't mind answering my noobish questions as I figure it out :)
01:04 darbelo Ask away!
01:04 jrtayloriv I'm going to go re-read tests.pod, and browse around the other tests before I start. Should I go ahead and submit a patch for the tests I've already converted, or just wait until I've got them all done in separate files?
01:05 jrtayloriv (i.e. the tests I've converted which use pir_output_is rather than test_more)
01:06 bacek_at_work Whiteknight: can you jump on context_pmc3? I've got one more failure after merge with trunk. Looks like branch exposed more GC and order-of-destruction bugs that I expected.
01:07 Whiteknight bacek_at_work: I'm signing off soon. I will look but don't have a lot of time
01:07 darbelo jrtayloriv: Submit it. You can put it on trac so it doesn't get lost. Eventually a commiter will get to it.
01:07 Whiteknight jrtayloriv: yeah, creating tickets is the best way to make sure it gets seen
01:08 Whiteknight and you'll get feedback too
01:08 darbelo Also every ticket you open gives you karma :)
01:08 hercynium joined #parrot
01:08 darbelo karma jrtayloriv
01:08 purl jrtayloriv has karma of 5
01:09 darbelo jrtayloriv++
01:09 darbelo karma jrtayloriv
01:09 purl jrtayloriv has karma of 6
01:10 darbelo just ake sure your trac user matches your irc handle.
01:14 TiMBuS joined #parrot
01:21 dalek TT #948 created by jrtayloriv++: [PATCH]: Convert PASM tests to PIR in t/op/gc.t
01:21 jrtayloriv darbelo, hmm -- I added the patch, but it looks like the indentation is messed up in the patch (didn't show up like that in my editor) ... what should I do about that?
01:24 darbelo Looks fine to me. I just tried it and it aplied cleanly to my svn checkout.
01:25 dukeleto jrtayloriv: i am taking a look
01:25 jrtayloriv duk3leto, I also screwed up one of the comments -- I'm fixing it and posting a properly formatted and commented version (sorry about that)
01:25 darbelo You might want to give a more detailed (or human-readable) description next time though.
01:26 jrtayloriv I think I might have opened it up in (gasp!) nano, for a moment, which always screws up indentation/spacing.
01:26 Whiteknight bacek_at_work: I don't have any ideas tonight. I'll have to look into it more tomorrow
01:26 Eevee joined #parrot
01:27 dukeleto jrtayloriv: the patch looks good. if you want to go the extra mile, you can attempt to change the test file to be pure PIR instead of perl+PIR. But I think your patch is a nice step on the way to that
01:28 jrtayloriv dukeleto, That's what I'm planning to do (thanks to whiteknight and darbelo) -- I'm going to have to do some reading to learn how to do that first though.
01:28 dukeleto jrtayloriv: Whiteknight has some awesome blog posts about it
01:29 dukeleto jrtayloriv:  http://wknight8111.blogspot.com/200​9/06/parrot4newbies-test-suite.html
01:29 dukeleto or just ask us in here when you run into a hard surface
01:29 jrtayloriv dukeleto, Yes -- I read his blog -- that's what got me started on this in the first place :)
01:30 darbelo jrtayloriv: I *think* the convention for perl files was indent := 4 spaces
01:30 jrtayloriv OK -- I'll set emacs to do that.
01:30 dukeleto jrtayloriv: let me know when you have your new diff and I will commit it
01:31 Whiteknight yes, we're always happy to help!
01:31 darbelo But I could be wrong, so check some files first.
01:32 darbelo Also, there is an emacs mode for pir files in the parrot tree.
01:32 Whiteknight treed?
01:32 purl rumour has it treed is the guy I'm trying to con into working on cardinal for me. :)
01:32 dukeleto darbelo: look in editor/
01:32 jrtayloriv darbelo, emacs was already set to indent 4 for me, but it looks like a lot of the tests in the file I'm working on have it to 6.
01:33 jrtayloriv darbelo, I think emacs ignored it's indent rule and aligned with the ones I was editing though.
01:33 jrtayloriv It looks like some of the people who wrote the tests were using different indentation settings.
01:33 jrtayloriv I'll fix them as I convert them.
01:33 dukeleto jrtayloriv:  THE HORROR :)
01:34 darbelo Ah, there: editors/pir-mode.el
01:34 * Coke is getting a ton of segfaults against 40800.
01:34 dalek partcl: r637 | coke++ | trunk/docs/spectest- (2 files):
01:34 dalek partcl: Update spectest run after downgrade of parrot revision
01:34 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=637
01:34 Whiteknight does anybody have a link to treed's cardinal blog?
01:34 dukeleto coke: on partcl ?
01:35 darbelo http://cardinalruby.blogspot.com/
01:35 jrtayloriv darbelo, emacs modes generally break though when you start mixing different languages (e.g. Perl and PIR and PASM all in one file ;) )
01:35 darbelo
01:35 darbelo 17:26
01:35 darbelo
01:35 dukeleto proper syntax highlighting is the other evil of embedding multiple languages in the same file
01:35 darbelo One more reason to convert the file to PIR!
01:36 dukeleto darbelo++
01:36 jrtayloriv dukeleto, I've got the new diff up btw
01:37 jrtayloriv it's the one called gc.t.patch--revised
01:37 dukeleto jrtayloriv: cool
01:37 Whiteknight darbelo++
01:38 Coke dukeleto: yes.
01:39 treed Yo?
01:39 purl ghurt!!
01:39 * dukeleto has sinned lately by adding Parrot test files in Perl. I will atone, I will atone...
01:39 nopaste "coke" at 72.228.52.192 pasted "segfault" (1 line) at http://nopaste.snit.ch/17677
01:42 * Coke has to do another (*#$ bisect.
01:44 * darbelo has some Z's to catch
01:47 dalek parrot: r40810 | dukeleto++ | trunk/t/op/gc.t:
01:47 dalek parrot: [TT #948][t] Convert bits of PASM to PIR in preperation of converting t/op/gc.t entirely to PIR
01:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40810/
01:47 darbelo left #parrot
01:48 dukeleto i forgot to jrtayloriv++ in the commit message
01:50 dukeleto jrtayloriv: another patch or two and you should send in a CLA so you can get your commit bit
01:51 dalek TT #948 closed by dukeleto++: [PATCH]: Convert PASM tests to PIR in t/op/gc.t
01:58 jrtayloriv dukeleto, I was saying earlier that I wanted to work on this incrementally rather than doing the entire file at once (since I cannot use test_more.pir in the same file as the pir_output_is tests) -- so darbelo recommended that I split gc.t into two files, one of which uses Test::More, and one of which is the old Perl/PASM tests I'm converting from -- what would you recommend naming the two files? Or does it not really matter?
01:59 jrtayloriv dukeleto, something along the lines of gc-perltests.t and gc-testmore.t ...
01:59 dukeleto jrtayloriv: call the PIR tests t/op/gc.t and the the name of the other is not that important, perhaps t/op/gc_perl.t
02:00 jrtayloriv dukeleto, ok thanks
02:00 dukeleto we can perhaps start a convention of splitting test files like this, because I have run into the same issue as well
02:01 dukeleto jrtayloriv: note that you will have to regenerate the MANIFEST when you add a file. perl tools/dev/mk_manifest_and_skip.pl
02:01 Coke whiteknight, you're going to love this. :|
02:02 Coke (the fix to the auto_attrs problem doesn't leak memory. it just segfaults.)
02:03 Coke I think splitting the file is too much.
02:03 Coke why not just POD out the tests you're in the middle of working on?
02:04 dukeleto Coke: in a commit or in a local branch?
02:04 dukeleto Coke: i think we may get more traction on converting some of our large perl-based tests if we convert them to smaller chunks
02:06 dukeleto t/op/gc.t only has 18 tests
02:09 dukeleto Coke is most probably correct in this case. but t/op/string.t has 166 tests of perl+pasm+pir madness. that is a big bullet to bite
02:12 Coke bah. using terminal -> ssh -> screen to feather -> gdb... if I cut and paste from there and try to paste into safari, the newlines are all screwed up.
02:15 dukeleto it would be nice to have a "tools" category in the component section of Trac
02:16 dalek TT #949 created by dukeleto++: Make tools/dev/mk_manifest_and_skip.pl work with git svn
02:17 bacek_at_work Yay! TT#949 FTW!
02:18 Coke dukeleto: what's your trac id?
02:18 dukeleto Coke: dukeleto
02:18 purl you are still feeling the effects
02:18 dukeleto purl, go play in traffic
02:18 * purl wanders off to dent some cars.
02:18 Coke dukeleto: at one point we ripped out most support for git from the repo because no one was maintaining it.
02:18 jrtayloriv dukeleto, This is the right way to do things, correct? --> http://pastebin.com/d4eb01e60 .... (just before I do all of the tests this way)
02:19 Coke so if you're adding it back in... you get to maintain it. =-)
02:19 Coke (also, don't break svn.)
02:19 Coke dukeleto: component added. owner: you.
02:19 dukeleto jrtayloriv: that looks great! just remember to update the copyright years as well as the POD and vim variables at the end of the file
02:20 dukeleto jrtayloriv: feel free to give your tests descriptive names for what they actually do. but sometimes that is hard :)
02:20 Coke note that you can include interpinfo.pasm once outside of all subs.
02:20 dukeleto Coke++
02:21 jrtayloriv dukeleto, yeah, I was just keeping the same names that they had originally for now
02:21 * Coke cries again about the segfault.
02:21 jrtayloriv Coke, thanks
02:22 Coke jrtayloriv: <nod>
02:22 jrtayloriv not for crying :)
02:22 * dukeleto consoles Coke with a large glass of whiskey
02:22 Coke oooh. no whiskey, but there is rum.
02:22 jdv79 Coke: partcl wouldn't build y'day
02:22 jdv79 i'll try again now
02:23 Coke jdv79: yes. parrot HEAD has broken it.
02:23 Coke it should build now, but will no doubt segfault madly.
02:23 jdv79 Noooooooo!
02:23 jrtayloriv dukeleto, Copyright years should be 2001-2009, right? But what about the vim variables at the end of the file -- what was wrong with them?
02:23 Coke jdv79: you'll need 40627
02:24 jdv79 your PARROT_VERSION says 40625
02:24 jdv79 i'll try
02:26 Coke ah, 627 is probably in a branch.
02:26 Coke I only remembered it was "the one before 40628".
02:27 treed jdv79: Get my purl-gram?
02:27 jdv79 no i forgot how to fetch it.  probably something about test report though, right?  i haven't updated yet.
02:27 Coke jdv79++
02:28 Coke say "messages"
02:28 Coke er, "/msg purl messages"
02:28 jdv79 oh yeah, thanks
02:28 treed Yeah.
02:28 treed "rake report" will make a tap archive
02:28 mokurai joined #parrot
02:29 dukeleto jrtayloriv: new files should just use the current year, but since you are translating already existing tests, that sounds fine
02:29 treed If you need something different in it or if you need another target to actually upload it somewhere, just let me know.
02:29 jdv79 i gotta get mpeters to add the project to smolder but i'll try it out local to see if it works
02:29 jdv79 thanks
02:29 treed k
02:29 treed no problem
02:29 treed I substituted the Commit for the Version.
02:29 jdv79 cool
02:29 treed Stuff'll only work on Windows, though probably.
02:29 treed Relies on commands like hostname and stuff.
02:30 jdv79 whoa.  what?
02:30 purl it has been said that whoa. is PAR supposed to "protect my source code"?
02:30 jdv79 i'll peek at it
02:30 treed (But, I think much of the Rakefile would be screwy on Windows. I'd fix it, but I've no idea how to get a dev environment going on windows.
02:30 treed It's one of my goals, but a distant one.
02:30 jdv79 wait, it will or will not work on win32?
02:30 Coke only work on windows or NOT work on windows?
02:31 * jdv79 is confused
02:31 treed The Rakefile would likely not work on Windows.
02:31 treed Oh.
02:31 treed I mistyped above.
02:31 jdv79 oh, good.  that's the better issue, in my opinion
02:31 treed The stuff'll not work on Windows.
02:31 treed Should work fine on any unix-ish.
02:32 Coke you can tell what year a show was filmed by alton brown's haircut.
02:32 jdv79 is that the good eats guy?
02:34 treed Yeah.
02:34 treed One of my heroes.
02:35 treed BBIAB, dinner.
02:35 Coke also iron chef america and "the next iron chef", and half a dozen others. (feasting on asphalt.)
02:37 jdv79 cardinal is failing too?
02:37 jdv79 hmm
02:38 Coke cotto: ping
02:39 jdv79 treed: the latest test failure causes rake to abort and the test archive is never created:(
02:41 janus joined #parrot
02:46 jrtayloriv Coke, why is it that I can .include 'interpinfo.pasm' outside of all subs, but cannot do the same for .include 'test_more.pir' ?
02:51 kyle_l5l joined #parrot
02:55 beta joined #parrot
02:55 Coke jrtayloriv: .include just makes it as if you had the contents of the included file at that point; the code in interpinfo.pasm uses a .directive that is global - the code in test_more is intended to be in the scope of a sub.
02:55 Coke msg allison your math seems to be off.
02:55 purl Message for allison stored.
02:55 Coke msg allison (regarding the vote tallies)
02:55 purl Message for allison stored.
02:59 treed jdv79: What failure?
02:59 purl i guess failure is not an option
03:03 Andy joined #parrot
03:03 treed jdv79: There's no failure on my system, so I'll need some details if I'm to fix it.
03:07 NotFound joined #parrot
03:19 Austin joined #parrot
03:26 * Coke wonders at http://www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ... why would they special case +/- there...
03:29 jhelwig joined #parrot
03:33 jrtayloriv If I've created a new file (and added it to the manifest with tools/dev/mk_manifest_and_skip.pl), what is the process for submitting the patch to trac? I've got a file that is patched, and the new file, and I want to submit both. Should I attach the new file to the ticket, and then attach the diff for the other file?
03:37 jrtayloriv Even though it is two files, can I just do 'svn diff > my.patch' and attach the single file?
03:40 eiya joined #parrot
03:45 eiya joined #parrot
03:49 dalek TT #950 created by jrtayloriv++: [PATCH]: Convert Perl tests to use test_more.pir for t/op/gc.t
03:51 jrtayloriv well there it is ... I did 'svn diff > gc.t.patch' ... and I attached a copy of the new files as well as the .patch file ...
03:51 jrtayloriv good night folks
03:51 purl and bots!
03:51 jrtayloriv and bots
03:52 bacek_at_work purl: botsnack
03:52 purl :)
03:52 bacek_at_work g'night jrtayloriv
03:53 Coke hey. how many people here know what 'elements $P0' does when $P0 is a string?
03:53 Coke (I apparently knew this several years ago.)
03:56 bacek_at_work Coke: invoke VTABLE_elements on PMC (which is String (which returns length in bytes))
03:56 Coke yah, but did you know that or did you have to look it up? =-)
04:08 bacek_at_work Just look it up of cause :)
04:08 bacek_at_work bah...
04:14 Coke p6 rule question - which keyword allows implicit whitespace?
04:20 dukeleto joined #parrot
04:21 dukeleto jrtayloriv:  (re: vim variables) look at the footer of a parrot test for an example
04:24 bacek_at_work Coke: "rule"
04:30 HG` joined #parrot
04:31 Eevee joined #parrot
04:58 nopaste "coke" at 72.228.52.192 pasted "http://www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ??" (13 lines) at http://nopaste.snit.ch/17679
04:59 Coke can someone look at that and see if that token makes sense?
05:00 dalek parrot: r40811 | dukeleto++ | trunk/config/init/hints (7 files):
05:00 dalek parrot: [TT #947] Add word boundary assertions to various hints files, darbelo++
05:00 dalek parrot: Original patch description:
05:00 dalek parrot: r40798 (in the pluggable_runcore branch) added word boundary assertions
05:00 dalek parrot: to config/init/hints/linux.pm This patch does the same to the other
05:00 dalek parrot: files in that directory. config/init/hints/linux.pm is left untouched to
05:00 dalek parrot: avoid later merge conflicts.
05:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40811/
05:02 dalek TT #947 closed by dukeleto++: [PATCH] add word boundary assertions to code that looks at library flags ...
05:06 cotto does anyone know win32 programming well enough to understand performance counters?
05:06 dukeleto cotto: not I
05:07 nopaste "coke" at 72.228.52.192 pasted "http://www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ??" (13 lines) at http://nopaste.snit.ch/17680
05:08 dukeleto Coke: does your grammar support "end+-1" . with my feeble eyes, I would say no
05:09 dukeleto Coke: or is that a typo in their docs ? >:)
05:10 dukeleto i take that back
05:10 dukeleto the way you defined integer, it can contain a +/-
05:10 dukeleto so I would say: looks good to me
05:20 Coke now I just have to figure out why it's not working. =-)
05:20 Coke yes, they support end+-1
05:21 Coke as written, it's barfing on "end-4", thugh.
05:23 Coke ah, LTM bites me again.
05:23 cotto nom
05:25 dukeleto are there any tests that we should *not* change from perl+pasm to pure PIR? for instance, t/pmc/pmc.t are all written in PASM. Is that on purpose, or can I translate that to PIR? Or should the entire test be written in PASM?
05:26 cotto if you can, do, but some need perl for generating pir
05:27 Coke in general, only things explicitly designed to test pasm should be in pasm.
05:27 dukeleto cotto: i see that now. but for those that don't do anything special, all the pasm tests can be translated to pir?
05:27 dukeleto Coke: that is what I wanted to hear
05:28 dukeleto Coke: where do the pasm-specific tests live?
05:28 dukeleto there is a t/pir but no t/pasm
05:30 Coke I would probably move both of those to t/compiler/<foo>
05:30 Coke if they existed.
05:30 cotto dukeleto, go for it!  I'd recommend pasm+perl -> pir+perl -> pure pir
05:30 Coke the imcc tests probably have many of them.
05:31 dukeleto Coke: t/pir was specifically recommended by bacek for compiler-agnostic pir tests
05:33 Coke which should be all of them. =-)
05:34 Coke I'm ok with that. and If I'm not, I can always mv the dir later. =-)
05:34 bacek_at_work Coke: no! t/pir for testing pir compilers.
05:34 bacek_at_work like "language spec"
05:39 Coke bacek_at_work: I disagree, but not enough to argue.
05:44 bacek_at_work Coke: where "language spec" tests should go?
05:45 Coke "this is me, not arguing."
05:46 Austin left #parrot
05:52 bacek_at_work joined #parrot
05:56 Coke there, got [string index barf 3-2] working. though it seems silly. =-)
05:57 dalek partcl: r638 | coke++ | trunk/ (4 files):
05:57 dalek partcl: make string indexes of the type "1+2", "3-2", and "  2 "  work.
05:57 dalek partcl: This is slightly less hacky than before, but we still parse all the integers 2x.
05:57 dalek partcl: Add tests.
05:57 dalek partcl: Cleanup some bizarre "that worked?!?" code in [string]
05:57 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=638
06:02 mrsaturn joined #parrot
06:02 kyle_l5l joined #parrot
06:11 uniejo joined #parrot
06:12 dalek parrot: r40812 | dukeleto++ | trunk/t/pmc/pmc.t:
06:12 dalek parrot: [t] Convert t/pmc/pmc.t to perl+pir instead of perl+pasm
06:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40812/
06:12 dalek tracwiki: v31 | dukeleto++ | ParrotQuotes
06:12 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=31&amp;action=diff
06:33 dalek parrot: r40813 | dukeleto++ | trunk/t/pmc/default.t:
06:33 dalek parrot: [t] Convert t/pmc/default.t to pir
06:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40813/
06:37 dalek parrot: r40814 | dukeleto++ | trunk/t/pmc/parrotinterpreter.t:
06:37 dalek parrot: [t] Convert t/pmc/parrotinterpreter.t to pir
06:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40814/
06:40 mj41 msg duk3leto Great. Ping me if you are around. TapTinder is not user friendly yet. Probably first step is to insert data to user and machine tables. http://dev.taptinder.org/svn/taptind​er/trunk/server/sql/data-stable.sql
06:40 purl Message for duk3leto stored.
06:45 dukeleto mj41: hola
06:48 dukeleto does t/stress/gc.t do anything useful? Looks like cargo
06:50 moritz looks like a very basic sanity test that need much more similar tests ;-)
06:50 dukeleto moritz: it seems to have nothing to do with the GC. there are already tests for creating Integer PMCs
06:50 dukeleto it is a single test in a directory with a single file
06:51 dalek parrot: r40815 | NotFound++ | trunk/src/pmc.c:
06:51 dalek parrot: [core] fix an attribute handling issue
06:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40815/
06:51 moritz dukeleto: right. It looks like sombody wanted to add many more tests and never got around to it
06:59 cotto dukeleto, poke whiteknight about it
06:59 dukeleto msg whiteknight should t/stress/gc.t be culled?
06:59 purl Message for whiteknight stored.
07:05 kjeldahl joined #parrot
07:08 cotto cull it with fire
07:10 iblechbot joined #parrot
07:12 mikehh messages
07:15 dalek parrot: r40816 | dukeleto++ | trunk/t/library/rand.t:
07:15 dalek parrot: [t] Convert t/library/rand.t to pir
07:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40816/
07:19 szabgab joined #parrot
07:19 dukeleto +1/-1 on splitting t/op/literal.t into two tests, one written in PIR, one in PASM ?
07:21 moritz purl: +1/-1
07:21 purl -1
07:21 moritz didn't you see that coming? ;-)
07:21 moritz anyway, purl's opinion doesn't count
07:26 cotto purl, opinion?
07:26 purl opinion is Yeah, well, you know, that's just, like, my opinion, man.
07:26 dukeleto botsnack
07:26 purl thanks dukeleto :)
07:40 athomason joined #parrot
07:59 payload joined #parrot
08:10 mikehh examples_tests FAIL - t/examples/past.t - Failed test 2 at r40816
08:11 mikehh rakudo fails to build at r40816
08:11 mikehh /usr/local/bin/parrot  perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
08:12 mikehh Segmentation fault
08:12 purl (Core dumped)
08:12 mikehh make: *** [perl6.pbc] Error 139
08:12 mikehh oops must avoid '/' as first char in line
08:14 mikehh messages
08:17 moritz I think purl only answers that in private message
08:18 dukeleto mikehh: interesting
08:22 dalek TT #951 created by kyle_l5l++: correct some minor bugs in t/pmc/threads.t
08:33 mikehh moritz: yes - pops up a private window
08:36 mikehh my last set of tests about 10 hours ago was ok
08:42 bacek joined #parrot
08:43 bacek o hai
08:43 moritz lolitsbacek!
08:49 bacek omgisitmoritz?
08:50 cotto ombbq
08:50 bacek cotto: looks like you didn't sleep yet :)
08:51 cotto you observe much, bacek
08:51 bacek s/much/everything/
08:52 bacek It's part of my plan to Conquer the World
08:53 baest_ joined #parrot
08:53 cotto some things are best left unseen
08:55 bacek "What have been seen" :)
08:56 MoC joined #parrot
09:02 cotto bacek, do you to do much win32 programming?
09:03 bacek cotto: yeah... Last time it was 2 years ago. Way too much from my point of view
09:04 cotto do you know anything about using performance counters to get high-resolution timing information?
09:05 bacek cotto: nope.
09:06 mikehh bah smolder failed to post - managed to post manually (no tags though)
09:07 cotto jonathan, ping
09:17 kthakore joined #parrot
09:22 mikehh looks like r40799 is the culprit
09:24 mikehh both t/examples/past.t FAILS and rakudo fails to build at that revision - they passed at r40790 and only branch updates between
09:26 NotFound mikehh: ah, nice, I was trying to locate a test that failed
09:45 masak joined #parrot
10:02 donaldh joined #parrot
10:04 payload joined #parrot
10:17 masak WhiteKnight++ writes in http://wknight8111.blogspot.com/​2009/06/l1-lets-review-faq.html that PIR "is just PASM in disguise". what _is_ the difference between PIR and PASM, more exactly?
10:17 dalek parrot: r40817 | NotFound++ | trunk/src/pmc/fixedfloatarray.pmc:
10:17 dalek parrot: [cage] delete empty init vtable from FixedFloatArray
10:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40817/
10:20 bacek masak: syntax sugar
10:20 purl somebody said syntax sugar was a perl trait :)
10:25 masak bacek: so PIR is syntactic sugar for PASM?
10:26 bacek masak: technically - yes.
10:45 kthakore left #parrot
10:48 jonathan cotto: pong
11:21 donaldh joined #parrot
11:29 payload joined #parrot
11:33 dalek parrot: r40818 | NotFound++ | trunk (3 files):
11:33 dalek parrot: [core] centralize PMC destruction in one function
11:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40818/
12:10 mikehh joined #parrot
12:12 mikehh jonathan: ping
12:13 jonathan mikehh: pong
12:15 mikehh your commit 8b525f1c82fabdd03351708d71c2d927902af6eb prevents rakudo building for me
12:16 jonathan mikehh: Build log?
12:16 mikehh sorry next one
12:16 mikehh commit bd51ce26e3a76e1ce8eadc1e84a5060215de8846
12:17 mikehh rakudo (8b525f1) builds on parrot r40790
12:18 mikehh but it fails on bd51ce2
12:20 mikehh let me get that
12:21 ruoso joined #parrot
12:25 mikehh I don't know what is going on - now it builds
12:27 jonathan oh
12:27 jonathan :-/
12:28 mikehh I am getting a build failure with latest parrot and was trying to track down the problem - let me check I have things right I think r40799 is the culprit
12:35 MoC joined #parrot
12:35 mikehh I tested on r40790 with rakudo (8b525f1) and it failed to build on r40816 with rakudo (bd51ce2)
12:36 moritz what kind of failure?
12:36 mikehh I thought that had also failed on r40790 but I think I forgot to update the install properly
12:38 mikehh moritz: Segmentation fault - make: *** [perl6.pbc] Error 139
12:38 moritz mikehh: for such a segfault it's more interesting to vary the parrot revision than the rakudo revision
12:38 mikehh I think I get a different error at r40799 - let me see
12:40 mikehh t/examples/past.t fails at r40799 but passes at r40790 (only commits to branches in between)
12:41 dalek partcl: r639 | coke++ | trunk/docs/spectest- (2 files):
12:41 dalek partcl: spectest update
12:41 dalek partcl: get a few tests with new index logic, but other churn is present too.
12:41 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=639
12:41 mikehh ok I have saved r40790 - I am now updating that to r40799
12:44 Coke I have found git bisect on the git-svn checkout of parrot to be most helpful for these things. (I see why infinoid copied this style for svn-bisect!)
12:46 bacek joined #parrot
12:47 Coke hurm. commit emails for partcl seem to not be hitting the list
12:53 mikehh ok rakudo (bd51ce2) fails to build on parrot r40799 but builds on parrot r40790
12:56 mikehh fails with - Segmentation fault - make: *** [perl6.pbc] Error 139.
12:56 Coke mikehh: see my ticket about 40799l.
12:57 Coke #945
12:58 mikehh Coke: looking
13:03 mikehh not only partcl but also rakudo and examples_tests - t/examples/past.t
13:04 mikehh adding comment
13:06 Coke whoever was looking at partcl - I've started adding some tickets for small things that are mostly PIR centric that will make spec tests pass. go to town.
13:13 Coke (I also added a "difficulty" category to the tickets and tagged some of them as "easy"
13:15 * bacek spent 4 hours fighting with "easy" bug in exceptions handling and GC...
13:17 mikehh bacek: :-}
13:21 mikehh Coke: should I open a separate ticket for this
13:23 payload joined #parrot
13:28 Coke mikehh: nah.
13:28 Coke this failure is a direct result of the original complaint.
13:36 PerlJam joined #parrot
13:42 mikehh examples_tests FAIL, All others PASS (pre/post-config, smoke, nqp_test, rest of fulltest) at r40818 - Ubuntu 9.04 amd64 (g++)
13:50 rhr joined #parrot
14:01 mikehh Coke: I got partcl to build at r40818 but most tests fail in make test - Files=74, Tests=95
14:02 mikehh rakudo fails to build at r40818
14:04 Coke mikehh: yes. I'm dead until they fix that bug.
14:04 Coke (#945)
14:05 mikehh cardinal builds at r40818 but make test aborts
14:06 mikehh What really bothers me is that we only FAIL 1 parrot test (examples_tests at that - not mainline tests) and most HLL have serious failures
14:07 Coke yes!
14:07 mikehh got to fetch my grandsons from school - bbiab
14:08 moritz rakudo has adopted a policy to only allow closing of bug reports if there are tests available and pasing
14:08 moritz (except for things that are not reasonably testable, or documentation errors)
14:08 Coke oh, parrot has that same policy now. =-)
14:09 moritz Coke: great. Blog about it, and start re-opening tickets that were closed without tests
14:11 bacek and start committing such tests into parrot's test-suite...
14:12 Coke moritz: Absolutely, someone should do those things.
14:12 * bacek hate everyone who committed tests. They are stopping me from breaking parrot for good!
14:13 Coke At least, the first part. the second part could be handled going forward and still be a win.
14:13 * Coke gets a segfault at Parrot_gc_mark_PObj_alive
14:13 bacek I've got plenty of them...
14:14 bacek Anyway. $bed ~~ $bacek.
14:14 Coke I'm at 1.5.0, though.
14:14 Coke (shouldda said)
14:14 bacek good night
14:15 bacek Coke: open ticket. I'll try to check it tomorrow
14:16 donaldh joined #parrot
14:18 Coke bacek_at_work: 1.5.0 is so old at this point, I'd rather get #945 fixed so I can move to HEAD - if it's still there, I'll open a ticket for sure.
14:20 szabgab joined #parrot
14:23 Psyche^ joined #parrot
14:24 whiteknight joined #parrot
14:27 Coke alberto?
14:36 Coke moritz: can you suggest s workflow with trac that would enable us to clearly mark when a ticket needs tests?
14:37 Coke I think "ticket type" is probably the best of the existing fields to take for this.
14:37 szbalint yeah, just create a new type "tests_needed" or something like that
14:38 moritz Coke: I'm not too familiar with trac... but if it supports tags, a tag would be the most natural thing to do
14:38 szbalint or actually
14:38 moritz Coke: basicall a tag tests_needed and a tag tests_commited
14:38 szbalint there is 'status'
14:39 moritz don't abuse that
14:39 Coke szbalint: I'm an admin and i see no way to edit the available statuses.
14:39 szbalint hm interesting
14:39 Coke moritz: there is a "keywords" free text field.
14:39 moritz you know, a ticket can both be open have tests
14:41 Coke I'll get a custom field added.
14:42 szbalint Coke: at $job we can set status in trac to 'in_QA', 'infoneeded', etc. So I'm pretty sure it's possible to edit the status somehow...
14:43 Coke szbalint: my concern with the status is that someone can write the test before the code (and should), so it's kind of separate.
14:44 szbalint yeah
14:45 szbalint but I don't think it needs to be marked when someone has written a test
14:45 szbalint since tests are code that can be committed?
14:45 Coke needs to be marked that a test is /needed/
14:45 purl Hmm.  No matches for that, Coke.
14:45 Coke and then we need to mark that it was done, as opposed to the need for it being removed.
14:45 moritz in the case of Rakudo it is very helpful to have the information if/where a test exists
14:46 Coke so I think we need at least "needs test" and "has test" , but that "" is also fine.
14:46 moritz because people commit tests without fixing the issue (and skip them, or mark as TODO)
14:46 Coke theoretically, our test directory structure needs no explanation. =-)
14:47 whiteknight theoretically
14:47 * moritz smilies a broad and sad smile
14:47 szbalint sounds sensible :)
14:48 theory joined #parrot
14:49 Coke email sent.
14:51 MoC joined #parrot
14:55 jrtayloriv Coke, re:ticket 950, when you said to make an svn copy -- would I just do 'svn copy gc.t gc-old.t' before I made any edits?
14:56 Coke if you were a committer, yes. If you're making a patch, I think it's less crucual for you to do that.
14:56 Coke (but then you have to make sure the person committing actually does that.)
14:57 jrtayloriv Ok, and as far as the patch I put up, did I do that correctly? I didn't know if it was OK to do 'svn diff > my.patch' if my changes involve more than one file.
14:58 Coke that's fine, yes.
14:58 Coke (in general, anyway: I didn't look at the patch. =-)
15:08 Andy joined #parrot
15:20 donaldh joined #parrot
15:55 bubaflub joined #parrot
15:56 iblechbot joined #parrot
16:02 cotto jonathan, reping
16:06 mikehh Coke: commented on the email
16:06 Coke cotto: the profiling stuff is merged back into trunk, yes?
16:07 cotto Coke, no.  I need to work on making it work and making it cross-platform.
16:07 Coke cotto: ok. I look forward to using it once parrot stops segfaulting all over the place. =-
16:07 Coke )
16:07 Coke mikehh: now I have your cell! muahahaha.
16:07 jonathan cotto: repong
16:08 cotto jonathan, do you know anything about using performance counters to get high-resolution timing information?
16:09 jonathan cotto: I haven't played with those before, no.
16:09 cotto ok
16:09 bubaflub cotto: not to speak out of turn here, but i believe NYTProf does something like that
16:10 dukeleto bubaflub++
16:10 jonathan cotto: Hvae you checked what...ah...I was going to say Time::HiRes does, but NYTProf also if it runs on Windows would be worth looking at first.
16:10 dukeleto NYTProf does some amazing things
16:11 mikehh cotto: a good place to look is Devel::NYTProf
16:11 mikehh dukeloto beat me to it
16:11 cotto I'll dig into that.
16:11 dukeleto mikehh: bubaflub beat us both
16:12 mikehh and jonathan
16:12 purl hmmm... jonathan is mailto:jnthn@jnthn.net or trying to put together a grant application. or however seeing weird issues.
16:15 jonathan http://cpansearch.perl.org/src/TI​MB/Devel-NYTProf-2.10/NYTProf.xs
16:15 jonathan That is probably the file to look at.
16:15 dukeleto xs in #parrot, *the horror*
16:17 jonathan dukeleto: I've got just the project for you to look at...apart from you've already forked it. ;-)
16:24 darbelo joined #parrot
16:39 elmex joined #parrot
16:39 szabgab joined #parrot
16:41 cotto Surprisingly, it looks like Devel::NYTProf doesn't use windows performance counters.  Unless win32 has gettimeofday, it looks like it uses Time::HiRes.
16:44 cotto Win32::PerfCounter looks helpful.
16:44 mikehh cotto: that's the other thing I was going to suggest you look at
16:45 mikehh Time::HiRes that is
16:46 cotto Time::HiRes also doesn't seem to be terribly sophisticated on windows
16:46 mikehh dunno - haven't used Windows for a few years :-}
16:47 szbalint windows doesn't seem to be sophisticated on windows :)
16:48 mokurai joined #parrot
16:51 * Coke got a call on his cell about 3 seconds after making that crack, btw.
16:55 particle :P
16:56 cotto particle, you know anything about windows performance counters?
17:01 particle cotto: sorry, no
17:14 mrsaturn joined #parrot
17:15 treed Good OS X software for interacting with blogspot?
17:15 darbelo Safari?
17:15 purl somebody said Safari was at http://www.slaysys.com/safaridev/perllib/POD/ or down or an online book catalog and library from Oreilly at safari.ora.com or Apple's browser. or Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/51 (like Gecko) Safari/51 or map cmd-q to something else for tab safety: http://calmstorm.net/lj/safari_safety.png or death to mst's icons or the web browser in teh iPhone or bad though
17:15 treed Heh.
17:16 Coke blogspot == blogger.com?
17:16 mrsaturn joined #parrot
17:16 treed Yeah, they seem to be the same.
17:16 mrsaturn hello everyone
17:16 treed About how much traffic could I put through that Cardinal blog before I start to annoy people?
17:16 treed Hey mrsaturn
17:18 Coke treed: i frequently use safari for posting to blogger.com - are you looking for a local GUI app? not sure one exists. (blogger recommends usering firefox on osx instad of sfari, btw)
17:19 treed Yeah, I was looking for a non-HTML app.
17:19 treed Yeah, I use Firefox.
17:20 bubaflub treed: if you have 10.5 you could try fluid
17:20 bubaflub which is just an app that wraps as a single-site browser
17:23 treed Well, I'm looking for something with a more OS X-like GUI.
17:24 bubaflub ah, well
17:24 bubaflub check out http://osx.iusethis.com/app/marsedit and http://osx.iusethis.com/app/ecto
17:24 bubaflub though they are both pay software
17:25 treed Hm.
17:25 treed would have to wait until I got a job
17:25 bubaflub some are shareware, you can give it a trial run
17:25 treed Oh, there's a blogging bundle for textmate.
17:25 treed Interesting.
17:25 * treed has TM.
17:25 treed Don't use it much anymore, though.
17:26 bubaflub i use MacVim
17:26 desertm4x joined #parrot
17:26 treed Yeah, same here.
17:27 treed I could use w3m
17:27 treed It's got an option to send text box input fields to $EDITOR.
17:27 treed Very nice for working on huge things on a web page.
17:27 treed Unfortunately, that'd probably mean writing my own HTML or something.
17:28 treed Be nice if blogger understood textile.
17:42 treed Running cardinal test:all on r40818, seems to be working so far.
17:42 treed Was this the one everyone else was having difficult with?
17:42 treed Ah, there it bails out.
17:43 treed get_pmc_keyed() not implemented in class 'String'
17:43 treed That's happened before.
17:43 * treed uses this as a way to figure out how to get the suite to keep running even if something bails out.
17:44 treed AFter cleaning, though.
17:47 Tene treed: you can have your editor call out to markdown or textile or whatever, yes?
17:48 * treed blinks.
17:48 treed Maybe!
17:48 Tene :%! markup-convert-foo
17:48 treed Aha.
17:48 treed That could work then.
17:50 * treed notes that his blog still hasn't hit planet parrot.
17:51 bubaflub joined #parrot
17:53 bubaflub joined #parrot
17:57 bubaflub joined #parrot
17:58 dalek rakudo: dfa5853 | pmichaud++ | docs/spectest-progress.csv:
17:58 dalek rakudo: spectest-progress.csv update: 433 files, 12402 (70.0% of 17706) pass, 0 fail
17:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​fa5853c236c770901fbfaad2e5cd1ef6c64dfed
18:04 dalek rakudo: 3b94522 | pmichaud++ | tools/test_summary.pl:
18:04 dalek rakudo: Remove the $testdate value as the first item in test_summary.pl output,
18:05 dalek rakudo: as this causes either (1) extra editing for me or (2) a change to the
18:05 dalek rakudo: spectest_progress.csv output.  We might see about adding $testdate as
18:05 dalek rakudo: an additional column at the end.
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​b9452209c9c2ddebffa9feb58578604e6497795
18:05 dalek rakudo: 6c21d0c | pmichaud++ | tools/test_summary.pl:
18:05 dalek rakudo: 9 characters isn't sufficient to display qq{"Synopsis",} .
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​c21d0c7c12c7ae803444622fd3697ccbb86be12
18:05 dalek rakudo: 47057c1 | pmichaud++ | .gitignore:
18:05 dalek rakudo: Update .gitignore with more untracked but generated files.
18:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​7057c141fd60877a2f79a3950e5b36424af124e
18:05 jrtayloriv As far as tests using Test::More -- When I am setting plan(), what should I do for tests which involve a loop that contains the test (thus making the # of tests run unknown, since the loop might fail). Should I just plan() for the # of tests I would expect it to run if the loop didn't fail?
18:06 darbelo jrtayloriv: perl or PIR?
18:06 jrtayloriv darbelo, PIR using test_more.pir
18:07 darbelo Hmm. perl's Tes::More has "done_testing()" I don't know if test_more.pir has it, though.
18:07 darbelo let me check that.
18:08 treed If the loop fails, then clearly you have failure and the number of results *should* be less than the plan.
18:09 hercynium joined #parrot
18:09 jrtayloriv treed, So I should just use plan() then?
18:10 darbelo I don't see anything like done_testing() on test_more.pir. So, yeah, use plan().
18:10 treed Yeah, use plan
18:10 treed If the loop fails and you have less results than planned, that's a test-fail IMO.
18:11 bubaflub joined #parrot
18:13 darbelo cotto: ping
18:14 cotto darbelo, pong
18:15 darbelo I've got a patch for the pluggable_runcores branch.
18:15 cotto of what nature?
18:15 cotto (or just nopaste it)
18:16 darbelo Tried out pushing the definition of CLOCK_BEST to the configure system.
18:16 nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] punt CLOCK_BEST definition to configure." (71 lines) at http://nopaste.snit.ch/17684
18:16 Coke purl msg chromatic - searching on modernperlbooks.com gives an internal server error
18:16 purl Message for chromatic stored.
18:17 mberends joined #parrot
18:17 Coke msg allison 14:16 <@Coke> purl msg chromatic - searching on modernperlbooks.com gives an internal server error
18:17 purl Message for allison stored.
18:17 darbelo It doen't probe anything, but has the same fallback as before and allows overriding via hints file.
18:17 darbelo WORKSFORME, and if I got the linux hits right SHOULDWORKFORYOU.
18:18 cotto darbelo, the only problem is that windows has a completely different API for such things so CLOCK_BEST doesn't mean much on that platform.
18:18 cotto It's definitely a better approach, though.
18:19 bubaflub left #parrot
18:19 darbelo Hmm. I guess config/init/hints/mswin32.pm can set that to '' if it doesn't need it.
18:20 cotto that'd be fine by me
18:22 cotto why not add the -D option with some of the other similar code instead of defining a separate clock_best value?
18:23 darbelo I think all of the -D's are individual options. Or that's what it seemed to me.
18:23 cotto You seem to be right.  Looks like I read that code too quickly.
18:24 cotto afk for an hour or two
18:24 darbelo I'll update the patch for win32 and repaste.
18:28 jan joined #parrot
18:33 nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] punt CLOCK_BEST definition to configure for cotto++. Updated for mswin32" (84 lines) at http://nopaste.snit.ch/17685
18:36 darbelo msg cotto updated "punt CLOCK_BEST definition to configure" patch is at http://nopaste.snit.ch/17685 now with win32 non-goodness!
18:36 purl Message for cotto stored.
18:37 dalek rakudo: bd7533f | pmichaud++ | Configure.pl:
18:37 dalek rakudo: Improve the error diagnostics when someone tries to build Rakudo
18:37 dalek rakudo: using a non-devel installation of Parrot.  Also make the error
18:37 dalek rakudo: messages themselves look a bit more STD-like  ("===SORRY!===").
18:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​d7533f643631fef50ac843588a8304e6be13f81
19:09 nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] Updated the CLOCK_BEST definition for some systems." (109 lines) at http://nopaste.snit.ch/17686
19:10 darbelo msg cotto updated (again) the "punt CLOCK_BEST definition to configure" patch. Get it from http://nopaste.snit.ch/17685 it now handles FreeBSD and Solaris.
19:10 purl Message for cotto stored.
19:11 darbelo Say, do we have any regular testers on Solaris.
19:12 Coke we used to, but we kept breaking it. =-)
19:12 Coke (Andy Dougherty)
19:18 darbelo So, there's nobody I can sucker into testing the various CLOCK_* values there. Let's hope I got them right then :)
19:20 Coke Couldn't hurt to post to the list
19:44 particle http://www.sun.com/downloa​d/products.xml?id=4702f982
19:44 particle [VMware virtual machine containing Solaris Express Developer Edition 9/07]
19:45 rg1 darbelo: I'm running a smolder on solaris
19:47 darbelo rg: my recollection of the list time I used Solaris and the man pages suggest that CLOCK_HIGHRES is more accurate for measuring time intervals than CLOCK_PROF. Can you comment on that?
19:48 darbelo Becouse I recall that old Solaris x86 releases had trouble with CLOCK_HIGHRES.
19:48 rg i have no idea what you're talking about ;)
19:48 rg i'm running on sparc for the big endian tests
19:54 darbelo rg: can you paste the results of 'grep CLOCK_ /usr/include/sys/time*' on that box ?
20:02 TimToady phone
20:02 nopaste "rg" at 93.104.99.132 pasted "grep for darbelo++" (11 lines) at http://nopaste.snit.ch/17687
20:03 marius joined #parrot
20:04 darbelo Hmm. Could you give me a 'uname -srvmpi
20:05 rg SunOS 5.10 Generic_137137-09 sun4u sparc SUNW,Ultra-5_10
20:05 * Coke smacks pmichaud.
20:05 Coke . o O (That was terrible.)
20:06 szabgab is there anyone of the https://trac.parrot.org/parrot maintainer here?
20:06 szabgab We have serious spam issue on the padre trac and I was wondering if you can give me advice on how do you avoid spam?
20:08 moritz we only allow new tickets from registered users
20:08 moritz (apart from that I know next to nothing about our trac setup)
20:08 * Coke whistles innocently.
20:09 * particle smacks coke.
20:09 Coke OW
20:09 szabgab we do the same but a month or so ago we started to get bots registering and then creating a wiki page
20:10 szabgab and I could not manage to force e-mail verification
20:10 cotto darbelo, I'd go with CLOCK_PROF.  Ideally we only want the time spent by the process instead of wall clock time.
20:12 particle szabgab: we have hundreds, if not thousands, of names registered at parrot.org
20:12 * Coke wonders how long until he can have bigints in tcl.
20:12 particle but users need to be given permission to create pages
20:12 * particle points at darbelo
20:12 * Coke stares at darbelo.
20:12 szabgab ah, so you allow anyone to register but they don't get any extra rights
20:13 szabgab someone has to manually add that right for them
20:13 szabgab until then they cannot do anything extra, right ?
20:13 particle yes, however, i'm not sure if that applies to trac.parrot.org, too
20:13 * darbelo wonders what all the staring and pointing is about
20:13 * Coke wonders how long until he can have bigints in tcl.
20:13 * particle points at darbelo
20:14 * Coke stares at darbelo.
20:14 * cotto points at darbelo and whispers to particle
20:14 * particle shudders and whispers to coke
20:14 Coke trac.parrot.org requires a login, but any logged in user has basic ticket rights.
20:16 szabgab so probably you too will get your spam once the spamrobots find that trac as well
20:17 Coke we've had a bit of spam, yes.
20:17 Coke deleted most of it shortly after it arrived.
20:17 Coke (pita)
20:18 Coke . o O (mfrl)
20:20 darbelo cotto: Apparently, things changed in solaris-land since I last visited. Back in Solaris 8 CLOCK_HIGHRES was the way to go.
20:20 * duk3leto loves bacon, hates spam
20:21 * darbelo is a fan of ham
20:22 moritz chunky bacon!
20:28 darbelo cotto: I'd go for CLOCK_PROCESS_CPUTIME_ID, which is what the origial code would have picked from that list.
20:29 pjcj joined #parrot
20:29 cotto That'd work equally well.  For non-threaded applications, I don't think there'd be a difference between between that and CLOCK_THREAD_CPUTIME_ID.
20:31 nopaste "darhelo" at 200.49.154.172 pasted "Another iteration on the same patch for cotto++" (109 lines) at http://nopaste.snit.ch/17688
20:33 cotto is MONOTONIC really the best you can do on openbsd?
20:33 dalek TT #952 created by coke++: pcc_arg_unify branch doesn't build.
20:34 darbelo Yup, I'm on OpenBSD amd64 and I tried all four alternatives.
20:34 Tene Coke: pcc_arg_unify hasn't ever successfully built.
20:34 Coke Tene: allison just said she only had 500 failing tests.
20:34 Tene iirc, that's 'coretest's
20:35 darbelo Coke: She uses the new 'make corevm' target
20:35 Tene Yes, that.
20:35 Coke make: *** No rule to make target `corevm'.  Stop.
20:35 Tene Coke: she won't apply the corevm make target to the branch.
20:35 joeri joined #parrot
20:35 Tene because of something about svn failing when you've applied changes on both trunk and on a branch.
20:35 Tene or something.  I don't understand it.
20:36 Coke ... then I can do nothing to help debug this.
20:36 Coke my hands. I sit on them.
20:36 Tene Coke: to debug the build failures?
20:36 Coke to get the branch building, passing all tests, and merged back.
20:37 Tene Any issues with the build are problems with pcc stuff that need to be fixed.
20:37 Tene She uses corevm/coretest because those are easier to diagnose than, say, part of PGE
20:38 Tene Coke: I'll merge the corevm changes right now.  If she doesn't like it, she can revert and justify again.
20:38 Coke and now there's a ticket we we can refer to when people say "what's the status of the branch."
20:38 Tene Yes, definitely.
20:39 Coke pmichaud: you mean, the C level is rising?
20:40 Coke (yes, I'm replying to things not being said here. you'll live. =-)
20:40 cotto darbelo, I'm on the phone atm, but we should be able to start the code review soon.
20:41 dalek parrot: r40819 | tene++ | branches/pcc_arg_unify (2 files):
20:41 dalek parrot: [pcc] Merge the corevm make target from trunk so that Coke++ can help.
20:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40819/
20:41 darbelo cotto: ok, ping me when your are done.
20:41 purl I can't find me in the DNS.
20:42 Tene purl: msg allison Coke said that he'd help if he could build corevm so he could run tests.  Come complain to me if you want me to revert it.
20:42 purl Message for allison stored.
20:42 cotto < purl-- >
20:42 cotto all done
20:43 pmichaud Coke: The C level is rising, *and* we're better at keeping our head above water :)
20:44 cotto darbelo, ping
20:44 davidfetter joined #parrot
20:46 cotto darbelo, I'm ready whenever.
20:47 dalek rakudo: 3a4cc55 | pmichaud++ | src/ (2 files):
20:47 dalek rakudo: Move $!real_self setting from actions.pm into !fixup_routine_type.
20:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a4cc550838b4a8c986b499316cd2ee452fa8f95
20:48 darbelo cotto: pong
20:49 darbelo Where do you want to start?
20:49 cotto decnum.pmc
20:50 * Coke rants again that the summary of 'make test' doesn't seem to tell you how many tests failed altogether.
20:51 Tene That bugs me too.
20:51 cotto Is the instantiate VTABLE necessary?  afaiu it's only meaningful for OO stuff.
20:52 cotto Tene and Coke, me three
20:52 Tene cotto: isn't it what gets run when you call the 'new' opcode?
20:53 darbelo I think I cargo-culted it out of BigNum back in the copy-paste out of something that already builds stage.
20:54 cotto Tene, that's init or init_pmc.
20:54 cotto come to think of it, I'm not sure what pir-level code invokes the instantiate VTABLE
20:54 bacek joined #parrot
20:55 Tene cotto: instantiate is what is run by the 'new' opcode, just confirmed.
20:57 cotto my mistake then
20:57 darbelo I just removed it and make test just succeded.
20:58 cotto I'll have to dig into that later.
20:59 darbelo It looks that our do-nothing instantiate is equivalent to the default one.
20:59 cotto have you tried using auto_attrs?
20:59 * Coke would love to use them. :P
20:59 cotto they're shiny
21:00 darbelo I gave some thought to that, but ever since the Great Merges I've been experiencing segfaults during interpreter destruction.
21:01 cotto That can wait then.
21:01 darbelo I've decided to wait them out, yes.
21:01 Coke darbelo: see ticket number...
21:01 Coke #945
21:01 cotto I don't think the mark VTABLE is necessary since it's marking a singleton.
21:02 cotto I need to dig for a sec, but I don't think singletons need marking.
21:02 Coke seems kind of silly.
21:02 darbelo Singletons are allocated as constants, I don't think that's enough to confer immortallity, though.
21:03 cotto yeah, they don't.
21:03 cotto constant PMCs are only destroyed when the interp shuts down, iirc
21:04 darbelo Is that documented behaviour or just a lucky coincidence? I'd rather stay on the documented side of the API.
21:04 cotto It seems to be explicit in the code.
21:05 pmichaud however, some things that end up in the constants table still need marking (of at least their attributes)
21:05 pmichaud (or properties)
21:05 pmichaud Sub PMCs being an example
21:08 darbelo It's not mentioned in the docs AFAIK.
21:08 darbelo But, let's kill it anyway. I feel dangerous today :)
21:09 cotto It doesn't do any harm, at any rate.
21:09 cotto If you see mysterious bugs, you know where to look.
21:09 darbelo The gc subsystem?
21:09 darbelo ;)
21:11 cotto Should thaw be doing some sanity checks against the current context or is there no way that thawing a frozen DecNum could mess anything up?
21:11 darbelo Incoming!
21:11 purl i heard incoming was https://pause.perl.org/incoming/
21:12 darbelo When dalek gets arround to it, anyways.
21:12 cotto It's nice having less code.
21:13 cotto I like deleting random lines just to see if they were really necessary.
21:13 cotto Usually they're not.
21:13 dalek decnum-dynpmcs: r172 | darbelo++ | trunk/src/pmc/dec (2 files):
21:13 dalek decnum-dynpmcs: Kill the mark and instatntiate VTABLEs, we don't need them no more.
21:13 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=172
21:14 Coke pmichaud: you'll be happy to know that the named unicode arg regression test is failing in the pcc branch.
21:14 Coke (not that it's failing, per se, but that it'll be fixed before mergeback.)
21:14 Whiteknight joined #parrot
21:15 darbelo cotto: does init() gets called by thaw at some point behind the scenes?
21:16 darbelo And, if not, how is SELF allocated there?
21:17 cotto I spent a bunch of time trying to figure out freeze/thaw when working Pipp's arrays, then promptly forgot most of it.
21:17 cotto looking...
21:19 Whiteknight NotFound++
21:19 Whiteknight r40818 was excellent!
21:20 darbelo All VTABLEs assume that they operate on a porperly init()ted DecNum.
21:21 darbelo If thaw() doesn't properly init() it then it has to be done manually.
21:22 cotto I suspect that thaw gives you a mostly uninitialized PMC without attrs set to anything meaningful.
21:24 hercynium joined #parrot
21:26 darbelo Hmm. Then there's something wrong with our thaw().
21:26 cotto FixedIntegerArray's thaw works that way
21:26 cotto I'm suspecting that too.
21:26 darbelo But if there are no attrs, why aren't we crashing?
21:26 Whiteknight freeze and thaw are black magic: poorly documented, ugly, hard to understand, etc
21:26 cotto Have you run it with electric fence?
21:27 cotto (if Parrot even runs at all with that library)
21:29 * Whiteknight has never even heard of electric fence
21:29 Whiteknight well, I've never heard of software named that
21:29 Whiteknight I have seen (and accidentally touched) a real electric fence once
21:31 cotto it's supposed to make any use of unmalloc'd memory explode noisily
21:32 cotto looks like it doesn't cause any problems when running t/pmc/freeze_thaw.t
21:32 cotto s#/pmc##
21:33 cotto actually, that test looks suspicious.  Some tests aren't testing the thawed PMC.
21:33 cotto The corrected test passes, though.
21:34 cotto stupid black magic
21:36 cotto Got it!
21:36 cotto It's SUPER, which delegates back to Default's thaw, which calls init.
21:37 nopaste "he" at 158.38.152.119 pasted "Fix for parrot 1.5.0 for NetBSD; fixes math library variant selection" (44 lines) at http://nopaste.snit.ch/17693
21:37 Limbic_Region joined #parrot
21:38 darbelo he++
21:38 cotto I feel better now.
21:39 darbelo *somebody* had to call init() *somewhere* for what I was doing to work.
21:40 cotto get_string calling decNumberReduce is a little odd, but I can accept that as a design decision.
21:41 darbelo And thath mens that a thawed DecNum attaches itself to the current DecNumContext, which will be created if there isn't one already.
21:41 cotto yup
21:41 darbelo To answer the original question.
21:42 darbelo he: Do you know what CLOCK_* does netbsd hava available in sys/time.h ?
21:42 cotto darbelo++
21:43 darbelo cotto: get_string() calls decNumberReduce to prevent stuff like 0.00e+35 getting printed.
21:43 theory joined #parrot
21:44 cotto that smells sane
21:44 mikehh joined #parrot
21:44 darbelo There might be issues if there are numbers that reduce to the same thing but compare different.
21:45 darbelo But I would consider that as a bug in the library.
21:46 cotto Do you have any tests of interaction between DecNums and other numeric PMCs?
21:46 duk3leto he++ for ieee goodness
21:46 dalek rakudo: ec2f831 | Daenyth++ | README:
21:46 dalek rakudo: README: Added section about Rakudo packages, and a link to the Arch Linux package
21:46 dalek rakudo: Signed-off-by: Daenyth <Daenyth+git@gmail.com>
21:46 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
21:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​c2f831be98be0eeb0edca2b12cf5f8aa48331c5
21:46 duk3leto darbelo: how does DecNum handle NaN? ;)
21:47 he darbelo: NetBSD/i386 4.0 has CLOCK_REALTIME, CLOCK_VIRTUAL, CLOCK_PROF and CLOCK_MONOTONIC (if that was the question)
21:47 darbelo he: Yes it is! Do you happen to know which is more precise/accurate when measuring time intervals?
21:48 he darbelo: don't know that off-hand, sorry.
21:48 cotto he, what's your man page for clock_gettime say?
21:49 darbelo If I had to guess I'd say CLOCK_PROF.
21:49 cotto I wonder how much different versions of the various BSDs will support differing CLOCK_* values.
21:50 darbelo OpenBSD has the same as NetBSD afaict.
21:50 he cotto: man page for clock_gettime() doesn't indicate precision, it merely points to clock_getres().  There could be differences between the different NetBSD ports, I'm sure.
21:51 he cotto: could easily write a small test program, though, to use clock_getres() for the 4 clocks.
21:51 rg freebsd seems to have the same aswell
21:52 cotto That'd help, but another concern is if there are any values that count only process time instead of wall clock time.
21:53 cotto darbelo, the rest of that file looks good.
21:54 darbelo cotto: CLOCK_PROF is the closest to what you want.
21:54 rg the freebsd manpage seems pretty good: http://www.freebsd.org/cgi/man.cgi?query=clo​ck_gettime&amp;apropos=0&amp;sektion=0&amp;m​anpath=FreeBSD+7.2-RELEASE&amp;format=html
21:55 cotto CLOCK_PROF looks great
21:56 particle O_o
21:56 darbelo That what I set it to on the patch. But I did leave out NetBSD.
21:57 cotto particle, ?
21:57 purl particle, is probably 37745 working yet?
21:58 joeri left #parrot
21:58 darbelo Guess I could change the default to CLOCK_PROF...
21:59 he Hm, clock_getres() gives me "Invalid argument" for IDs CLOCK_VIRTUAL and CLOCK_PROF on 4.0.
21:59 he uh, 5.0.
22:00 he And I'm somewhat doubdtful whether the two others tell the truth (1ns resolution).
22:00 darbelo he: How about MONOTONIC?
22:00 he 1ns, it says.
22:01 mikehh joined #parrot
22:01 he NetBSD 4.0 says 838ns for REALTIME and MONOTONIC.
22:01 he (both those are i386)
22:02 darbelo odd
22:03 he NetBSD 5.0/sparc64 says 2ns for REALTIME and MONOTONIC.
22:03 pmichaud urgggh, just found a place where type numbers are exposed to PIR
22:07 pmichaud is there currently a way (from PIR) to go from a type number to a type?
22:09 Coke not intentionally.
22:09 Coke I thought I ripped all those out.
22:09 pmichaud ugh.
22:09 Coke where?
22:09 pmichaud given a sub like:
22:09 pmichaud .sub 'xyz' :multi(['Integer'])
22:09 pmichaud .end
22:10 pmichaud if we then do
22:10 pmichaud .const 'Sub' xyz = 'xyz'
22:10 pmichaud $P1 = xyz.'get_multisig'()
22:10 darbelo cotto: OK. 'nuff timing stuff. Pick another file.
22:10 pmichaud the object that comes back in $P1 is a FixedPMC
22:10 pmichaud er, FixPMCArray
22:10 pmichaud and the elements of that object are type numbers (integers)
22:11 pmichaud and I need a way to get back to the actual types
22:11 Coke that seems like a bug, ayup.
22:12 pmichaud I suppose I could make a rakudo dynop to give me the type
22:12 pmichaud from a type number
22:12 cotto darbelo, sorry.  got distracted by being hungru
22:12 cotto s/hungru/hungry/
22:12 cotto decint.pmc
22:12 nopaste "darbelo" at 200.49.154.172 pasted "Yet another patch to determine CLOCK_BEST via configure. This should work out for everyone." (77 lines) at http://nopaste.snit.ch/17694
22:14 darbelo That's a fun pmc, oh yes.
22:15 cotto for init, why not just use SUPER and assign a different context?
22:16 darbelo Can't reacall. I think something broke when I tried that.
22:16 darbelo let me try it again.
22:20 darbelo Segfaulted in set_string_native
22:21 cotto super
22:21 Coke against head?
22:21 Coke head is full of segfaults.
22:22 darbelo Oh! Wait, I know what I did wrong now.
22:22 cotto great!
22:25 darbelo Incoming...
22:25 purl incoming is, like, https://pause.perl.org/incoming/
22:25 darbelo Eventually.
22:25 purl eventually we'll all be dead
22:25 cotto including you, purl
22:25 purl cotto: excuse me?
22:26 cotto It bugs me a little to have code duplication between DecNum and DecInt's METHODs, but that's not too big a problem.
22:26 darbelo AFAICT there's no way to:
22:27 darbelo 1) Not inherit them.
22:27 darbelo 2) Use SUPER() or otherwise delegate to our parent PMC.
22:28 darbelo IMHO 1 is the more valuable feature.
22:29 dalek decnum-dynpmcs: r173 | darbelo++ | trunk/src/pmc/decint.pmc:
22:29 dalek decnum-dynpmcs: Shorten DecInt's init() by appropiate use of SUPER()
22:29 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=173
22:30 cotto I'm sure #2 is possible, but whether it's supported is a separate question.
22:30 cotto The existing (duplicated) code will definitely work.
22:30 cotto on to DecNumContext
22:31 cotto looks like there's another extra instantiate VTABLE function
22:31 darbelo Just one thing, I can't leave this file without saying I consider the every instance of "ROUND(SELF);" a failing of the library.
22:32 cotto I agree.
22:32 cotto I'm not impressed that such hackery is needed.
22:33 darbelo cotto: extra instantiate? Where? ;)
22:33 cotto sneaky
22:34 cotto If any file needs documentation, it's this one.
22:34 dalek decnum-dynpmcs: r174 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
22:34 dalek decnum-dynpmcs: Remove another unnecesary instantiate VTABLE.
22:34 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=174
22:35 darbelo Hmm, do we have a bette exception than "EXCEPTION_INVALID_OPERATION" to throw in case of having the wrong endianness ?
22:35 cotto All of them should have some basic documentation (preferably as inline POD), but this one will need it for anyone not familiar with the library.
22:35 cotto I actually wonder why you're checking that.
22:36 cotto It seems that if endianness is wrong, something will explode long before you get to that point.
22:36 darbelo Not really. We haven't operated on any decNumbers yet, it's checking library endianness.
22:37 cotto ok
22:37 cotto The rest of it looks sane.
22:37 cotto decintcontext.pmc now
22:38 darbelo It's checking for the effects of Black Makefile Magic.
22:38 cotto decintcontext.pmc is also sane
22:39 darbelo The init() VTABLE could use some SUPER() there.
22:41 cotto quite
22:42 rg1 joined #parrot
22:42 cotto The rest looks fine.
22:48 darbelo cotto: What do you think this would need to become useful?
22:50 dalek decnum-dynpmcs: r175 | darbelo++ | trunk/src/pmc/decintcontext.pmc:
22:50 dalek decnum-dynpmcs: Shorten DecIntContext's init() by appropiate use of SUPER()
22:50 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=175
22:50 cotto An HLL that uses it would be good, but I'm not sure what more.
22:52 * darbelo wonders how long until an HLL uses his PMCs
22:53 * darbelo stares at Coke
22:54 mikehh darbelo: decnum-dynpmcs does not build with g++ - I forgot about that
22:55 mikehh my current installed parrot was built using g++
22:56 mikehh let me rebuild with gcc
22:56 darbelo Hmm. Does the build fail in src/decNumber or src/pmc ?
22:57 * darbelo is betting on src/pmc
22:57 mikehh -> ./decnumcontext.pmc:97: error: invalid conversion from ‘INTVAL’ to ‘rounding’
22:58 mikehh -> ./decnumcontext.pmc:236: error: invalid conversion from ‘INTVAL’ to ‘rounding’
22:59 mikehh that's with g++ it's ok with gcc
23:00 darbelo Yeah, was expecting that. But I can't think of a clean way to get arround it right now.
23:00 dalek parrot: r40820 | allison++ | branches/pcc_arg_unify/t/op/annotate.t:
23:00 dalek parrot: [pcc] Pop exception handler when the handler is running, for better
23:00 dalek parrot: debugging when a second exception is thrown inside the handler.
23:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40820/
23:01 mikehh I think NotFound fixed a similar problem with parrot a while back - let me check
23:02 darbelo Thing is rounding is an library-defined enumeration and INTVAL is the only parrot type it can be reasonably mapped to. They two will have to meet somewhere.
23:05 jrtayloriv If anyone has a moment, can you check to make sure that I converted this test properly? --> http://pastebin.com/d4f7c013d
23:07 mikehh I think it's the way you handle the cast
23:09 darbelo mikehh: You're right, it's choking on the asssignement. Maybe it easier to fix than I thought.
23:09 darbelo Gimme a sec.
23:11 darbelo What did you do to build parrot with c++?
23:12 darbelo jrtayloriv: It looks good to me. Does it pass/fail the same as before?
23:12 rg probably pass --cc=g++ to configure
23:12 mikehh check r40727 which fixed a build problem with g++
23:12 duk3leto how does one destroy an unmanagedstruct?
23:13 mikehh perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace
23:13 darbelo duk3leto: the destroy() VTABLE ?
23:13 mikehh you don't need the --configure_trace
23:14 darbelo or the --test
23:14 mikehh or the --test for that matter
23:14 mikehh :-}
23:14 duk3leto darbelo: i mean from PIR
23:15 darbelo no clue then.
23:16 jrtayloriv darbelo, yes -- thanks for taking a look, I've just got a few tests left that I was struggling with (mostly dealing with me figuring out how to work w/ objects/classes/namespaces in PIR) and then I'll be done with the whole file.
23:18 darbelo mikehh: Not your lucky day: a g++ build fails spectaculaly on OpenBSD.
23:19 mikehh I'll try to figure out a patch and let you know - building parrot with gcc at the moment
23:20 mikehh (and testing ;-}
23:21 nopaste "darbelo" at 200.49.154.172 pasted "patch for mikeh++" (34 lines) at http://nopaste.snit.ch/17695
23:22 darbelo That nopaste might make the second error go away for g++
23:22 darbelo And if that works I can fix the first error in no time. Let me know if it works for you.
23:28 rg couldn't you simply use an explicit cast? (sorry, don't have my parrot dev machine right now to test myself)
23:29 darbelo rg: Not sure. I'm not a (c++)-- person
23:31 mikehh darbello: it builds with gcc at r175 - make test has a FAIL (exit 11 which I think is a segfault but ALL subtests PASS except t/remaindernear.t .. No subtests run
23:32 mokurai joined #parrot
23:33 mikehh I'll see what the patch does in a bit (my installed parrot is built on gcc at the moment)
23:34 payload joined #parrot
23:34 darbelo mikehh: can you nopaste that test run?
23:36 rg hmm imho the assignment should not fail to compile in the first place. i guess i'll have to wait until i can get the code :(
23:41 mikehh darbelo: do you want the full log?
23:41 rg ah no, round is the enum and rnd is the int.
23:42 darbelo just the last few lines.
23:42 rg so you need to use a cast
23:44 rg in line 97 aswell
23:44 nopaste "mikehh" at 90.211.6.4 pasted "make test log for decnum-dynpmc at r175 on parrot r40820 (gcc)" (81 lines) at http://nopaste.snit.ch/17696
23:45 Limbic_Region joined #parrot
23:46 rg as in ... = (enum rounding)rnd;
23:48 mikehh examples_tests FAIL - All others PASS (pre/post-config, smoke, nqp_test, rest of fulltest) at r40820 - Ubuntu 9.04 amd64 (gcc)
23:50 mikehh t/examples/past.t - Failed test:  2 - Failed test 'examples/past/01-sub.pir' - at t/examples/past.t line 42. - Exited with error code: 134
23:56 mikehh rakudo (ec2f831) fails to build on parrot r40820 (gcc) Segmentation fault - make: *** [perl6.pbc] Error 139 - NOTE same error as t/examples/past.t failure
23:57 mikehh sorry not quite the same

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

Parrot | source cross referenced