www.parrot.org | Members, don't forget to vote today!
Set by moderator on 25 August 2009.
00:01 payload joined
jrtayloriv Is there any way for me to just just the tests in t/ops and no others? 00:03
t/op rather
darbelo prove t/whatever.t ? 00:04
jrtayloriv darbelo, thans
thanks, that is :)
darbelo or 'prove -v' if you need more details 00:05
dalek TT #947 created by darbelo++: [PATCH] add word boundary assertions to code that looks at library flags ... 00:10
jrtayloriv Two questions about this test -->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
purl Message for infinoid stored.
Whiteknight jrtayloriv: it's a bad test 00:13
it should be using the constants
jrtayloriv Whiteknight, How do I include them? I tried --> .include 'interpinfo.pasm' <-- and it said "Do you need to predeclare include?" 00:15
Whiteknight jrtayloriv: it sounds like your file is b0rked somehow. nopaste it? 00:16
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
bacek_at_work Whiteknight: yay! Reduce entropy ftw! 00:19
dalek rrot: r40805 | whiteknight++ | branches/context_pmc:
[context_pmc] deleting unused context_pmc branch that has been superceeded by work in the context_pmc3 branch
00:20
rrot: r40806 | whiteknight++ | branches/context_pmc2:
[context_pmc2] deleting unused context_pmc2 branch that has been superceeded by work in the context_pmc3 branch
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).
purl Message for infinoid stored.
jrtayloriv Whiteknight, pastebin.com/d4b4e53aa ... (it's the first test)
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
jrtayloriv doh
thanks :)
duk3leto darbelo: are you looking for someone to apply nopaste.snit.ch/17675 ?
Whiteknight jrtayloriv: the .include line should be under the pir_output_is line 00:22
that's PIR, not Perl5
darbelo duk3leto: Yup, and close tt#947 for double karma :)
00:22 patspam joined
jrtayloriv Oh, I see -- so pir_output_is is kind of like a heredoc? 00:22
darbelo the paste is attached to the ticket as well. 00:23
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
so after that function call is all the PIR
duk3leto jrtayloriv: pir_output_like is used to see if the output of a PIR block matches a regex
jrtayloriv: you can use a HEREDOC for the argument, but you don't have too.
darbelo jrtayloriv: have you seen test_more.pir yet?
jrtayloriv darbelo, no -- I just looked at test.pm and at tests.pod 00:25
(but I will have a look-see
darbelo It makes Test::More available at the pir level.
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..
moderator 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:26
The file you paste could be converted as 00:27
..sub test :main 00:28
.include 'test_more.pir' $I1 = interpinfo 2 # How many GC mark runs have we done already?
sweep 1
$I2 = interpinfo 2 # Should be one more now
$I3 = $I2 - $I1
is($I3, 1)
.end
duk3leto indeed. just make sure you have a newline between the .include and the $I1
darbelo Oh, yeah, That's a mis-paste.
Another example of an all-pir test file is at code.google.com/p/decnum-dynpmcs/so...ing_mode.t 00:30
dalek rrot: r40807 | whiteknight++ | branches/io_cleanups:
[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
jrtayloriv darbelo, OK -- I'll do some reading into test_more. Thanks for pointing that out.
Another question: I got the test to work, but I had a weird problem w/ say vs print. This gives an error ---> pastebin.com/d7abc867d ... but if I change the say to print, it works fine. Why? 00:31
oh just figured it out ... 00:32
say adds \\n, correct?
Whiteknight yes
jrtayloriv ok
(didn't see the apostrophe on the next line)
Whiteknight yeah, that tricky little bastard 00:36
darbelo jrtayloriv: t/op/integer.t could also be instructive in writing all-pir tests for parrot. 00:38
jrtayloriv darbelo, Thanks -- I was just planning to tweak out on converting tests to help me learn PIR 00:39
(and PASM)
duk3leto jrtayloriv: most of t/pmc/*.t are PIR tests. t/pmc/string.t is a good example 00:40
00:41 Austin joined
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:41
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:43
dalek rrot: r40808 | whiteknight++ | branches/gsoc_pdd09:
[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
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.
Whiteknight yeah, that has a few effects: a Perl+PIR test is slower then a pure PIR one 00:46
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
will do!
darbelo Kill! Kill! Kill!
Whiteknight: Pease make dalek say 'exterminate' 00:48
;)
00:50 kthakore joined
dalek rrot: r40809 | whiteknight++ | branches/tt795_kill_parrot_sub_structure:
[tt795_kill_parrot_sub_structure] delete this branch, it already merged
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?
darbelo jrtayloriv: probably, yes.
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!
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.
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.
dalek tracwiki: v23 | whiteknight++ | BranchDescriptions 00:55
tracwiki: exterminate. Get rid of old branches that have been deleted
tracwiki: trac.parrot.org/parrot/wiki/Branch...ction=diff
jrtayloriv Is there a way for me to just tell Perl to treat a certain block as PIR, without using pir_output_is?
Whiteknight like an inline PIR?
jrtayloriv Whiteknight, exactly
Whiteknight nothing that I am aware of (but that would be an awesome extension)
darbelo Not that I know of. 00:56
Whiteknight we're down to 14 branches
darbelo But nothing stops you from using two files ;)
Whiteknight kid51: ping 00:57
purl msg kid51 what's the status of the tt509_install_files branch? has it merged? can it be deleted?
purl Message for kid51 stored.
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)? 00:59
Whiteknight jrtayloriv: yes, perfect 01:00
adding more test files is always cool
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:01
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 :)
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?
(i.e. the tests I've converted which use pir_output_is rather than test_more) 01:05
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:06
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.
Whiteknight jrtayloriv: yeah, creating tickets is the best way to make sure it gets seen
and you'll get feedback too 01:08
darbelo Also every ticket you open gives you karma :)
01:08 hercynium joined
darbelo karma jrtayloriv 01:08
purl jrtayloriv has karma of 5
darbelo jrtayloriv++ 01:09
karma jrtayloriv
purl jrtayloriv has karma of 6
darbelo just ake sure your trac user matches your irc handle. 01:10
01:14 TiMBuS joined
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?
darbelo Looks fine to me. I just tried it and it aplied cleanly to my svn checkout. 01:24
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)
darbelo You might want to give a more detailed (or human-readable) description next time though.
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
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:27
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
jrtayloriv: wknight8111.blogspot.com/2009/06/pa...suite.html 01:29
or just ask us in here when you run into a hard surface
jrtayloriv dukeleto, Yes -- I read his blog -- that's what got me started on this in the first place :)
darbelo jrtayloriv: I *think* the convention for perl files was indent := 4 spaces 01:30
jrtayloriv OK -- I'll set emacs to do that.
dukeleto jrtayloriv: let me know when you have your new diff and I will commit it
Whiteknight yes, we're always happy to help! 01:31
darbelo But I could be wrong, so check some files first.
Also, there is an emacs mode for pir files in the parrot tree. 01:32
Whiteknight treed?
purl rumour has it treed is the guy I'm trying to con into working on cardinal for me. :)
dukeleto darbelo: look in editor/
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.
darbelo, I think emacs ignored it's indent rule and aligned with the ones I was editing though. 01:33
It looks like some of the people who wrote the tests were using different indentation settings.
I'll fix them as I convert them.
dukeleto jrtayloriv: THE HORROR :)
darbelo Ah, there: editors/pir-mode.el 01:34
Coke is getting a ton of segfaults against 40800.
dalek rtcl: r637 | coke++ | trunk/docs/spectest- (2 files):
Update spectest run after downgrade of parrot revision
Whiteknight does anybody have a link to treed's cardinal blog?
dukeleto coke: on partcl ?
darbelo 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 ;) )
darbelo
17:26
dukeleto proper syntax highlighting is the other evil of embedding multiple languages in the same file
darbelo One more reason to convert the file to PIR!
dukeleto darbelo++ 01:36
jrtayloriv dukeleto, I've got the new diff up btw
it's the one called gc.t.patch--revised 01:37
dukeleto jrtayloriv: cool
Whiteknight darbelo++
Coke dukeleto: yes. 01:38
treed Yo? 01:39
purl ghurt!!
dukeleto has sinned lately by adding Parrot test files in Perl. I will atone, I will atone...
nopaste "coke" at 72.228.52.192 pasted "segfault" (1 line) at nopaste.snit.ch/17677
Coke has to do another (*#$ bisect. 01:42
darbelo has some Z's to catch 01:44
dalek rrot: r40810 | dukeleto++ | trunk/t/op/gc.t:
[TT #948][t] Convert bits of PASM to PIR in preperation of converting t/op/gc.t entirely to PIR
01:47
01:47 darbelo left
dukeleto i forgot to jrtayloriv++ in the commit message 01:48
jrtayloriv: another patch or two and you should send in a CLA so you can get your commit bit 01:50
dalek TT #948 closed by dukeleto++: [PATCH]: Convert PASM tests to PIR in t/op/gc.t 01:51
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:58
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
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
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. :|
(the fix to the auto_attrs problem doesn't leak memory. it just segfaults.) 02:02
I think splitting the file is too much. 02:03
why not just POD out the tests you're in the middle of working on?
dukeleto Coke: in a commit or in a local branch? 02:04
Coke: i think we may get more traction on converting some of our large perl-based tests if we convert them to smaller chunks
t/op/gc.t only has 18 tests 02:06
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:09
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:12
dukeleto it would be nice to have a "tools" category in the component section of Trac 02:15
dalek TT #949 created by dukeleto++: Make tools/dev/mk_manifest_and_skip.pl work with git svn 02:16
bacek_at_work Yay! TT#949 FTW! 02:17
Coke dukeleto: what's your trac id? 02:18
dukeleto Coke: dukeleto
purl you are still feeling the effects
dukeleto purl, go play in traffic
purl wanders off to dent some cars.
Coke dukeleto: at one point we ripped out most support for git from the repo because no one was maintaining it.
jrtayloriv dukeleto, This is the right way to do things, correct? --> pastebin.com/d4eb01e60 .... (just before I do all of the tests this way)
Coke so if you're adding it back in... you get to maintain it. =-) 02:19
(also, don't break svn.)
dukeleto: component added. owner: you.
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
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.
dukeleto Coke++
jrtayloriv dukeleto, yeah, I was just keeping the same names that they had originally for now 02:21
Coke cries again about the segfault.
jrtayloriv Coke, thanks
Coke jrtayloriv: <nod> 02:22
jrtayloriv not for crying :)
dukeleto consoles Coke with a large glass of whiskey
Coke oooh. no whiskey, but there is rum.
jdv79 Coke: partcl wouldn't build y'day
i'll try again now
Coke jdv79: yes. parrot HEAD has broken it. 02:23
it should build now, but will no doubt segfault madly.
jdv79 Noooooooo!
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?
Coke jdv79: you'll need 40627
jdv79 your PARROT_VERSION says 40625 02:24
i'll try
Coke ah, 627 is probably in a branch. 02:26
I only remembered it was "the one before 40628".
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.
Coke jdv79++
say "messages" 02:28
er, "/msg purl messages"
jdv79 oh yeah, thanks
treed Yeah.
"rake report" will make a tap archive
02:28 mokurai joined
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.
jdv79 i gotta get mpeters to add the project to smolder but i'll try it out local to see if it works
thanks
treed k
no problem
I substituted the Commit for the Version.
jdv79 cool
treed Stuff'll only work on Windows, though probably.
Relies on commands like hostname and stuff.
jdv79 whoa. what? 02:30
purl it has been said that whoa. is PAR supposed to "protect my source code"?
jdv79 i'll peek at it
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.
It's one of my goals, but a distant one.
jdv79 wait, it will or will not work on win32?
Coke only work on windows or NOT work on windows?
jdv79 is confused 02:31
treed The Rakefile would likely not work on Windows.
Oh.
I mistyped above.
jdv79 oh, good. that's the better issue, in my opinion
treed The stuff'll not work on Windows.
Should work fine on any unix-ish.
Coke you can tell what year a show was filmed by alton brown's haircut. 02:32
jdv79 is that the good eats guy?
treed Yeah. 02:34
One of my heroes.
BBIAB, dinner. 02:35
Coke also iron chef america and "the next iron chef", and half a dozen others. (feasting on asphalt.)
jdv79 cardinal is failing too? 02:37
hmm
Coke cotto: ping 02:38
jdv79 treed: the latest test failure causes rake to abort and the test archive is never created:( 02:39
02:41 janus joined
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:46
02:51 kyle_l5l joined 02:55 beta joined
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
msg allison your math seems to be off.
purl Message for allison stored.
Coke msg allison (regarding the vote tallies)
purl Message for allison stored.
treed jdv79: What failure? 02:59
purl i guess failure is not an option
03:03 Andy joined
treed jdv79: There's no failure on my system, so I'll need some details if I'm to fix it. 03:03
03:07 NotFound joined 03:19 Austin joined
Coke wonders at www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ... why would they special case +/- there... 03:26
03:29 jhelwig joined
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:33
Even though it is two files, can I just do 'svn diff > my.patch' and attach the single file? 03:37
03:40 eiya joined 03:45 eiya joined
dalek TT #950 created by jrtayloriv++: [PATCH]: Convert Perl tests to use test_more.pir for t/op/gc.t 03:49
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
good night folks
purl and bots!
jrtayloriv and bots
bacek_at_work purl: botsnack 03:52
purl :)
bacek_at_work g'night jrtayloriv
Coke hey. how many people here know what 'elements $P0' does when $P0 is a string? 03:53
(I apparently knew this several years ago.)
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? =-)
bacek_at_work Just look it up of cause :) 04:08
bah...
Coke p6 rule question - which keyword allows implicit whitespace? 04:14
04:20 dukeleto joined
dukeleto jrtayloriv: (re: vim variables) look at the footer of a parrot test for an example 04:21
bacek_at_work Coke: "rule" 04:24
04:30 HG` joined 04:31 Eevee joined
nopaste "coke" at 72.228.52.192 pasted "www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ??" (13 lines) at nopaste.snit.ch/17679 04:58
Coke can someone look at that and see if that token makes sense? 04:59
dalek rrot: r40811 | dukeleto++ | trunk/config/init/hints (7 files):
[TT #947] Add word boundary assertions to various hints files, darbelo++

r40798 (in the pluggable_runcore branch) added word boundary assertions to config/init/hints/linux.pm This patch does the same to the other files in that directory. config/init/hints/linux.pm is left untouched to avoid later merge conflicts.
05:00
TT #947 closed by dukeleto++: [PATCH] add word boundary assertions to code that looks at library flags ... 05:02
cotto does anyone know win32 programming well enough to understand performance counters? 05:06
dukeleto cotto: not I
nopaste "coke" at 72.228.52.192 pasted "www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M9 ??" (13 lines) at nopaste.snit.ch/17680 05:07
dukeleto Coke: does your grammar support "end+-1" . with my feeble eyes, I would say no 05:08
Coke: or is that a typo in their docs ? >:) 05:09
i take that back 05:10
the way you defined integer, it can contain a +/-
so I would say: looks good to me
Coke now I just have to figure out why it's not working. =-) 05:20
yes, they support end+-1
as written, it's barfing on "end-4", thugh. 05:21
ah, LTM bites me again. 05:23
cotto nom
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:25
cotto if you can, do, but some need perl for generating pir 05:26
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?
Coke: that is what I wanted to hear
Coke: where do the pasm-specific tests live? 05:28
there is a t/pir but no t/pasm
Coke I would probably move both of those to t/compiler/<foo> 05:30
if they existed.
cotto dukeleto, go for it! I'd recommend pasm+perl -> pir+perl -> pure pir
Coke the imcc tests probably have many of them.
dukeleto Coke: t/pir was specifically recommended by bacek for compiler-agnostic pir tests 05:31
Coke which should be all of them. =-) 05:33
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.
like "language spec"
Coke bacek_at_work: I disagree, but not enough to argue. 05:39
bacek_at_work Coke: where "language spec" tests should go? 05:44
Coke "this is me, not arguing." 05:45
05:46 Austin left 05:52 bacek_at_work joined
Coke there, got [string index barf 3-2] working. though it seems silly. =-) 05:56
dalek rtcl: r638 | coke++ | trunk/ (4 files):
make string indexes of the type "1+2", "3-2", and " 2 " work.

Add tests. Cleanup some bizarre "that worked?!?" code in [string]
05:57
06:02 mrsaturn joined, kyle_l5l joined 06:11 uniejo joined
dalek rrot: r40812 | dukeleto++ | trunk/t/pmc/pmc.t:
[t] Convert t/pmc/pmc.t to perl+pir instead of perl+pasm
06:12
tracwiki: v31 | dukeleto++ | ParrotQuotes
tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff
rrot: r40813 | dukeleto++ | trunk/t/pmc/default.t:
[t] Convert t/pmc/default.t to pir
06:33
rrot: r40814 | dukeleto++ | trunk/t/pmc/parrotinterpreter.t:
[t] Convert t/pmc/parrotinterpreter.t to pir
06:37
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. dev.taptinder.org/svn/taptinder/tru...stable.sql 06:40
purl Message for duk3leto stored.
dukeleto mj41: hola 06:45
does t/stress/gc.t do anything useful? Looks like cargo 06:48
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
it is a single test in a directory with a single file
dalek rrot: r40815 | NotFound++ | trunk/src/pmc.c:
[core] fix an attribute handling issue
06:51
moritz dukeleto: right. It looks like sombody wanted to add many more tests and never got around to it
cotto dukeleto, poke whiteknight about it 06:59
dukeleto msg whiteknight should t/stress/gc.t be culled?
purl Message for whiteknight stored.
07:05 kjeldahl joined
cotto cull it with fire 07:08
07:10 iblechbot joined
mikehh messages 07:12
dalek rrot: r40816 | dukeleto++ | trunk/t/library/rand.t:
[t] Convert t/library/rand.t to pir
07:15
07:19 szabgab joined
dukeleto +1/-1 on splitting t/op/literal.t into two tests, one written in PIR, one in PASM ? 07:19
moritz purl: +1/-1 07:21
purl -1
moritz didn't you see that coming? ;-)
anyway, purl's opinion doesn't count
cotto purl, opinion? 07:26
purl opinion is Yeah, well, you know, that's just, like, my opinion, man.
dukeleto botsnack
purl thanks dukeleto :)
07:40 athomason joined 07:59 payload joined
mikehh examples_tests FAIL - t/examples/past.t - Failed test 2 at r40816 08:10
rakudo fails to build at r40816 08:11
/usr/local/bin/parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
Segmentation fault 08:12
purl (Core dumped)
mikehh make: *** [perl6.pbc] Error 139
oops must avoid '/' as first char in line
messages 08:14
moritz I think purl only answers that in private message 08:17
dukeleto mikehh: interesting 08:18
dalek TT #951 created by kyle_l5l++: correct some minor bugs in t/pmc/threads.t 08:22
mikehh moritz: yes - pops up a private window 08:33
my last set of tests about 10 hours ago was ok 08:36
08:42 bacek joined
bacek o hai 08:43
moritz lolitsbacek!
bacek omgisitmoritz? 08:49
cotto ombbq 08:50
bacek cotto: looks like you didn't sleep yet :)
cotto you observe much, bacek 08:51
bacek s/much/everything/
It's part of my plan to Conquer the World 08:52
08:53 baest_ joined
cotto some things are best left unseen 08:53
bacek "What have been seen" :) 08:55
08:56 MoC joined
cotto bacek, do you to do much win32 programming? 09:02
bacek cotto: yeah... Last time it was 2 years ago. Way too much from my point of view 09:03
cotto do you know anything about using performance counters to get high-resolution timing information? 09:04
bacek cotto: nope. 09:05
mikehh bah smolder failed to post - managed to post manually (no tags though) 09:06
cotto jonathan, ping 09:07
09:17 kthakore joined
mikehh looks like r40799 is the culprit 09:22
both t/examples/past.t FAILS and rakudo fails to build at that revision - they passed at r40790 and only branch updates between 09:24
NotFound mikehh: ah, nice, I was trying to locate a test that failed 09:26
09:45 masak joined 10:02 donaldh joined 10:04 payload joined
masak WhiteKnight++ writes in wknight8111.blogspot.com/2009/06/l1...w-faq.html that PIR "is just PASM in disguise". what _is_ the difference between PIR and PASM, more exactly? 10:17
dalek rrot: r40817 | NotFound++ | trunk/src/pmc/fixedfloatarray.pmc:
[cage] delete empty init vtable from FixedFloatArray
bacek masak: syntax sugar 10:20
purl somebody said syntax sugar was a perl trait :)
masak bacek: so PIR is syntactic sugar for PASM? 10:25
bacek masak: technically - yes. 10:26
10:45 kthakore left
jonathan cotto: pong 10:48
11:21 donaldh joined 11:29 payload joined
dalek rrot: r40818 | NotFound++ | trunk (3 files):
[core] centralize PMC destruction in one function
11:33
12:10 mikehh joined
mikehh jonathan: ping 12:12
jonathan mikehh: pong 12:13
mikehh your commit 8b525f1c82fabdd03351708d71c2d927902af6eb prevents rakudo building for me 12:15
jonathan mikehh: Build log? 12:16
mikehh sorry next one
commit bd51ce26e3a76e1ce8eadc1e84a5060215de8846
rakudo (8b525f1) builds on parrot r40790 12:17
but it fails on bd51ce2 12:18
let me get that 12:20
12:21 ruoso joined
mikehh I don't know what is going on - now it builds 12:25
jonathan oh 12:27
:-/
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:28
12:35 MoC joined
mikehh I tested on r40790 with rakudo (8b525f1) and it failed to build on r40816 with rakudo (bd51ce2) 12:35
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
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
mikehh I think I get a different error at r40799 - let me see
t/examples/past.t fails at r40799 but passes at r40790 (only commits to branches in between) 12:40
dalek rtcl: r639 | coke++ | trunk/docs/spectest- (2 files):
spectest update
12:41
mikehh ok I have saved r40790 - I am now updating that to r40799
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:44
12:46 bacek joined
Coke hurm. commit emails for partcl seem to not be hitting the list 12:47
mikehh ok rakudo (bd51ce2) fails to build on parrot r40799 but builds on parrot r40790 12:53
fails with - Segmentation fault - make: *** [perl6.pbc] Error 139. 12:56
Coke mikehh: see my ticket about 40799l.
#945 12:57
mikehh Coke: looking 12:58
not only partcl but also rakudo and examples_tests - t/examples/past.t 13:03
adding comment 13:04
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:06
(I also added a "difficulty" category to the tickets and tagged some of them as "easy" 13:13
bacek spent 4 hours fighting with "easy" bug in exceptions handling and GC... 13:15
mikehh bacek: :-} 13:17
Coke: should I open a separate ticket for this 13:21
13:23 payload joined
Coke mikehh: nah. 13:28
this failure is a direct result of the original complaint.
13:36 PerlJam joined
mikehh examples_tests FAIL, All others PASS (pre/post-config, smoke, nqp_test, rest of fulltest) at r40818 - Ubuntu 9.04 amd64 (g++) 13:42
13:50 rhr joined
mikehh Coke: I got partcl to build at r40818 but most tests fail in make test - Files=74, Tests=95 14:01
rakudo fails to build at r40818 14:02
Coke mikehh: yes. I'm dead until they fix that bug. 14:04
(#945)
mikehh cardinal builds at r40818 but make test aborts 14:05
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:06
Coke yes! 14:07
mikehh got to fetch my grandsons from school - bbiab
moritz rakudo has adopted a policy to only allow closing of bug reports if there are tests available and pasing 14:08
(except for things that are not reasonably testable, or documentation errors)
Coke oh, parrot has that same policy now. =-)
moritz Coke: great. Blog about it, and start re-opening tickets that were closed without tests 14:09
bacek and start committing such tests into parrot's test-suite... 14:11
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!
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
bacek I've got plenty of them...
Anyway. $bed ~~ $bacek. 14:14
Coke I'm at 1.5.0, though.
(shouldda said)
bacek good night
Coke: open ticket. I'll try to check it tomorrow 14:15
14:16 donaldh joined
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:18
14:20 szabgab joined 14:23 Psyche^ joined 14:24 whiteknight joined
Coke alberto? 14:27
moritz: can you suggest s workflow with trac that would enable us to clearly mark when a ticket needs tests? 14:36
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
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
moritz Coke: basicall a tag tests_needed and a tag tests_commited
szbalint there is 'status'
moritz don't abuse that 14:39
Coke szbalint: I'm an admin and i see no way to edit the available statuses.
szbalint hm interesting
Coke moritz: there is a "keywords" free text field.
moritz you know, a ticket can both be open have tests
Coke I'll get a custom field added. 14:41
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:42
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:43
szbalint yeah 14:44
but I don't think it needs to be marked when someone has written a test 14:45
since tests are code that can be committed?
Coke needs to be marked that a test is /needed/
purl Hmm. No matches for that, Coke.
Coke and then we need to mark that it was done, as opposed to the need for it being removed.
moritz in the case of Rakudo it is very helpful to have the information if/where a test exists
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)
Coke theoretically, our test directory structure needs no explanation. =-)
whiteknight theoretically 14:47
moritz smilies a broad and sad smile
szbalint sounds sensible :)
14:48 theory joined
Coke email sent. 14:49
14:51 MoC joined
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:55
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
(but then you have to make sure the person committing actually does that.)
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:57
Coke that's fine, yes. 14:58
(in general, anyway: I didn't look at the patch. =-)
15:08 Andy joined 15:20 donaldh joined 15:55 bubaflub joined 15:56 iblechbot joined
cotto jonathan, reping 16:02
mikehh Coke: commented on the email 16:06
Coke cotto: the profiling stuff is merged back into trunk, yes?
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. =-
)
mikehh: now I have your cell! muahahaha.
jonathan cotto: repong
cotto jonathan, do you know anything about using performance counters to get high-resolution timing information? 16:08
jonathan cotto: I haven't played with those before, no. 16:09
cotto ok
bubaflub cotto: not to speak out of turn here, but i believe NYTProf does something like that
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.
dukeleto NYTProf does some amazing things
mikehh cotto: a good place to look is Devel::NYTProf 16:11
dukeloto beat me to it
cotto I'll dig into that.
dukeleto mikehh: bubaflub beat us both
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.
jonathan cpansearch.perl.org/src/TIMB/Devel-...NYTProf.xs 16:15
That is probably the file to look at.
dukeleto xs in #parrot, *the horror*
jonathan dukeleto: I've got just the project for you to look at...apart from you've already forked it. ;-) 16:17
16:24 darbelo joined 16:39 elmex joined, szabgab joined
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:41
Win32::PerfCounter looks helpful. 16:44
mikehh cotto: that's the other thing I was going to suggest you look at
Time::HiRes that is 16:45
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 :-}
szbalint windows doesn't seem to be sophisticated on windows :) 16:47
16:48 mokurai joined
Coke got a call on his cell about 3 seconds after making that crack, btw. 16:51
particle :P 16:55
cotto particle, you know anything about windows performance counters? 16:56
particle cotto: sorry, no 17:01
17:14 mrsaturn joined
treed Good OS X software for interacting with blogspot? 17:15
darbelo Safari?
purl somebody said Safari was at 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: calmstorm.net/lj/safari_safety.png or death to mst's icons or the web browser in teh iPhone or bad though
treed Heh.
Coke blogspot == blogger.com? 17:16
17:16 mrsaturn joined
treed Yeah, they seem to be the same. 17:16
mrsaturn hello everyone
treed About how much traffic could I put through that Cardinal blog before I start to annoy people?
Hey mrsaturn
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:18
treed Yeah, I was looking for a non-HTML app. 17:19
Yeah, I use Firefox.
bubaflub treed: if you have 10.5 you could try fluid 17:20
which is just an app that wraps as a single-site browser
treed Well, I'm looking for something with a more OS X-like GUI. 17:23
bubaflub ah, well 17:24
check out osx.iusethis.com/app/marsedit and osx.iusethis.com/app/ecto
though they are both pay software
treed Hm. 17:25
would have to wait until I got a job
bubaflub some are shareware, you can give it a trial run
treed Oh, there's a blogging bundle for textmate.
Interesting.
treed has TM.
Don't use it much anymore, though.
bubaflub i use MacVim 17:26
17:26 desertm4x joined
treed Yeah, same here. 17:26
I could use w3m 17:27
It's got an option to send text box input fields to $EDITOR.
Very nice for working on huge things on a web page.
Unfortunately, that'd probably mean writing my own HTML or something.
Be nice if blogger understood textile. 17:28
Running cardinal test:all on r40818, seems to be working so far. 17:42
Was this the one everyone else was having difficult with?
Ah, there it bails out.
get_pmc_keyed() not implemented in class 'String' 17:43
That's happened before.
treed uses this as a way to figure out how to get the suite to keep running even if something bails out.
AFter cleaning, though. 17:44
Tene treed: you can have your editor call out to markdown or textile or whatever, yes? 17:47
treed blinks. 17:48
Maybe!
Tene :%! markup-convert-foo
treed Aha.
That could work then.
treed notes that his blog still hasn't hit planet parrot. 17:50
17:51 bubaflub joined 17:53 bubaflub joined 17:57 bubaflub joined
dalek kudo: dfa5853 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 433 files, 12402 (70.0% of 17706) pass, 0 fail
17:58
kudo: 3b94522 | pmichaud++ | tools/test_summary.pl:
Remove the $testdate value as the first item in test_summary.pl output,

spectest_progress.csv output. We might see about adding $testdate as an additional column at the end.
18:04
kudo: 6c21d0c | pmichaud++ | tools/test_summary.pl:
9 characters isn't sufficient to display qq{"Synopsis",} .
kudo: 47057c1 | pmichaud++ | .gitignore:
Update .gitignore with more untracked but generated files.
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?
darbelo jrtayloriv: perl or PIR? 18:06
jrtayloriv darbelo, PIR using test_more.pir
darbelo Hmm. perl's Tes::More has "done_testing()" I don't know if test_more.pir has it, though. 18:07
let me check that.
treed If the loop fails, then clearly you have failure and the number of results *should* be less than the plan. 18:08
18:09 hercynium joined
jrtayloriv treed, So I should just use plan() then? 18:09
darbelo I don't see anything like done_testing() on test_more.pir. So, yeah, use plan(). 18:10
treed Yeah, use plan
If the loop fails and you have less results than planned, that's a test-fail IMO.
18:11 bubaflub joined
darbelo cotto: ping 18:13
cotto darbelo, pong 18:14
darbelo I've got a patch for the pluggable_runcores branch. 18:15
cotto of what nature?
(or just nopaste it)
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 nopaste.snit.ch/17684
Coke purl msg chromatic - searching on modernperlbooks.com gives an internal server error
purl Message for chromatic stored.
18:17 mberends joined
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.
darbelo It doen't probe anything, but has the same fallback as before and allows overriding via hints file.
WORKSFORME, and if I got the linux hits right SHOULDWORKFORYOU.
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
It's definitely a better approach, though.
18:19 bubaflub left
darbelo Hmm. I guess config/init/hints/mswin32.pm can set that to '' if it doesn't need it. 18:19
cotto that'd be fine by me 18:20
why not add the -D option with some of the other similar code instead of defining a separate clock_best value? 18:22
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.
afk for an hour or two 18:24
darbelo I'll update the patch for win32 and repaste.
18:28 jan joined
nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] punt CLOCK_BEST definition to configure for cotto++. Updated for mswin32" (84 lines) at nopaste.snit.ch/17685 18:33
darbelo msg cotto updated "punt CLOCK_BEST definition to configure" patch is at nopaste.snit.ch/17685 now with win32 non-goodness! 18:36
purl Message for cotto stored.
dalek kudo: bd7533f | pmichaud++ | Configure.pl:
Improve the error diagnostics when someone tries to build Rakudo

messages themselves look a bit more STD-like ("===SORRY!===").
18:37
nopaste "darbelo" at 200.49.154.172 pasted "[PATCH] Updated the CLOCK_BEST definition for some systems." (109 lines) at nopaste.snit.ch/17686 19:09
darbelo msg cotto updated (again) the "punt CLOCK_BEST definition to configure" patch. Get it from nopaste.snit.ch/17685 it now handles FreeBSD and Solaris. 19:10
purl Message for cotto stored.
darbelo Say, do we have any regular testers on Solaris. 19:11
Coke we used to, but we kept breaking it. =-) 19:12
(Andy Dougherty)
darbelo So, there's nobody I can sucker into testing the various CLOCK_* values there. Let's hope I got them right then :) 19:18
Coke Couldn't hurt to post to the list 19:20
particle www.sun.com/download/products.xml?id=4702f982 19:44
[VMware virtual machine containing Solaris Express Developer Edition 9/07]
rg1 darbelo: I'm running a smolder on solaris 19:45
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:47
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 ;)
i'm running on sparc for the big endian tests
darbelo rg: can you paste the results of 'grep CLOCK_ /usr/include/sys/time*' on that box ? 19:54
TimToady phone 20:02
nopaste "rg" at 93.104.99.132 pasted "grep for darbelo++" (11 lines) at nopaste.snit.ch/17687
20:03 marius joined
darbelo Hmm. Could you give me a 'uname -srvmpi 20:04
rg SunOS 5.10 Generic_137137-09 sun4u sparc SUNW,Ultra-5_10 20:05
Coke smacks pmichaud.
. o O (That was terrible.)
szabgab is there anyone of the trac.parrot.org/parrot maintainer here? 20:06
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?
moritz we only allow new tickets from registered users 20:08
(apart from that I know next to nothing about our trac setup)
Coke whistles innocently.
particle smacks coke. 20:09
Coke OW
szabgab we do the same but a month or so ago we started to get bots registering and then creating a wiki page
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.
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.
particle but users need to be given permission to create pages
particle points at darbelo
Coke stares at darbelo.
szabgab ah, so you allow anyone to register but they don't get any extra rights
someone has to manually add that right for them 20:13
until then they cannot do anything extra, right ?
particle yes, however, i'm not sure if that applies to trac.parrot.org, too
darbelo wonders what all the staring and pointing is about
Coke wonders how long until he can have bigints in tcl.
particle points at darbelo
Coke stares at darbelo. 20:14
cotto points at darbelo and whispers to particle
particle shudders and whispers to coke
Coke trac.parrot.org requires a login, but any logged in user has basic ticket rights.
szabgab so probably you too will get your spam once the spamrobots find that trac as well 20:16
Coke we've had a bit of spam, yes. 20:17
deleted most of it shortly after it arrived.
(pita)
. o O (mfrl) 20:18
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
darbelo is a fan of ham 20:21
moritz chunky bacon! 20:22
darbelo cotto: I'd go for CLOCK_PROCESS_CPUTIME_ID, which is what the origial code would have picked from that list. 20:28
20:29 pjcj joined
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:29
nopaste "darhelo" at 200.49.154.172 pasted "Another iteration on the same patch for cotto++" (109 lines) at nopaste.snit.ch/17688 20:31
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.
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.
Coke Tene: allison just said she only had 500 failing tests.
Tene iirc, that's 'coretest's
darbelo Coke: She uses the new 'make corevm' target 20:35
Tene Yes, that.
Coke make: *** No rule to make target `corevm'. Stop.
Tene Coke: she won't apply the corevm make target to the branch.
20:35 joeri joined
Tene because of something about svn failing when you've applied changes on both trunk and on a branch. 20:35
or something. I don't understand it.
Coke ... then I can do nothing to help debug this. 20:36
my hands. I sit on them.
Tene Coke: to debug the build failures?
Coke to get the branch building, passing all tests, and merged back.
Tene Any issues with the build are problems with pcc stuff that need to be fixed. 20:37
She uses corevm/coretest because those are easier to diagnose than, say, part of PGE
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."
Tene Yes, definitely.
Coke pmichaud: you mean, the C level is rising? 20:39
(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.
dalek rrot: r40819 | tene++ | branches/pcc_arg_unify (2 files):
[pcc] Merge the corevm make target from trunk so that Coke++ can help.
20:41
darbelo cotto: ok, ping me when your are done.
purl I can't find me in the DNS.
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.
cotto < purl-- >
all done
pmichaud Coke: The C level is rising, *and* we're better at keeping our head above water :) 20:43
cotto darbelo, ping 20:44
20:44 davidfetter joined
cotto darbelo, I'm ready whenever. 20:46
dalek kudo: 3a4cc55 | pmichaud++ | src/ (2 files):
Move $!real_self setting from actions.pm into !fixup_routine_type.
20:47
darbelo cotto: pong 20:48
Where do you want to start? 20:49
cotto decnum.pmc
Coke rants again that the summary of 'make test' doesn't seem to tell you how many tests failed altogether. 20:50
Tene That bugs me too. 20:51
cotto Is the instantiate VTABLE necessary? afaiu it's only meaningful for OO stuff.
Tene and Coke, me three 20:52
Tene cotto: isn't it what gets run when you call the 'new' opcode?
darbelo I think I cargo-culted it out of BigNum back in the copy-paste out of something that already builds stage. 20:53
cotto Tene, that's init or init_pmc. 20:54
come to think of it, I'm not sure what pir-level code invokes the instantiate VTABLE
20:54 bacek joined
Tene cotto: instantiate is what is run by the 'new' opcode, just confirmed. 20:55
cotto my mistake then 20:57
darbelo I just removed it and make test just succeded.
cotto I'll have to dig into that later. 20:58
darbelo It looks that our do-nothing instantiate is equivalent to the default one. 20:59
cotto have you tried using auto_attrs?
Coke would love to use them. :P
cotto they're shiny
darbelo I gave some thought to that, but ever since the Great Merges I've been experiencing segfaults during interpreter destruction. 21:00
cotto That can wait then. 21:01
darbelo I've decided to wait them out, yes.
Coke darbelo: see ticket number...
#945
cotto I don't think the mark VTABLE is necessary since it's marking a singleton.
I need to dig for a sec, but I don't think singletons need marking. 21:02
Coke seems kind of silly.
darbelo Singletons are allocated as constants, I don't think that's enough to confer immortallity, though.
cotto yeah, they don't. 21:03
constant PMCs are only destroyed when the interp shuts down, iirc
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.
pmichaud however, some things that end up in the constants table still need marking (of at least their attributes) 21:05
(or properties)
Sub PMCs being an example
darbelo It's not mentioned in the docs AFAIK. 21:08
But, let's kill it anyway. I feel dangerous today :)
cotto It doesn't do any harm, at any rate. 21:09
If you see mysterious bugs, you know where to look.
darbelo The gc subsystem?
;)
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!
purl i heard incoming was pause.perl.org/incoming/
darbelo When dalek gets arround to it, anyways. 21:12
cotto It's nice having less code.
I like deleting random lines just to see if they were really necessary. 21:13
Usually they're not.
dalek cnum-dynpmcs: r172 | darbelo++ | trunk/src/pmc/dec (2 files):
Kill the mark and instatntiate VTABLEs, we don't need them no more.
Coke pmichaud: you'll be happy to know that the named unicode arg regression test is failing in the pcc branch. 21:14
(not that it's failing, per se, but that it'll be fixed before mergeback.)
21:14 Whiteknight joined
darbelo cotto: does init() gets called by thaw at some point behind the scenes? 21:15
And, if not, how is SELF allocated there? 21:16
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
looking...
Whiteknight NotFound++ 21:19
r40818 was excellent!
darbelo All VTABLEs assume that they operate on a porperly init()ted DecNum. 21:20
If thaw() doesn't properly init() it then it has to be done manually. 21:21
cotto I suspect that thaw gives you a mostly uninitialized PMC without attrs set to anything meaningful. 21:22
21:24 hercynium joined
darbelo Hmm. Then there's something wrong with our thaw(). 21:26
cotto FixedIntegerArray's thaw works that way
I'm suspecting that too.
darbelo But if there are no attrs, why aren't we crashing?
Whiteknight freeze and thaw are black magic: poorly documented, ugly, hard to understand, etc
cotto Have you run it with electric fence?
(if Parrot even runs at all with that library) 21:27
Whiteknight has never even heard of electric fence 21:29
well, I've never heard of software named that
I have seen (and accidentally touched) a real electric fence once
cotto it's supposed to make any use of unmalloc'd memory explode noisily 21:31
looks like it doesn't cause any problems when running t/pmc/freeze_thaw.t 21:32
s#/pmc##
actually, that test looks suspicious. Some tests aren't testing the thawed PMC. 21:33
The corrected test passes, though.
stupid black magic 21:34
Got it! 21:36
It's SUPER, which delegates back to Default's thaw, which calls init.
nopaste "he" at 158.38.152.119 pasted "Fix for parrot 1.5.0 for NetBSD; fixes math library variant selection" (44 lines) at nopaste.snit.ch/17693 21:37
21:37 Limbic_Region joined
darbelo he++ 21:38
cotto I feel better now.
darbelo *somebody* had to call init() *somewhere* for what I was doing to work. 21:39
cotto get_string calling decNumberReduce is a little odd, but I can accept that as a design decision. 21:40
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
darbelo To answer the original question.
he: Do you know what CLOCK_* does netbsd hava available in sys/time.h ? 21:42
cotto darbelo++
darbelo cotto: get_string() calls decNumberReduce to prevent stuff like 0.00e+35 getting printed. 21:43
21:43 theory joined
cotto that smells sane 21:44
21:44 mikehh joined
darbelo There might be issues if there are numbers that reduce to the same thing but compare different. 21:44
But I would consider that as a bug in the library. 21:45
cotto Do you have any tests of interaction between DecNums and other numeric PMCs? 21:46
duk3leto he++ for ieee goodness
dalek kudo: ec2f831 | Daenyth++ | README:
README: Added section about Rakudo packages, and a link to the Arch Linux package

Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
duk3leto darbelo: how does DecNum handle NaN? ;)
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?
he darbelo: don't know that off-hand, sorry. 21:48
cotto he, what's your man page for clock_gettime say?
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.
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.
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
cotto That'd help, but another concern is if there are any values that count only process time instead of wall clock time. 21:52
darbelo, the rest of that file looks good. 21:53
darbelo cotto: CLOCK_PROF is the closest to what you want. 21:54
rg the freebsd manpage seems pretty good: www.freebsd.org/cgi/man.cgi?query=c...ormat=html
cotto CLOCK_PROF looks great 21:55
particle O_o 21:56
darbelo That what I set it to on the patch. But I did leave out NetBSD.
cotto particle, ? 21:57
purl particle, is probably 37745 working yet?
21:58 joeri left
darbelo Guess I could change the default to CLOCK_PROF... 21:58
he Hm, clock_getres() gives me "Invalid argument" for IDs CLOCK_VIRTUAL and CLOCK_PROF on 4.0. 21:59
uh, 5.0.
And I'm somewhat doubdtful whether the two others tell the truth (1ns resolution). 22:00
darbelo he: How about MONOTONIC?
he 1ns, it says.
22:01 mikehh joined
he NetBSD 4.0 says 838ns for REALTIME and MONOTONIC. 22:01
(both those are i386)
darbelo odd 22:02
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
is there currently a way (from PIR) to go from a type number to a type? 22:07
Coke not intentionally. 22:09
I thought I ripped all those out.
pmichaud ugh.
Coke where?
pmichaud given a sub like:
.sub 'xyz' :multi(['Integer'])
.end
if we then do 22:10
.const 'Sub' xyz = 'xyz'
$P1 = xyz.'get_multisig'()
darbelo cotto: OK. 'nuff timing stuff. Pick another file.
pmichaud the object that comes back in $P1 is a FixedPMC
er, FixPMCArray
and the elements of that object are type numbers (integers)
and I need a way to get back to the actual types 22:11
Coke that seems like a bug, ayup.
pmichaud I suppose I could make a rakudo dynop to give me the type 22:12
from a type number
cotto darbelo, sorry. got distracted by being hungru
s/hungru/hungry/
decint.pmc
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 nopaste.snit.ch/17694
darbelo That's a fun pmc, oh yes. 22:14
cotto for init, why not just use SUPER and assign a different context? 22:15
darbelo Can't reacall. I think something broke when I tried that. 22:16
let me try it again.
Segfaulted in set_string_native 22:20
cotto super 22:21
Coke against head?
head is full of segfaults.
darbelo Oh! Wait, I know what I did wrong now. 22:22
cotto great!
darbelo Incoming... 22:25
purl incoming is, like, pause.perl.org/incoming/
darbelo Eventually.
purl eventually we'll all be dead
cotto including you, purl
purl cotto: excuse me?
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:
1) Not inherit them. 22:27
2) Use SUPER() or otherwise delegate to our parent PMC.
IMHO 1 is the more valuable feature. 22:28
dalek cnum-dynpmcs: r173 | darbelo++ | trunk/src/pmc/decint.pmc:
Shorten DecInt's init() by appropiate use of SUPER()
22:29
cotto I'm sure #2 is possible, but whether it's supported is a separate question. 22:30
The existing (duplicated) code will definitely work.
on to DecNumContext
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.
cotto I agree. 22:32
I'm not impressed that such hackery is needed.
darbelo cotto: extra instantiate? Where? ;) 22:33
cotto sneaky
If any file needs documentation, it's this one. 22:34
dalek cnum-dynpmcs: r174 | darbelo++ | trunk/src/pmc/decnumcontext.pmc:
Remove another unnecesary instantiate VTABLE.
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.
I actually wonder why you're checking that.
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.
cotto ok 22:37
The rest of it looks sane.
decintcontext.pmc now
darbelo It's checking for the effects of Black Makefile Magic. 22:38
cotto decintcontext.pmc is also sane
darbelo The init() VTABLE could use some SUPER() there. 22:39
cotto quite 22:41
22:42 rg1 joined
cotto The rest looks fine. 22:42
darbelo cotto: What do you think this would need to become useful? 22:48
dalek cnum-dynpmcs: r175 | darbelo++ | trunk/src/pmc/decintcontext.pmc:
Shorten DecIntContext's init() by appropiate use of SUPER()
22:50
cotto An HLL that uses it would be good, but I'm not sure what more.
darbelo wonders how long until an HLL uses his PMCs 22:52
darbelo stares at Coke 22:53
mikehh darbelo: decnum-dynpmcs does not build with g++ - I forgot about that 22:54
my current installed parrot was built using g++ 22:55
let me rebuild with gcc 22:56
darbelo Hmm. Does the build fail in src/decNumber or src/pmc ?
darbelo is betting on src/pmc 22:57
mikehh -> ./decnumcontext.pmc:97: error: invalid conversion from ā€˜INTVAL’ to ā€˜rounding’
-> ./decnumcontext.pmc:236: error: invalid conversion from ā€˜INTVAL’ to ā€˜rounding’ 22:58
that's with g++ it's ok with gcc 22:59
darbelo Yeah, was expecting that. But I can't think of a clean way to get arround it right now. 23:00
dalek rrot: r40820 | allison++ | branches/pcc_arg_unify/t/op/annotate.t:
[pcc] Pop exception handler when the handler is running, for better
mikehh I think NotFound fixed a similar problem with parrot a while back - let me check 23:01
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:02
jrtayloriv If anyone has a moment, can you check to make sure that I converted this test properly? --> pastebin.com/d4f7c013d 23:05
mikehh I think it's the way you handle the cast 23:07
darbelo mikehh: You're right, it's choking on the asssignement. Maybe it easier to fix than I thought. 23:09
Gimme a sec.
What did you do to build parrot with c++? 23:11
jrtayloriv: It looks good to me. Does it pass/fail the same as before? 23:12
rg probably pass --cc=g++ to configure
mikehh check r40727 which fixed a build problem with g++
duk3leto how does one destroy an unmanagedstruct?
mikehh perl Configure.pl --optimize --test --cc=g++ --cxx=g++ --link=g++ --ld=g++ --configure_trace 23:13
darbelo duk3leto: the destroy() VTABLE ?
mikehh you don't need the --configure_trace
darbelo or the --test 23:14
mikehh or the --test for that matter
:-}
duk3leto darbelo: i mean from PIR
darbelo no clue then. 23:15
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:16
darbelo mikehh: Not your lucky day: a g++ build fails spectaculaly on OpenBSD. 23:18
mikehh I'll try to figure out a patch and let you know - building parrot with gcc at the moment 23:19
(and testing ;-} 23:20
nopaste "darbelo" at 200.49.154.172 pasted "patch for mikeh++" (34 lines) at nopaste.snit.ch/17695 23:21
darbelo That nopaste might make the second error go away for g++ 23:22
And if that works I can fix the first error in no time. Let me know if it works for you.
rg couldn't you simply use an explicit cast? (sorry, don't have my parrot dev machine right now to test myself) 23:28
darbelo rg: Not sure. I'm not a (c++)-- person 23:29
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:31
23:32 mokurai joined
mikehh I'll see what the patch does in a bit (my installed parrot is built on gcc at the moment) 23:33
23:34 payload joined
darbelo mikehh: can you nopaste that test run? 23:34
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:36
mikehh darbelo: do you want the full log? 23:41
rg ah no, round is the enum and rnd is the int.
darbelo just the last few lines. 23:42
rg so you need to use a cast
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 nopaste.snit.ch/17696
23:45 Limbic_Region joined
rg as in ... = (enum rounding)rnd; 23:46
mikehh examples_tests FAIL - All others PASS (pre/post-config, smoke, nqp_test, rest of fulltest) at r40820 - Ubuntu 9.04 amd64 (gcc) 23:48
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:50
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:56
sorry not quite the same 23:57