Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-03

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Yuki`N Also I'm still getting issues with the packfile api.
00:01 Jumpyshoes how do i tell how much of a file is covered by a test?
00:02 cotto aloha, coverage?
00:02 aloha cotto: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
00:02 cotto Jumpyshoes, ^
00:02 aantn rfw: you've got some competition around :P
00:05 cotto Jumpyshoes, also use make fullcover or cover
00:08 aantn Jumpyshoes: and run make codetest before committing - that checks coding style, leading whitespace, etc.
00:11 Jumpyshoes okay, thanks
00:12 Jumpyshoes derp, i need cover and gcov2perl
00:13 Jumpyshoes sigh, let's see if i can set up chroot
00:13 Jumpyshoes this is not working
00:14 nwellnhof Jumpyshoes: you have to install the Devel::Cover Perl module.
00:14 aantn Jumpyshoes: the chroot wont help you with that
00:14 Jumpyshoes i'm not sure if i can
00:14 aantn Jumpyshoes: you'll have to go through all the sam steps, plus a few others
00:15 cotto Jumpyshoes, if you don't want to bother, you can use http://tapir2.ro.vutbr.cz/cover/cover-results
00:15 Jumpyshoes what i want to do is see how much coverage i have after i change things
00:15 aantn Jumpyshoes: don't go with the chroot unless you absolutely have to
00:16 aantn Jumpyshoes: you can download the Devel:Cover module and set the install prefix as you would with any makefile project
00:16 aantn (I think(
00:16 Jumpyshoes hrm, i see
00:17 aantn Jumpyshoes: err, that's if you install perl yourself :(
00:17 aantn Jumpyshoes: http://www.perlmonks.org/?node_id=250422
00:17 cotto afk
00:18 Jumpyshoes this is lovely, i don't have enough disk space to install perl
00:19 aantn Jumpyshoes: sorry, I need to run - just read the link yourself or google - I only scanned the page, so perhaps I got it wrong
00:19 aantn Jumpyshoes: you may not need perl after all - that was my first impression on scanning
00:20 Jumpyshoes http://pastebin.com/fNPMUbvD no, i think you're right
00:21 aantn Jumpyshoes: ask in #perl
00:21 aantn Jumpyshoes: anyway, gtg. good luck!
00:22 Jumpyshoes thanks
00:26 Coke left #parrot
00:27 dukeleto ~~
00:27 aantn left #parrot
00:30 nwellnhof left #parrot
00:30 dukeleto Jumpyshoes: welcome!
00:31 kennym left #parrot
00:31 Jumpyshoes hey
00:43 Yuki`N Hmm, apparently my version of gdb does not have python pretty-printer support.
00:44 kid51_at_dinner is now known as kid51
00:44 Coke joined #parrot
00:51 dalek TT #1900 closed by jkeenan++: Change names of 'make' coverage targets
00:51 dalek TT #1900: http://trac.parrot.org/parrot/ticket/1900
01:00 dukeleto Jumpyshoes: what task are you working on?
01:00 rfw holy crap it's Jumpyshoes
01:00 Jumpyshoes hi rfw
01:00 dukeleto Jumpyshoes: i am the gci org admin for Parrot and Perl
01:00 Jumpyshoes dukeleto: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129395090916
01:00 rfw Jumpyshoes: enjoy your pbc_disassemble task
01:00 Jumpyshoes i'm having some issues witih perl, but i am working on it
01:00 Jumpyshoes rfw: wat
01:00 dukeleto Jumpyshoes: cool
01:01 dukeleto rfw: what are you working on?
01:01 rfw dukeleto: just got back from lunch
01:01 Jumpyshoes i'd like to start on something easy though
01:01 rfw dukeleto: i'll get started on the rational dynpmc now
01:02 rfw did anyone reply to my ticket about Continuation.continuation?
01:02 rfw nope :(
01:03 Jumpyshoes oh great, perl custom install is failing make test
01:04 Nol888 joined #parrot
01:05 rfw who the hell thought up this rational[base] feature
01:06 Jumpyshoes at least perl is working for you
01:06 rfw Jumpyshoes: what's broken
01:06 Jumpyshoes everything
01:06 Jumpyshoes namely i don't have root --> lol fuck me
01:07 rfw lol
01:07 rfw what's an error?
01:07 Jumpyshoes it's failing make test
01:07 rfw is there a specific error?
01:07 Jumpyshoes yea, but it scrolled offscreen
01:07 rfw hm, tee it to a log file?
01:08 Jumpyshoes yea, that's what i plan to do
01:08 Jumpyshoes after this runs
01:08 Coke left #parrot
01:09 Yuki`N left #parrot
01:10 rfw how does throws_substring work again?
01:11 Nol888 throws_substring(code, substring, desc);
01:11 Nol888 Use a heredoc.
01:11 Nol888 for codew
01:11 rfw ah okay
01:11 rfw thanks
01:13 rfw Nol888: what the hell is bool
01:14 rfw what pmc is it, i mean
01:15 dukeleto Jumpyshoes: what version of perl are you installing?
01:15 dukeleto rfw: sometimes it takes people a few days to respond to tickets
01:15 rfw ah, okay
01:15 Jumpyshoes dukeleto: 5.12.2
01:15 dukeleto rfw: pmc = parrot magic cookie or polyMorphic container
01:15 Jumpyshoes dukeleto: http://pastebin.com/3ZrmdXdh fails with this
01:15 rfw dukeleto: how do i invoke the get_bool vtable?
01:15 dukeleto rfw: attempt to use the PMC in boolean context
01:16 dukeleto Jumpyshoes: i wouldn't let it block you from your task
01:16 dukeleto Jumpyshoes: just install it. you can report a bug to them, of course
01:16 Jumpyshoes i don't have root access, can't install. but i'm building it in my home dir
01:16 dukeleto Jumpyshoes: those tests won't effect the part of perl you will use
01:17 dukeleto Jumpyshoes: why not just use /usr/bin/perl ?
01:17 dukeleto Jumpyshoes: do you have a /usr/bin/perl ?
01:17 rfw dukeleto: what uses a PMC as a boolean value?
01:17 dukeleto Jumpyshoes: which version? parrot just needs 5.8.4 or higher (which is really old)
01:17 Jumpyshoes dukeleto: perl is installed on this computer, but i can't install other libraries, e.g. cover
01:17 dukeleto rfw: anything that wants to know the truthiness of a PMC
01:17 Jumpyshoes dukeleto: i'm using version 5.12.2
01:17 dukeleto Jumpyshoes: you should use local::lib and cpanminus to fix that
01:18 dukeleto Jumpyshoes: local::lib lets you install perl modules in your home directory easily
01:18 Jumpyshoes dukeleto: could you link me to something that explains that?
01:18 rfw ah, istrue
01:18 dukeleto Jumpyshoes: http://perl.jonallen.info/writing/arti​cles/install-perl-modules-without-root
01:18 dukeleto Jumpyshoes: http://search.cpan.org/~apeiron/lo​cal-lib-1.007000/lib/local/lib.pm
01:18 Jumpyshoes dukeleto: thank you
01:19 rfw now what the hell is mpq_cmp_si
01:19 dukeleto rfw: lulz
01:19 dukeleto rfw: mpq is a prefix for rational functions
01:20 dukeleto rfw: it comes from GMP
01:20 rfw ah okay
01:20 dukeleto rfw: cmp is the comparison function
01:20 dukeleto rfw: si is probably "signed integer" or some junk
01:20 dukeleto rfw: mpq is the prefix for arbitrary precision rationals, rather
01:20 chromatic left #parrot
01:20 rfw hm apparently mpq_cmp_si of a rational pmc witht the value of 0 against num=0 den=0 is true
01:21 dukeleto rfw: mpf is for floats, etc...
01:21 rfw dukeleto: i'm looking at         if (mpq_cmp_si(RT(SELF), 0, 0))
01:21 dukeleto rfw: you could be hitting bugs. make a ticket for anything that doesn't make sense to you, and we will take a look. just write a TODO test
01:21 dukeleto Jumpyshoes: https://github.com/miyagawa/cpanminus
01:22 rfw which should be true if both the denominator and numerator are 0
01:22 Jumpyshoes dukeleto: i almost installed local::lib, but now i'm stuck at trying to set up environment variables. perl -I$HOME/perl5/lib/perl5 -Mlocal::lib doesn't do anything
01:22 dukeleto Jumpyshoes: as long as you have local::lib and cpanminus working, you are good to go. let me know if you hit a snag
01:23 Jumpyshoes dukeleto: as in, it prints nothing
01:23 Jumpyshoes no it doesn't. i typoed. my bad
01:23 dukeleto Jumpyshoes: :)
01:24 rfw whoever wrote these inplace tests obviously has no idea how in place works
01:24 rfw $P1 = $P1 - $N1
01:24 rfw is($P1,'-25/2','subtract float inplace')
01:24 dukeleto rfw: what does git blame say ?
01:24 Coke joined #parrot
01:24 rfw 8278a40c (Bernhard Schmalhofer 2008-05-11 11:32:08 +0000 281)     $P2 = $P2 - $P3
01:24 rfw ff92bd55 (Jonathan "Duke" Leto 2010-03-18 06:43:20 +0000 282)     is($P1,-1,'subtract Rational inplace')
01:24 rfw i blame you!
01:25 dukeleto rfw: dammit
01:25 Jumpyshoes dukeleto: do i need cpanminus? i have perl installed
01:25 dukeleto rfw: i could have been moving crap around, but i am probably partially to blame
01:25 dukeleto Jumpyshoes: cpanminus makes it easy to install CPAN modules into local::lib
01:25 rfw ah okay i'll just fix thwaw
01:25 dukeleto Jumpyshoes: but it isn't necessary
01:25 dukeleto Jumpyshoes: it would help with installing Devel::Cover and stuff like that, though
01:26 Jumpyshoes dukeleto: i see
01:27 dukeleto Jumpyshoes: cpanminus is *much* faster than the normal cpan client, as well. like seconds instead of minutes
01:28 dukeleto rfw: the rational dynpmc doesn't show up in coverage reports for parrots that are not compiled with GMP, just fyi
01:29 Jumpyshoes dukeleto: ah, okay
01:29 rfw dukeleto: ah, mine is
01:29 rfw so it does show up
01:31 dukeleto msg mj41 can we get the parrot that generates coverage reports to be compiled with GMP? some coverage is low because GMP tests don't run
01:31 aloha OK. I'll deliver the message.
01:31 Nol888 This is why I love C-debugging
01:31 Nol888 (gdb) print *((struct _str_vtable *) (*new_attrs->filename)->encoding)
01:31 Nol888 Wonderful.
01:31 dukeleto Nol888: looks fun
01:32 Nol888 Yes, all for the sake of correctly pretty-printing strings.
01:32 dukeleto Nol888: pretty printing PMC attributes would also be tremendously useful
01:33 dukeleto rfw: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129401835069
01:34 rfw dukeleto: claimed
01:34 dukeleto rfw: accepted
01:34 rfw working on it
01:34 Coke left #parrot
01:35 dukeleto rfw: what is the code coverage on gziphandle dynpmc on your machine?
01:35 dukeleto rfw: and subproxy as well?
01:35 rfw 63.7
01:35 rfw and 8.3
01:35 aloha 8.3
01:35 dukeleto good lord. I will make tasks.
01:35 rfw haha
01:36 rfw how do i use TODO in pir tests?
01:37 dukeleto rfw: you call the todo() function, which sucks
01:37 rfw ah
01:37 dukeleto rfw: todo tests in PIR suck, but that is how they work now
01:37 rfw so i'll have to push_eh then pop_eh?
01:37 dukeleto rfw: to do what?
01:37 rfw well
01:38 rfw currently, comparing rational with float raises an error
01:38 rfw so i'm going to push_eh when i cmp then put a todo in the eh
01:40 dukeleto rfw: that should work for now
01:41 Nol888 dukeleto, I'm writing a string pretty-printer right now.
01:42 dukeleto Nol888: awesomesauce!
01:43 Nol888 left #parrot
01:43 dukeleto Nol888: i will add the task. are you waiting on other task stuff right now?
01:43 Nol888 joined #parrot
01:43 * dukeleto just added 2 more gci tasks relating to gziphandle dynpmcs
01:47 Jumpyshoes are there any guides to increasing test coverage?
01:48 rfw Jumpyshoes: learn PIR, mainly
01:50 fbrito left #parrot
01:51 * dukeleto goes. be back later.
01:51 Jumpyshoes now is there a tutorial for PIR?
01:51 rfw http://trac.parrot.org/parrot/wiki/PIR%20Tutorial
01:51 Jumpyshoes thanks
01:51 rfw don't thank me, thank google
01:52 Jumpyshoes :effort:
01:52 rfw oh, i figured out the problem with get_bool
01:52 rfw if (mpq_cmp_si(RT(SELF), 0, 0))
01:52 rfw can you even have a denominator of 0
01:53 Kapace_ left #parrot
01:53 kapace__ wtf?
01:53 * kapace__ jumps to the other computer
01:54 kapace__ oh, I unplugged the wrong cable, nvm :P
01:58 Jumpyshoes lolwtf, make cover created a file i can't delete
01:58 plobsing_ can't?
01:58 Jumpyshoes apparently rm doesn't think it exists
01:59 rfw what is it?
01:59 rfw did you try putting \ in front of weird symbols
01:59 plobsing_ you could also use unlink() from your programming language of choice
01:59 Jumpyshoes -parrot-tools-build-------lib-​Parrot-Pmc2c-PCCMETHOD-pm.html
01:59 rfw ahaha, yeah
02:00 Jumpyshoes lol.
02:00 * rfw stabs dukeleto for adding the word "inplace" in the weirdest places
02:00 Jumpyshoes hurr hurr thank god for python
02:00 Jumpyshoes and thank god that i learned how to use it last year
02:01 whiteknight joined #parrot
02:03 Kapace joined #parrot
02:04 sorear you should just put -- in front
02:10 Jumpyshoes i still don't know how to find out what % is covered by a test. make cover blows up on me
02:10 rfw Jumpyshoes: don't use make cover
02:11 rfw use make quickcover_new
02:11 rfw or is it cover_new
02:11 rfw try cover_new
02:11 Jumpyshoes cover_new runs! let's see what happens
02:11 Jumpyshoes if i get -parrot-tools-build-------lib-​Parrot-Pmc2c-PCCMETHOD-pm.html again i'm gonna stab you
02:11 rfw lol
02:15 rfw whiteknight: are you there?
02:15 * dukeleto is back
02:15 rfw hey dukeleto
02:15 rfw i submitted a pull request
02:15 whiteknight rfw: yes
02:15 rfw coverage is at 99.5% because of http://trac.parrot.org/parrot/ticket/1928
02:16 rfw whiteknight: never mind, i have dukeleto!
02:16 sorear Jumpyshoes: rm -- -parrot*
02:16 dukeleto rfw: ok :)
02:16 whiteknight rfw: forget dukeleto! you want me!
02:16 Jumpyshoes sorear: got python to delete it
02:16 rfw whiteknight: it's not you, it's me :(
02:16 whiteknight :)
02:16 dukeleto rfw: whiteknight can do reviews/pull request, i can do task stuff
02:17 rfw oh okay
02:17 rfw whiteknight: looks like i do want you, after all!
02:17 rfw whiteknight: see http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401835069
02:19 dalek parrot/gci_rational_coverage: ea0ad4a | rfw++ | t/dynpmc/rational.t:
02:19 dalek parrot/gci_rational_coverage: Increased coverage of rational dynpmc to 99.5%
02:19 dalek parrot/gci_rational_coverage: review: https://github.com/parrot/parrot/commit/ea0ad4a4d7
02:21 rfw whiteknight: can you close too
02:21 whiteknight rfw: sure. I'm running the test now
02:21 rfw ah okay
02:22 rfw i just do "make cover-dynpmc && lcov -b . -c -d src/dynpmc/rational.pmc > out.lcov && genhtml -o /mnt/vboxsf/home/cover_db/ out.lcov" :D
02:22 rfw Jumpyshoes: how's your make cover_new
02:23 Jumpyshoes still running
02:23 rfw yeah it takes ages
02:24 rfw 8278a40c (Bernhard Schmalhofer 2008-05-11 11:32:08 +0000  400)         if (mpq_cmp_si(RT(SELF), 0, 0))
02:24 rfw who is bernhard schmalhofer
02:25 dalek parrot/spaces_in_paths: 7041976 | jkeenan++ | config/ (2 files):
02:25 dalek parrot/spaces_in_paths: We assign to $RPATH_BLIB, so let's use it.  Fix double quotes in assignment to '@rpath_blib'.
02:25 dalek parrot/spaces_in_paths: review: https://github.com/parrot/parrot/commit/70419764ce
02:25 dalek parrot: ea0ad4a | rfw++ | t/dynpmc/rational.t:
02:25 dalek parrot: Increased coverage of rational dynpmc to 99.5%
02:25 dalek parrot: review: https://github.com/parrot/parrot/commit/ea0ad4a4d7
02:25 dalek parrot: 4102704 | Whiteknight++ | t/dynpmc/rational.t:
02:26 dalek parrot: Merge remote branch 'origin/gci_rational_coverage'
02:26 dalek parrot: review: https://github.com/parrot/parrot/commit/410270407b
02:26 kid51 Bernhard Schmalhofer  = Barney
02:26 kid51 Was very active a couple of years back.
02:26 rfw ah
02:26 kid51 Was developing PIRC
02:26 plobsing_ what? I thought that was kjs
02:27 whiteknight rfw: c-c-closed!
02:27 whiteknight yes, kjs was developing PIRC
02:27 rfw whiteknight: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401895780 approve
02:27 plobsing_ CREDITS has Bernhard Schmalhofer as bernhard, creator of Pipp, Eclecticus, and release manager for some fairly old parrots
02:28 plobsing_ then again, my CREDITS entry isn't entirely up to date either, so I shouldn't complain
02:29 whiteknight We are officially over 150 closed tasks
02:29 rfw whiteknight: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401895780 approve
02:29 rfw er
02:29 dalek TT #1928 created by rfw++: get_bool function of Rational dynpmc
02:30 dalek TT #1928: http://trac.parrot.org/parrot/ticket/1928
02:30 whiteknight kudos to all these hard-working GCI students
02:30 rfw wrong window to press up and enter in
02:30 whiteknight rfw: it's approved.
02:30 rfw thanks
02:31 whiteknight parrot world is going to be so slow and boring when GCI is over
02:31 rfw i guess you're going to need a parrot code-in
02:31 whiteknight srsly
02:32 dukeleto rfw: we might just do that
02:32 rfw is the parrot headquarters some kind of huge birdcage
02:33 dukeleto rfw: then there will only be only task difficulty level, "trivial" which is worht -0.0e0 points
02:33 rfw haha
02:33 dukeleto rfw: we have a parrot cave, similar to the bat cave. The bat cave is actually modeled after the parrot cave.
02:33 rfw is there a parrotmobile
02:33 dukeleto rfw: yes, it is called "my bicycle" :)
02:34 rfw heh
02:34 Jumpyshoes http://pastebin.com/yCHLXRPZ www
02:34 rfw Jumpyshoes: you forgot to install devel::Cover wwww
02:34 Jumpyshoes i did.
02:35 rfw odd
02:35 rfw you could invoke it manually
02:35 rfw i guess
02:35 dukeleto Jumpyshoes: did you set the proper env vars? in the current terminal?
02:35 dukeleto Jumpyshoes: env |grep PERL
02:35 Jumpyshoes shit. i set it in the other terminal
02:35 dukeleto Jumpyshoes: you need your PERL5LIB to include your local::lib directory
02:36 rfw haha, awesome
02:36 dukeleto Jumpyshoes: yep. Happens to me very often :)
02:36 Jumpyshoes hrm. i might need to remake this.
02:36 dukeleto melange has decided to go on vacation
02:36 rfw get_integer() not implemented in class 'FileHandle'
02:36 rfw where i have     $I1 = $P0.'flush'()
02:37 rfw this.. doesn't make any sense
02:37 dukeleto rfw: FileHandle doesn't know how to be an Integer
02:37 rfw dukeleto: but i'm doing     $I1 = $P0.'flush'()
02:37 dukeleto rfw: you are trying to put it into $I1, which is for integers
02:37 contingencyplan left #parrot
02:37 dukeleto rfw: you probably need $P1 = ...
02:37 rfw dukeleto: no i'm calling the flush method
02:37 plobsing_ why does FileHandle.flush() return a Filehandle?
02:37 rfw and storing the INTVAL in $I1
02:38 rfw 148                 :            :         RETURN(INTVAL status);
02:38 dukeleto rfw: flush should return an int, if it doesn't, that is probably a bug
02:38 plobsing_ src/pmc/filehandle.pmc:METHOD flush() does not RETURN() anything
02:39 rfw oh whoops
02:39 rfw i was doing it on a filehandle
02:39 rfw when i meant gziphandle
02:39 plobsing_ PCC should detect this and throw an error
02:39 rfw thought it was something stupid
02:39 dukeleto Nol888: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129402219698
02:39 plobsing_ rfw: you have unearthed an interesting bug though.
02:39 fbrito joined #parrot
02:39 rfw plobsing_: ah
02:39 dukeleto plobsing_: and that is why code coverage tasks are very valuable ;)
02:40 Nol888 dukeleto, requested.
02:40 rfw plobsing_: not sure if this is worse than "expected 4 positional arguments, got 4"
02:40 kid51 GCIers:  What OSes are you working/testing on?
02:40 rfw kid51: linux
02:40 kapace__ kid51, Ubuntu 10.10
02:40 plobsing_ rfw: clearly you should have used fewer, but not less than there already were ;)
02:40 rfw some rolling release of archlinux
02:40 TonyC left #parrot
02:40 kid51 Anyone on Win32 or any BSD?
02:41 rfw win32 refuses to play nice with parrot :(
02:41 rfw by some fault of my own probably
02:42 * plobsing_ thinks we might need a parrot-dev-environment MSI. it is apparently possible to dev parrot on win32, but everyone who tries has problems.
02:42 nopaste left #parrot
02:42 kapace__ boo msi--
02:42 rfw karma msi
02:42 aloha msi has karma of -1.
02:42 kapace__ zip ftw
02:42 rfw haha
02:42 Jumpyshoes what is lcov
02:43 Jumpyshoes i thought i had that...
02:43 kid51 Anyone on Darwin?
02:43 Nol888 100    new_attrs->filename       = old_attrs->filename;
02:43 Nol888 (gdb) print new_attrs->filename
02:43 Nol888 $1 = "README"
02:43 Nol888 success
02:44 plobsing_ Nol888++
02:44 plobsing_ karma Nol888
02:44 aloha Nol888 has karma of 1.
02:44 Nol888 is now known as Yuki`N
02:44 plobsing_ (karma-able nicks)++
02:44 Yuki`N lol
02:44 Yuki`N Yes.
02:44 Yuki`N I should probably change that over in CREDITS.
02:45 plobsing_ N++ # for the lolz
02:45 kid51 All these mutable IRC handles are confusing me.
02:45 plobsing_ is now known as plobsing
02:46 rfw $P3.'open'('this_file_should_not_exist'); why do i keep adding these semicolons
02:46 plobsing rfw: you are in the HLL-ASM uncanny valley that is IMCC
02:46 rfw lol
02:48 dukeleto rfw: IMCC is the recursive turtle that parrot currently sits on
02:49 dukeleto rfw: one day soon we will switch to something else, and that will be a great day
02:49 dukeleto rfw: hopefully PIRATE
02:50 dukeleto aloha pirate?
02:50 aloha dukeleto: Sorry, I don't know.
02:50 rfw pirate?
02:50 dukeleto aloha PIRATE?
02:50 aloha dukeleto: No clue. Sorry.
02:50 dukeleto botsmack
02:50 * dukeleto grumbles
02:50 plobsing yarrr
02:50 rfw dukeleto: i don't think i can reach 100% coverage with gziphandle
02:50 rfw some of the cases are really hard to do
02:50 bacek joined #parrot
02:50 rfw like Z_MEM_ERROR
02:50 dukeleto rfw: get as close as possible
02:51 rfw hey, let's corrupt the memory in the gziphandler test!
02:51 dukeleto rfw: can you get to 95% ?
02:51 rfw 79.1% right now
02:51 rfw probably the best i can get it
02:51 dukeleto rfw: hmmmmmm
02:51 dukeleto rfw: you sure?
02:51 rfw hold on
02:51 rfw dukeleto: http://rofflwaffls.no-ip.info/src​/dynpmc/gziphandle.pmc.gcov.html
02:51 dukeleto rfw: i would like to see 90% or so
02:51 rfw all the things that can't be covered are error casses
02:52 rfw and i don't think they're particularly easy to cover
02:52 dukeleto rfw: some of the exceptions can be done easily
02:52 rfw hm, which?
02:52 dukeleto rfw: one of them is corrupt input, that should be easy
02:52 rfw oh, doh
02:52 rfw missed that completely
02:53 dukeleto rfw: yes, the failed to allocate errors are hard to test
02:53 rfw yeah
02:54 Yuki`N dukeleto, would you like to automatically dereference pointers to PMCs and STRINGs?
02:54 dukeleto rfw: just put a note when you submit the task memory allocation stuff was too hard to test and that you talked to me about it
02:54 dukeleto Yuki`N: yes, please and thank you
02:54 Yuki`N Ok.
02:54 Yuki`N Finished with the strings part.
02:54 dukeleto Yuki`N: but perhaps knowing the mem address of them would be useful too
02:54 Yuki`N You can do that with print /x
02:54 dukeleto Yuki`N: ok, good to know
02:54 fbrito I am having problems with get_attr_keyed vtable on Object PMC. How to run it?
02:55 dukeleto fbrito: hrm
02:55 dukeleto fbrito: that means create a "Key PMC" with ['Foo'] syntax, and then use it to look something up on an Object
02:57 fbrito hm... with get_attr_str I can look up a attribute by its name, but get_attr_keyed has both key and string as parameters
02:58 Jumpyshoes how do i add a directory to my path in .bashrc?
02:58 sorear export PATH=newdir:$PATH
02:58 dalek parrot/spaces_in_paths: c7b8ae8 | jkeenan++ | config/init/hints/darwin.pm:
02:58 dalek parrot/spaces_in_paths: Insert double-quotes where needed to handle wordspaces in paths.
02:58 dalek parrot/spaces_in_paths: review: https://github.com/parrot/parrot/commit/c7b8ae877d
02:58 Jumpyshoes sorear: thanks
02:58 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401895780
03:01 fbrito dukeleto: look my test code, where I used get_attr_str: http://pastie.org/1424739
03:02 rfw eh my pull requests are still sorta wonky
03:02 rfw oh well
03:03 Jumpyshoes http://pastebin.com/9mGBPwEF has anyone had this error before?
03:03 fbrito Jumpyshoes: not me
03:04 Jumpyshoes lovely
03:04 Jumpyshoes oh, probably cause i'm a retard
03:04 rfw Jumpyshoes: parrot sure doesn't like you
03:05 Jumpyshoes i know.
03:06 Jumpyshoes this is ridiculous
03:07 dukeleto rfw: you need to add the main parrot repo as another git remote
03:07 rfw dukeleto: i did
03:07 rfw i have it called "other"
03:07 dukeleto rfw: what is your workflow? how do you keep stuff up to date?
03:07 rfw git pull
03:08 dukeleto rfw: git fetch --all will update all remotes
03:08 bacek_ joined #parrot
03:08 rfw ah
03:08 plobsing rfw: the bug you helped identify has been distilled into TT #1929
03:08 dukeleto rfw: and then you can do "git rebase other/master" to update your master branch
03:08 rfw ah, okay
03:08 dukeleto rfw: then you will have an up-to-date master to branch from
03:09 Yuki`N dukeleto, how are pmc data attributes stored?
03:09 Yuki`N I see DPOINTER       *data;
03:09 Yuki`N But apparnetly that's a generic pointer.
03:09 rfw plobsing: i accidentally a whole fluent interface
03:09 plobsing Jumpyshoes: was the rational dynpmc built?
03:10 Jumpyshoes ... good question
03:10 whiteknight left #parrot
03:10 rfw dukeleto: de-wonkied
03:10 plobsing Yuki`N: it needs to be cast to the appropriate type. each *.pmc file defines a struct.
03:10 Yuki`N left #parrot
03:11 dukeleto rfw: your pull requests look a little wonky because you are usually using a slightly out of date master, but
03:11 plobsing Jumpyshoes: look for rational.so
03:11 dukeleto rfw: stuff "comes out in the wash"
03:11 rfw dukeleto: i fixed pull request 90 now
03:11 rfw rofflwaffls wants someone to pull 1 commit into parrot:master from rofflwaffls:gziphandle_coverage
03:11 fbrito where should I use the key in getattribute to call get_attr_keyed vtable? http://pastie.org/1424739
03:12 Yuki`N joined #parrot
03:12 plobsing Jumpyshoes: it should be under runtime/parrot/dynext
03:12 Yuki`N plobsing, how can I read PMC name, etc from gdb?
03:12 Jumpyshoes plobsing: i'm waiting for this to finish running, i'll do it after that
03:13 plobsing Yuki`N: the algorithm I use is to look at pmc->vtable->whoami
03:13 Yuki`N Ah.
03:13 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401895780 <-- could you close
03:13 dukeleto rfw: looking
03:13 Yuki`N And dukeleto was talking about the attribute list, but I'm not sure how to do that.
03:13 plobsing there are possibly other vtable entries that are more appropriate
03:13 bacek left #parrot
03:14 plobsing Yuki`N: as an example, to view attributes of an Integer pmc, I do the following
03:14 dukeleto rfw: completed
03:14 rfw thanks
03:15 plobsing *((Parrot_Integer_attributes *)pmc->data)
03:15 dukeleto Yuki`N: there is probably a bit vector of flags of various attributes
03:15 rfw dukeleto: and the other gziphandle task too?
03:15 plobsing dukeleto: oh, you meant the flags and things?
03:15 dukeleto rfw: submit it with the same pull request
03:15 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129401891500 requested
03:15 dukeleto plobsing: i don't know. i just want the pretty printer to be appropriately pretty
03:16 Yuki`N well in the vtable struct I see const char *attribute_defs;
03:16 dukeleto rfw: accepted
03:17 rfw dukeleto: submitted
03:19 gbacon left #parrot
03:19 dalek TT #1929 created by plobsing++: incorrect null-return from method calls
03:19 dalek TT #1929: http://trac.parrot.org/parrot/ticket/1929
03:22 dukeleto Yuki`N: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129402487888
03:22 Yuki`N (gdb) print copy
03:22 Yuki`N $1 = PMC<FileHandle>
03:23 Yuki`N God this so far.
03:23 Yuki`N *got
03:25 dukeleto Yuki`N: nice!
03:25 kid51 msg nwellnhof Can you review spaces_in_paths branch (re TT #1927)?  If it looks good, feel free to merge into master.  Thanks.
03:25 aloha OK. I'll deliver the message.
03:25 * dukeleto just added a gdb parrot backtrace task
03:25 Jumpyshoes rfw: is there a way to only run cover on one test
03:25 rfw Jumpyshoes: sort of
03:25 dukeleto http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129402505935
03:26 * dukeleto eats dinner
03:26 rfw dukeleto: could you close my task when you can
03:26 rfw Jumpyshoes: there are cover targets in the makefile
03:26 rfw which you can invoke
03:26 rfw then manually generate reports for
03:26 Jumpyshoes oh
03:26 rfw they're internal targets
03:26 rfw so it's kinda naughty
03:27 dukeleto rfw: will try. melange is borky
03:27 lucian left #parrot
03:27 rfw thanks
03:27 dukeleto rfw: task completed. Dinner commencing
03:28 rfw enjoy
03:30 Yuki`N left #parrot
03:30 Yuki`N joined #parrot
03:31 Yuki`N Well I tried printing out the attribute structure but.
03:31 Yuki`N I used filehandle, and that included the buffer...
03:32 Yuki`N So I think I'll just print out PMC<Type>
03:35 Jumpyshoes hrm, so what does pbc_disassemble do exactly
03:35 rfw disassembles parrot bytecode
03:35 rfw hurf
03:36 Jumpyshoes how do i get it to blow up
03:36 rfw give it broken bytecode?
03:36 Jumpyshoes good idea
03:37 Jumpyshoes can i run the file by itself?
03:37 rfw ./pbc_disassemble --help
03:39 Jumpyshoes hrm, i see
03:39 Jumpyshoes and how do i run a specific test?
03:39 rfw prove t/blah
03:40 rfw run with -v for verbose
03:40 Jumpyshoes okay
03:40 Jumpyshoes let's see how bad this fails
03:41 rfw i think i wrote some pbc_disassemble tests :>
03:42 Jumpyshoes no wonder this code is incomprehensible
03:42 rfw onl4u
03:42 rfw only*
03:43 rfw i just wrote that evil regex
03:43 rfw $helpregex
03:44 Jumpyshoes >You planned 9 tests but ran 10.
03:44 Jumpyshoes oops
03:44 rfw lolol
03:45 rfw obviously, you must remove one
03:45 Jumpyshoes or add one
03:45 Jumpyshoes since i'm... adding one
03:45 rfw holy crap there is a lot of stat opcodes
03:47 Jumpyshoes qr/set_s_sc S0,utf16:"$utf16"/ms
03:47 Jumpyshoes what does this do?
03:47 rfw it's a regex
03:47 rfw matches set_s_sc S0,utf16:"$utf16"
03:47 Jumpyshoes qr/set_s_sc is regex?
03:47 rfw no, everything inside the //s
03:48 Jumpyshoes oh
03:48 Yuki`N dukeleto, care to review some stuff?
03:50 rfw Yuki`N: he's at dinner
03:52 Jumpyshoes is there a regex for every character possible
03:53 cotto .
03:56 rfw Jumpyshoes: what cotto said
03:56 Nol888 joined #parrot
03:57 Jumpyshoes hrm, i see
03:57 Yuki`N left #parrot
03:57 Nol888 is now known as Yuki`N
03:57 cotto /./ will match any single character.  /.*/ will match any sequence of characters, length 0 or more
03:59 Jumpyshoes i see
03:59 Jumpyshoes thanks
03:59 patspam joined #parrot
03:59 patspam left #parrot
03:59 Yuki`N cotto, what version of gdb do you have?
03:59 Jumpyshoes rfw: in disassemble_raw_output_like, you do " my $out = `$exefile $options`;"
03:59 Matt221 left #parrot
03:59 Jumpyshoes does that capture output to stderr?
03:59 cotto 7.0 apparently
03:59 rfw Jumpyshoes: i'm not sure
03:59 Jumpyshoes i don't think so
03:59 rfw i think so
03:59 rfw oh
03:59 Jumpyshoes since it's printing stuff
03:59 rfw or
03:59 rfw your regex doesn't match
04:00 rfw i think it does capture stderr
04:00 Jumpyshoes i mean, it's printing stuff BEFORE my regex fails
04:00 rfw odd
04:00 Jumpyshoes http://pastebin.com/np6chcvy
04:00 Jumpyshoes as an example
04:00 rfw $I2 = tell $P0
04:00 rfw is( $I2, $I0, 'seek_p_i_i' )
04:00 rfw who the hell did this
04:01 rfw ah
04:01 Jumpyshoes cotto: is there a way to capture output to stderr?
04:01 rfw oh, --help is printing to stdout
04:01 rfw o_O
04:01 Jumpyshoes rfw: yes. fml
04:01 Jumpyshoes parrot h8 me
04:02 Yuki`N Hmm, apparently python pretty-printers were introduced in a high-numbered revision of gdb 7.2
04:03 cotto Jumpyshoes, in what context?
04:04 Jumpyshoes cotto: i'm running pbc_disassemble from a test, and i want to capture output from stderr
04:04 Jumpyshoes my $out = `$exefile $options`; <-- for example, like this. except this only captures output from stderr
04:05 cotto Do you need both stderr and stdout?
04:05 Jumpyshoes just stderr
04:05 plobsing 2>&1 1>/dev/null
04:05 cotto 1>/dev/null 2>&1
04:06 Jumpyshoes oh
04:06 Jumpyshoes what if i wanted both?
04:06 Yuki`N plobsing, what's your gdb version?
04:06 Jumpyshoes 1>&1 2>&1?
04:06 cotto just 2>&1, but they'd be combined
04:07 Jumpyshoes ah, i see
04:07 plobsing Yuki`N: 7.2-2, but I'm willing to build from repo to get this
04:07 Jumpyshoes hrm, so i'm trying to add test coverage for: http://tapir2.ro.vutbr.cz/cover/cove​r-results/2011-01/2011-01-03-4102704​/c_cover/src-pbc_disassemble-c.html
04:07 Yuki`N plobsing, you can actually just build from snapshot
04:07 Yuki`N I have 7.2.50.20110102
04:07 Jumpyshoes is there a regex that matches all errors <_<? (168-184)
04:07 Yuki`N Anything 7.2.50 should have it.
04:08 Yuki`N Make sure you have python when you're compiling, etc.
04:09 Yuki`N It's gdb_pretty_print in my fork, https://github.com/nol888/parrot
04:10 Yuki`N Right now I only have one for STRING, and a basic one for PMC which prints PMC<pmctype>
04:10 plobsing even not having to query the PMC type would be nifty.
04:10 Jumpyshoes what file tests frontend/parrot/main.c
04:10 plobsing same with strings
04:11 plobsing proper PMC auto-deref was my ultimate aim, but I understand that would be quite hard
04:11 Yuki`N PMC auto-deref?
04:12 plobsing Jumpyshoes: t/run is your best bet
04:12 Yuki`N I have code to dynamically dereference the attributes struct while printing but that means every time a pmc is printed (function arguments, etc), the complete attribute struct would be printed.
04:12 Yuki`N Not sure if that's wanted behavior.
04:13 Jumpyshoes plobsing: i see, thanks
04:13 plobsing Yuki`N: probably not in all cases. it would be nice to have it available as some kind of p/xyz option
04:13 Yuki`N Not quite sure if that's possible but I will investigate.
04:14 plobsing Yuki`N: it might not be. I can dream though...
04:16 Jumpyshoes is there any faster way to do make cover_new @_@
04:16 Yuki`N plobsing, actually, I can make the PMC show up as "..." when gdb prints a frame, and "PMC<Type> { attributes }" otherwise.
04:18 plobsing thats a sane compromise. I assume it's not just "...", but something like "PMC ...".
04:18 kid51 left #parrot
04:21 rfw how do i revert a setstdin?
04:21 Yuki`N No, it's actually just ...
04:21 Yuki`N As if it were an array.
04:22 plobsing rfw: you need to keep track of the original to be able to set it back later
04:22 rfw plobsing: how do i get the original?
04:22 plobsing getstdin
04:22 rfw getsd
04:22 rfw ah
04:22 rfw thanks
04:23 plobsing Yuki`N: that's still better than nothing
04:24 Yuki`N plobsing, I think what I'm going to try to do is make a PMC seem like a map
04:24 Yuki`N to_string will return PMC<Type>
04:24 Yuki`N And the contents will be the attributes.
04:24 Yuki`N That way it can be affected by gdb element-printing options and what now.
04:24 Yuki`N *whatnot
04:25 plobsing who in the what now?
04:25 Yuki`N Hmm.
04:25 Yuki`N gdb has options you can use to control how many elements of an array or etc are printed.
04:25 Yuki`N So this will allow gdb to control this in the same manner.
04:27 plobsing sounds reasonable
04:37 Jumpyshoes where is PARROT_ASSERT_ARG defined?
04:41 plobsing 'make tags-vi;  vim -t PARROT_ASSERT_ARG' ==> include/parrot/api.h
04:41 plobsing <3 tags
04:42 Jumpyshoes i see
04:42 dalek ohm-eta-wink-kzd: 3c011b7 | plobsing++ | src/o (2 files):
04:42 dalek ohm-eta-wink-kzd: coerce to string addition
04:42 dalek ohm-eta-wink-kzd:
04:42 dalek ohm-eta-wink-kzd: concatenation is *not* +. Stop making languages stupid like this, please!
04:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/3c011b744b
04:42 dalek ohm-eta-wink-kzd: d85e2ab | plobsing++ | src/ (4 files):
04:42 dalek ohm-eta-wink-kzd: fix upcalls, apply-with-args, and string escapes
04:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/d85e2abdba
04:43 chromatic joined #parrot
04:43 plobsing Jumpyshoes: your editor of preference likely has tags support. might want to look into how to use that. I find it increadibly useful.
04:44 Jumpyshoes vim, there are way too many tricks and shortcuts for me
04:44 Jumpyshoes i just use / and :
04:44 rfw Jumpyshoes: do you use y and p
04:44 rfw and v
04:44 Jumpyshoes oh
04:44 Jumpyshoes i use v
04:44 Jumpyshoes and y
04:44 Jumpyshoes and p
04:44 rfw yeah
04:44 Jumpyshoes whatever
04:44 Jumpyshoes and G
04:44 Jumpyshoes and gg
04:44 rfw heh
04:44 Jumpyshoes same difference, i use like 5 commands total
04:45 rfw i sometimes window split
04:45 Jumpyshoes oh, i use vsplit too
04:45 rfw but most of the time i'm using screen
04:45 Jumpyshoes how do i request a commit
04:45 Jumpyshoes or pull
04:45 Jumpyshoes whatever they call it
04:45 rfw go to github
04:45 rfw and pull request
04:45 rfw you have to fork parrot first
04:45 Jumpyshoes i like d_s's method much more
04:46 rfw blah
04:46 plobsing Jumpyshoes: what method is that?
04:46 Jumpyshoes we give me patch files he and he does it for us
04:47 plobsing that is basically what github pull-request does, but with a bunch of hoops involved
04:48 Jumpyshoes how do i push commits to github?
04:48 rfw git push
04:49 Jumpyshoes how does github know who i am?
04:49 rfw you give it your ssh keys
04:49 rfw herp, peek isn't wanting to give me a null string
04:49 Jumpyshoes fdsnafd github
04:51 plobsing Jumpyshoes: if you want a "just send me a patch" workflow, I'm pretty sure we can handle that too.
04:51 plobsing just open a ticket on trac.parrot.org and attach a patch, and then notify a GCI mentor.
04:51 plobsing aka not me
04:52 plobsing no githubbing required
04:53 rfw why do i keep ending up on the parrot quotes page
04:53 Jumpyshoes plobsing: oh, i see
04:53 Jumpyshoes i'll talk to dukeleto then
04:58 rfw how do i make a null const string?
04:58 dukeleto Jumpyshoes: what do you need?
04:59 dukeleto rfw: null $S0
04:59 rfw dukeleto: has to be const
04:59 Jumpyshoes dukeleto: i think i've done http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129395090916
04:59 Jumpyshoes but github is not playing nice
05:00 Jumpyshoes so i'm not sure how to get the patch uploaded
05:00 Jumpyshoes also, i'd like review, since it's my first time
05:00 rfw dukeleto: is there a null constant?
05:01 plobsing rfw: strings are immutable and there is a special null string to which all nulled strings point. however, registers are always mutable.
05:01 rfw plobsing: well this here is  Parrot_open_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
05:02 rfw so i need null constants in order to force it to throw an exception
05:02 rfw or this code is flawed
05:03 sorear rfw: STRINGNULL?
05:03 rfw sorear: in PIR?
05:03 plobsing rfw: bytecode allows for this to happen, but there is no syntax for it in PIR
05:03 rfw ah
05:03 plobsing short of writting out binary bytecode (don't!) it is not possible
05:03 rfw so this is impossible?
05:03 rfw ah okay
05:04 rfw i'll just comment on it
05:04 plobsing the code however, is not flawed
05:04 rfw but it can't be covered?
05:04 plobsing that op and a few others are generated from the *same* opcode body. it is the same code as Parrot_open_p_s_s, for example.
05:05 rfw ah
05:05 TonyC joined #parrot
05:05 nopaste joined #parrot
05:05 rfw got it
05:05 rfw so i can just safely not bother with covering that?
05:05 plobsing I'm not sure why our coverage results point to the generated C files in stead of the original *.ops files
05:06 plobsing rfw: yeah, I'd say your pretty safe with that
05:06 plobsing s/your/you're/
05:06 rfw alright
05:14 Yuki`N plobsing, I think I'm magical.
05:14 nopaste "Yuki`N" at 192.168.1.3 pasted "Magic" (48 lines) at http://nopaste.snit.ch/27538
05:14 Yuki`N plobsing, ^
05:15 bacek__ joined #parrot
05:16 * plobsing is enchanted
05:17 rfw odd, i can't cover any of the PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); lines
05:17 rfw but i'm definitely getting !PREG(1)
05:17 Yuki`N Oh my god this is beautiful.
05:17 rfw i have no idea why this doesn't work :|
05:18 Yuki`N Breakpoint 2, Parrot_pmc_new (interp=0x8053020, base_type=34) at src/pmc.c:154
05:18 Yuki`N (gdb) fin
05:18 Yuki`N Value returned is $5 =
05:18 Yuki`N PMC<NameSpace> = {[hash] = 0x0, [_class] = 0x0, [vtable] = 0x0}
05:18 rfw i'm even getting a goddamn undefined PMC back
05:18 rfw but apparently i haven't covered this
05:18 Yuki`N lol use new 100x better gdb
05:19 rfw lol i don't know how to use gdb
05:19 rfw apart from bt
05:19 Jumpyshoes my favorite command is disass /hehe
05:20 bacek_ left #parrot
05:20 Yuki`N rfw, easier way to do this? http://python.pastebin.com/zpWLj2Fa
05:20 rfw ow, is that itertools i see
05:21 Yuki`N Yeah.
05:21 rfw Yuki`N: so you want to pair them
05:21 rfw then uh
05:21 rfw reduce them?
05:22 rfw oh but you want deferred execution
05:22 Yuki`N Yeah that looks like the best way to do that.
05:22 rfw yeah
05:22 Yuki`N ENEEDSMOREMAGIC.
05:22 rfw reduce(lambda x, y: x + y, zip([0, 2, 4], [1, 3, 5]))
05:22 rfw is the way i would do it but
05:22 plobsing magic? magic? THIS! IS! PYTHON!!!
05:23 rfw you need the generator thing
05:23 * dukeleto is back again
05:23 rfw so yeah that's kinda painful looking but okay
05:23 rfw hi dukeleto
05:23 rfw i've finished coverage of io dynops
05:23 Yuki`N dukeleto, http://nopaste.snit.ch/27538 is this beautiful?
05:25 dukeleto rfw: did you submit a task?
05:25 rfw not yet
05:25 Jumpyshoes dukeleto: http://pastebin.com/qT8RtP4d this increases test coverage of pbc_disassemble to about 90 something
05:25 rfw github's pull request is being crappy
05:25 Jumpyshoes i don't know how to match all error strings though
05:25 dukeleto Yuki`N: nice!
05:26 rfw okay why will you not let me submit my pull request github
05:27 Yuki`N Pushing to a branch.
05:27 Yuki`N Close http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129402219698 so I can accept the PMC one?
05:27 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391042256
05:29 dukeleto Yuki`N: can you make that into a pull request?
05:29 Yuki`N I will.
05:30 dukeleto rfw: accepted
05:30 Yuki`N dukeleto, https://github.com/parrot/parrot/pull/92 pull here, this also has the PMC pretty-printer in it.
05:31 dukeleto Yuki`N: wow!
05:32 dukeleto Jumpyshoes: do you need anything? you can submit a patch if pull requests are not working for you
05:32 Jumpyshoes dukeleto: okay, can i just link you to a patch?
05:33 dukeleto Jumpyshoes: just upload the patch to the melange task system and submit the task so i can accept and you can pick a new task
05:34 Jumpyshoes dukeleto: okay
05:35 Yuki`N >Create a GDB pretty-printer to print Parrot backtraces in a pretty way
05:35 Yuki`N Are those objects?
05:35 rfw dukeleto: hold on, my pull request is wonky again
05:35 Jumpyshoes dukeleto: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129395090916
05:36 rurban_ joined #parrot
05:37 bacek_ joined #parrot
05:38 Jumpyshoes dukeleto: submitted
05:38 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391042256
05:38 rfw was dewonkying my commits
05:39 dukeleto Jumpyshoes: accepted.
05:39 Jumpyshoes dukeleto: thanks
05:40 rfw 92 pull requests for parrot all due to gci
05:40 rurban left #parrot
05:40 rurban_ is now known as rurban
05:41 Jumpyshoes dukeleto: what are some other things i could do?
05:41 Yuki`N dukeleto, look over and close that so I can do the same for PMC.
05:41 dukeleto rfw: completed
05:41 rfw dukeleto: http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129391056458
05:42 dukeleto rfw: accepted
05:42 dukeleto Jumpyshoes: sure. what are you interested in?
05:43 dukeleto Jumpyshoes: there should be a few open tasks to choose from, but i can also create more tasks
05:43 bacek__ left #parrot
05:43 rfw dukeleto: submitted
05:45 dukeleto Jumpyshoes: which langauges are you most familiar with?
05:46 Yuki`N dukeleto, http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129402219698
05:49 bacek__ joined #parrot
05:53 dukeleto Yuki`N: what python deps does your pretty printer have?
05:53 Yuki`N dukeleto, nothing
05:53 Yuki`N Only python.
05:53 dukeleto Yuki`N: which min python version?
05:53 Yuki`N Umm, I have no idea, 2.6 to be safe.
05:54 Yuki`N I wrote this on 2.7 but I didn't use any features I know of that don't work on 2.6
05:54 Yuki`N gdb version needs to be high enough otherwise it won't load the pretty-printers.
05:54 Yuki`N It doesn't spit errors though, so that doesn't really matter.
05:54 Yuki`N As much
05:55 bacek_ left #parrot
05:57 Yuki`N dukeleto, http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129402487888
05:57 Yuki`N hah
05:57 Yuki`N The last 3 numbers in the task id are 888.
05:58 Yuki`N >Create a GDB pretty-printer to print Parrot backtraces in a pretty way
05:58 Yuki`N I'm not sure this is possible. Parrot backtraces don't actually involve gdb at all.
05:59 dukeleto Yuki`N: what minimum gdb version do we need for our pretty printers?
05:59 Yuki`N Ummm.
05:59 Yuki`N I'm not quite sure.
05:59 Yuki`N They were added in some version higher than 7.2.25
05:59 Yuki`N So relatively recently.
06:00 Yuki`N I wrote those with 7.2.50, which is the latest.
06:01 Yuki`N The printers are actually quite decieving..because if you want to examine any of the values any further you're going to have to do one of the very nice casts I pasted above.
06:03 plobsing I tend to copypasta from gdb rather than engage in ridiculously long strings of casts, dereferences, and attribute lookups
06:03 plobsing unless I am "scripting" it
06:03 bacek__ left #parrot
06:03 Yuki`N Ah.
06:04 plobsing I always suspected everyone else did the same
06:04 Yuki`N Well, you can still manually write your casts.
06:05 Yuki`N *((Parrot_FileHandle_attributes *) pmc->data)
06:05 Yuki`N because now `print pmc' will actually give you meaningful information
06:05 Jumpyshoes left #parrot
06:05 Yuki`N Rather than $1 = (PMC *) 0xDEADBEEF
06:05 dukeleto Yuki`N: i just want to document what deps our pretty printers have. people will inevitably try them with really old versions of stuff
06:06 Yuki`N Yeah.
06:06 Yuki`N Really there's no case where they'll break anything.
06:06 Yuki`N If gdb is too old, they won't load.
06:06 plobsing just give "known to work on" version numbers
06:06 Yuki`N Python can't be too old, because they're only loaded when gdb loads them and if gdb is compiled with python then python is new enough.
06:06 Yuki`N If that makes any sense.
06:07 Yuki`N It works with gdb 7.2.50 and Python 2.7
06:07 Yuki`N Just put that down, :P
06:07 Yuki`N plobsing, I'm not sure if pretty-printing our Parrot_backtrace is viable, because that doesn't actually use GDB.
06:08 Yuki`N Not quite sure what that task is asking.
06:08 plobsing Yuki`N: it was just an idea. I make no guarrantee that it was a good one
06:08 Yuki`N Hah.
06:09 Yuki`N Core dumps are always usable since gdb goes through those. \o/
06:09 Yuki`N Though core-dumping on a simple failed assertion is unnecessary.
06:12 cotto bacek++
06:13 cognominal left #parrot
06:13 Yuki`N cotto, can you approve http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129402487888
06:14 cotto let's find out
06:15 cotto yes, I can
06:16 dukeleto cotto: we need more tasks. these kids are burning through them
06:16 dukeleto cotto: also, we have a gdb pretty printer waiting in our pull requests!
06:17 cotto yes
06:17 Yuki`N cotto, doesn't this just make you want to go debug parrot now? http://nopaste.snit.ch/27538
06:17 Yuki`N Oh...hmm.
06:17 Yuki`N Scratch that, it seems to be chomping some name-value pairs.
06:18 cotto Yuki`N, I'm going to introduce a bug just so I can play with that to find it.
06:18 dukeleto Yuki`N: just add the fix to the current pull request
06:18 Yuki`N Ok.
06:19 cotto parrot: f33e28da | cotto++ | src/call/pcc.c:
06:19 cotto parrot: Introduce a subtle bug
06:19 cotto parrot: review: https://github.com/parrot/parrot/commit/f33e28da
06:21 Yuki`N Lol I found my bug.
06:22 Yuki`N My lazy-evaluation messed me up.
06:22 Yuki`N Jeez this stuff is too complex.
06:23 cotto Yuki`N, for bonus points make it deal properly with PIR-level objects.
06:24 cotto and by "bonus points", I mean "insanity"
06:24 Yuki`N I highly doubt that any sane man can do that.
06:30 nopaste "Yuki`N" at 192.168.1.3 pasted "Working Magic" (42 lines) at http://nopaste.snit.ch/27540
06:30 Yuki`N There we go.
06:30 Yuki`N I was cutting the number of attributes printed by about half because of my lazy iteration.
06:31 Yuki`N It's still lazily-iterated, but (somewhat) simpler now.
06:35 Yuki`N dukeleto, added.
06:36 Yuki`N Ok.
06:36 Yuki`N It should actually work now.
06:36 Yuki`N dukeleto, I've submitted work to Melange. Get others to test and then pull whenever.
06:37 Yuki`N dukeleto, Unfortunately pretty-printing backtraces is impossible with our current implementation.
06:37 Yuki`N If you dump core then you can use gdb, but that is otherwise impossible.
06:41 cognominal joined #parrot
06:42 Yuki`N Good night all.
06:42 Yuki`N left #parrot
06:51 kapace__ everytime I see his quit message, I think to myself: "That must suck to wake up in the morning and have to reinstall everything from scratch..."
07:02 bacek joined #parrot
07:04 rfw kapace__: you have to run rm with --no-preserve-root to do that though :p
07:05 * kapace__ check's rm's man
07:06 kapace__ ah
07:06 fbrito left #parrot
07:06 rfw rm should return an error code too
07:06 rfw so it's more like every morning he wakes up his computer is still on
07:07 rfw there kapace__ i just destroyed your thought
07:07 kapace__ thanks, now I can rest easy :P
07:07 fbrito joined #parrot
07:07 rfw oh god
07:07 fbrito left #parrot
07:08 rfw kapace__: did you see d_s's latest post to the mailing list
07:08 dalek parrot: 6c1531e | Jumpyshoes++ | t/tools/pbc_disassemble.t:
07:08 kapace__ yes :O
07:08 dalek parrot: improve pbc_disassemble's test coverage
07:08 dalek parrot:
07:08 dalek parrot: Signed-off-by: Christoph Otto <christoph_git@mksig.org>
07:08 dalek parrot: review: https://github.com/parrot/parrot/commit/6c1531e41c
07:08 rfw i think parrot is going to have a field day with him
07:09 kapace__ i think they should attack with parrots :P
07:09 rfw to the parrotcave!
07:10 cotto There's no way I'd have predicted that our main difficulty would be in finding tasks to keep gci students busy.
07:14 rfw kapace__: On 29th December 2010 02:26, by David Czech: be back in a bit, have to get another task.
07:14 rfw you never came back!
07:14 kapace__ oh yeah, I had like 5% on that task
07:14 rfw lol
07:15 kapace__ if you want it, you can take it, since I have forgotten about it
07:15 rfw nah i can do something else
07:38 bacek aloha, humans...
07:39 bacek How is life in new year?
07:39 cotto aloha, bacek
07:40 bacek hio cotto
07:40 cotto The new year has way too many gci students, not unlike the last one. ;]
07:40 cotto either that or not enough gci tasks
07:40 bacek cotto, easy to fix. Just review all RFC tickets and convert them to GCI tasks
07:40 bacek Or reject.
07:41 bacek This is what bab^W Architects for :)
07:41 cotto only problem: there's no "super difficult" gci task setting
07:42 bacek Another task for Architect is to split BIG TASK into small tasks :)
07:43 cotto touche
07:44 * cotto goes off to architect some things
07:55 * bacek goes off to just walk for next 10 minutes...
07:56 cotto often that's the same thing
08:12 jhuni joined #parrot
08:12 rfw left #parrot
08:12 jhuni left #parrot
08:15 bacek cotto, not in my case,unfortunately
08:16 bacek_ joined #parrot
08:22 bacek left #parrot
08:23 bacek_ is now known as bacek
08:26 rfw joined #parrot
08:28 cotto plobsing, ping
08:32 bacek left #parrot
08:37 TonyC left #parrot
08:38 nopaste left #parrot
08:41 dalek parrot: 76ee902 | cotto++ | / (3 files):
08:41 dalek parrot: Merge branch 'gdb_pretty_print' of https://github.com/nol888/parrot into nol888-gdb_pretty_print
08:41 dalek parrot: review: https://github.com/parrot/parrot/commit/76ee902379
08:44 theory left #parrot
08:46 cotto msg notfound Could you review http://mksig.org/parrot/foundation_es.htm ?
08:46 aloha OK. I'll deliver the message.
08:47 cotto msg notfound It's a translation of http://parrot.org/foundation
08:47 aloha OK. I'll deliver the message.
08:50 dalek parrot: 1c90139 | cotto++ | t/dynpmc/gziphandle.t:
08:50 dalek parrot: Merge branch 'gziphandle_coverage' of https://github.com/rofflwaffls/parrot into rofflwaffls-gziphandle_coverage
08:50 dalek parrot: review: https://github.com/parrot/parrot/commit/1c90139877
08:52 fperrad joined #parrot
08:54 dalek parrot: ca7564b | cotto++ | t/dynoplibs/io.t:
08:54 dalek parrot: Merge branch 'io_dynops_coverage' of https://github.com/rofflwaffls/parrot into rofflwaffls-io_dynops_coverage
08:54 dalek parrot: review: https://github.com/parrot/parrot/commit/ca7564b604
08:54 dalek parrot: 7dbdc4d | cotto++ | t/dynoplibs/io.t:
08:54 dalek parrot: fix minor misuse of ok()
08:54 dalek parrot: review: https://github.com/parrot/parrot/commit/7dbdc4d70c
08:59 mj41 msg dukeleto yum install gmp gmp-devel - Package gmp-4.1.4-10.el5.x86_64,  gmp-4.1.4-10.el5.i386,  gmp-devel-4.1.4-10.el5.x86_64,  gmp-devel-4.1.4-10.el5.i386 already installed and latest version - Nothing to do
08:59 aloha OK. I'll deliver the message.
09:08 redicaps joined #parrot
09:12 cotto msg plobsing I see that you reverted the commit that moved some packfile code into src/packfile/execute.c.  Was that to make merging encapsulate-main easier or was it because you don't think the code belonged there?
09:12 aloha OK. I'll deliver the message.
09:12 * cotto sleeps
09:15 chromatic left #parrot
09:20 kennym joined #parrot
09:52 rfw left #parrot
10:07 bacek joined #parrot
10:23 bacek_ joined #parrot
10:25 contingencyplan joined #parrot
10:29 bacek left #parrot
10:37 dalek parrot: 0db1b53 | fperrad++ | tools/dev/pbc_to_exe.pir:
10:37 dalek parrot: [pbc_to_exe] fix when installed (see TT#1927)
10:37 dalek parrot: review: https://github.com/parrot/parrot/commit/0db1b53aec
10:46 dalek TT #1704 reopened by fperrad++: Implicit selection of main sub is deprecated.
10:46 dalek TT #1704: http://trac.parrot.org/parrot/ticket/1704
10:49 gbacon joined #parrot
11:18 bacek_ left #parrot
11:27 kennym left #parrot
11:34 aantn joined #parrot
11:36 aantn hey everyone
11:44 aantn left #parrot
11:55 barney joined #parrot
11:55 TonyC joined #parrot
11:56 nopaste joined #parrot
12:04 dalek parrot: cfcd803 | mikehh++ | MANIFEST:
12:04 dalek parrot: re-generate MANIFEST
12:04 dalek parrot: review: https://github.com/parrot/parrot/commit/cfcd8035f9
12:10 barney left #parrot
12:23 bluescreen joined #parrot
12:31 AzureSto_ left #parrot
12:36 AzureStone joined #parrot
12:36 muixirt joined #parrot
12:38 muixirt hi folks
12:39 muixirt PBC_to_exe fails with 'sh: Syntax error: Unterminated quoted string' in latest parrot
12:39 moritz 0db1b53 (the second to last commit) touched pbc_to_exe
12:41 cogno joined #parrot
12:41 muixirt ok moritz
12:43 muixirt wasn't latest after all :-)
12:50 muixirt yeah it's fixed thanks moritz
12:52 muixirt now I get a lot of rakudo spectest errors :-(
12:53 moritz recently I've often got lots of spectest failures when I dind't remove the install directory
12:54 moritz (which didn't happen prior to the release)
12:54 mtk joined #parrot
12:55 aantn joined #parrot
12:55 muixirt install directory?
13:01 moritz the directory where I install parrot
13:04 muixirt moritz: thought I nuked that thoroughly before rebuilding parrot+rakudo
13:05 moritz muixirt: then maybe it's a new failure
13:10 gbacon left #parrot
13:10 moritz $ ./perl6 -e "say 1"
13:10 moritz 1
13:10 moritz ===SORRY!===
13:10 moritz No main sub found
13:11 moritz no wonder the test harness freaks out
13:11 muixirt I wondered too about this but didn't dared to ask :-)
13:12 * moritz suspects cbaad3757d3d5b5c21f5a334d4372801e5cde879, "Merge branche 'encapsulate-main'"
13:15 kennym joined #parrot
13:18 whiteknight joined #parrot
13:24 cogno left #parrot
13:29 whiteknight aloha, coverage>?
13:29 aloha whiteknight: I have no idea.
13:29 whiteknight aloha, coverage?
13:29 aloha whiteknight: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
13:32 cogno joined #parrot
13:38 rurban_ joined #parrot
13:41 rurban left #parrot
13:41 rurban_ is now known as rurban
13:47 aantn left #parrot
13:56 cogno left #parrot
14:17 cogno joined #parrot
14:24 lucian joined #parrot
14:26 plobsing msg cotto: I reverted that commit because (1) It directly conflicted with the merge (2) I had mentioned this on the channel when the student was requesting the task (3) Rearranging code, while a decent task for students, does little good when the mechanisms it implements are rotten.
14:26 aloha OK. I'll deliver the message.
14:41 aantn joined #parrot
14:42 jnthn Hmm...so anybody here who can re-instate my lost-in-the-git-move Parrot commit bit? Got a MSVC build fix...
14:42 moritz aloha: metacommitter?
14:42 aloha moritz: I give up.
14:42 moritz aloha: meta committer?
14:42 aloha moritz: I have no idea.
14:43 jnthn aloha: met a committer? ;)
14:43 moritz jnthn: I think Coke, NotFound, whiteknight, dukeleto and maybe cotto can do it
14:43 jnthn k
14:43 jnthn May be fixed in trunk already anyway.
14:43 jnthn er, master.
14:43 moritz mastrunk!
14:44 jnthn But whatever current Rakudo is pointed at is busted on MSVC.
14:44 particle1 i can probably do it too, but i haven't even checked out parrot since the git conversion so best to ask someone else.
14:44 particle1 is now known as particle
14:44 plobsing jnthn: you want to talk to someone on this list: https://github.com/organiz​ations/parrot/teams/11479
14:44 jnthn 404?
14:45 whiteknight left #parrot
14:45 plobsing jnthn: funny, for me it goes to the Parrot Owners team page
14:46 particle it asks me to login first
14:46 particle then goes to parrot owners team page
14:47 cogno left #parrot
14:49 redicaps left #parrot
14:50 moritz particle: according to that list, you should be able to help :-)
14:50 particle yes, if someone can tell me how, then i'll help
14:51 moritz particle: go to https://github.com/organiz​ations/parrot/teams/12270
14:51 particle apparently i have authority but not knowledge.
14:51 moritz particle: at the end of the list, there's a text input
14:51 moritz where you type jnthn
14:51 moritz hit enter
14:52 particle DUN.
14:52 moritz and then the 'save team' button on the right
14:52 moritz now jnthn appears on the list
14:52 particle 'save team'... that's a weird second step, but done.
14:52 moritz that should be it
14:52 particle moritz++ for the instruction
14:52 particle welcome back, jnthn++
14:53 particle i was looking at the members list in organization settings, and couldn't figure out how to add.
14:53 particle silly me.
14:54 moritz well, you can't add people to organizations, just to teams
14:54 moritz but that took me a while to figure out too
14:55 jnthn particle: Thanks, I have a read-write clone link on github now :)
14:55 moritz if you had a read-only clone before, you can just edit .git/config
14:55 moritz and change the URL
14:56 moritz instead of re-cloning everything
14:56 aantn left #parrot
14:59 whiteknight joined #parrot
15:15 Andy joined #parrot
15:31 muixirt left #parrot
15:32 plobsing left #parrot
15:34 bluescreen left #parrot
15:39 fbrito joined #parrot
15:42 fbrito I am having problems with get_attr_keyed vtable on Object PMC. How it should work?
15:43 cogno joined #parrot
15:53 kid51 joined #parrot
15:56 dukeleto ~~
15:56 dukeleto some harsh words are being thrown around on the gci-discuss mailing list
15:58 moritz on what topic?
15:58 nwellnhof joined #parrot
15:59 dukeleto moritz: on the topic that parrot tasks are "fishy and are not reviewed by humans"
16:00 dukeleto moritz: and so I ask, are we not humans?
16:00 moritz dukeleto: we already know that bacek_at_work is a coding robot
16:00 kid51 Where is that mailing list?
16:01 moritz and who is complaining? GCI students that mostly work with other organizations?
16:02 kid51 Speaking of GCI tasks:  At long last one of my tasks has been claimed.
16:02 moritz \o/
16:02 kid51 Does anyone know who Max Vorobuov is?  Is he on channel?
16:02 dukeleto kid51: gci-discuss on google groups
16:02 dukeleto moritz: the org admin of x264
16:05 * dukeleto crafts a response and tries to minimize the trolling
16:06 Patterner left #parrot
16:07 Psyche^ joined #parrot
16:07 Psyche^ is now known as Patterner
16:07 fbrito Hi guys. Where should I use the key in getattribute to call get_attr_keyed vtable on a Object PMC? http://pastie.org/1424739
16:08 cogno left #parrot
16:08 kid51 dukeleto: FWIW, re Post #26 in that thread:  Both cotto and I reviewed one of rfw's tasks yesterday before committing to master.
16:08 dukeleto fbrito: good to see you again :)
16:08 dukeleto kid51: i am taking care of this dude.
16:09 dukeleto kid51: keep doing your thang, i will deal with trolls
16:09 kid51 And since that was the only one I personally tried to handle, I'm sure cotto took care of the others.
16:09 fbrito dukeleto: I was/am really busy helping my father on his company :s
16:09 dukeleto kid51: i will cc to parrot-dev
16:09 dukeleto fbrito: that is not necessarily a bad thing
16:09 kid51 In fact, perhaps the major benefit of GCI to Parrot is the number of mentoring hours it extracted from whiteknight, cotto and dukeleto ;-)
16:11 cogno joined #parrot
16:14 whiteknight I review everything that I merge
16:14 kid51 dukeleto: I notice that RTEMS Project is a participant in GCI.  Perhaps you could create an RTEMS/Parrot task?
16:15 whiteknight We can talk about how easy some of the code coverage tasks are. There is an argument to be made that some of them are easy or medium as opposed to difficult
16:15 moritz are they all rated as difficul?
16:16 whiteknight and students are in here quite frequently asking about the coverage tasks, having a hard time with them, and in some cases finding that they are impossible
16:17 kid51 Re code coverage:
16:17 whiteknight it does help that we create a nice and helpful atmosphere here, and we have several dedicated students who *want* to spend all day on Parrot tasks
16:18 kid51 1. Far and away the biggest challenge someone faces is learning the language that the code and tests are to be written in.
16:18 kid51 Case in point: kid51
16:18 kid51 I am very fluent in Perl 5, learned about code coverage 7 years ago, and in part built my career around it.
16:19 kid51 But I am less fluent in C and PIR than most of these GCI students, so I've never really written tests in PIR or attempted much code coverage.
16:19 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1992) fulltest) at 2_11_0-611-gcfcd803 - Ubuntu 10.10 i386 (g++-4.5 with --optimize)
16:20 kid51 So the fact that that our GCIers have mastered enough PIR to boost our test coverage is the *major* part of their achievement.
16:20 dukeleto I just want to warn people from getting into a flame war on gci-discuss: Please Don't. It is a waste of time.
16:20 kid51 2. Once you are fluent in the language you're covering/testing, yes, at that point you can start to grind out tests and boost the coverage.
16:20 kid51 dukeleto: Agreed.
16:22 gbacon joined #parrot
16:23 kid51 But, back to the question I raised above:  If a GCIer has claimed a task, and I've approved that claim, I more or less have to wait around for the GCIer to contact me -- correct?
16:24 kid51 w/ zostay
16:24 whiteknight kid51: yeah, you should include in your task a mention of how to get in touch with you
16:25 whiteknight so most of my tasks end with "open a pull request on github"
16:25 dukeleto kid51: yep
16:25 * dukeleto has thrown his hat in the gci-discuss fire
16:25 kid51 Well, I used the standard vocabulary from duke's template, and specified that a report should be sent to parrot-dev.
16:25 whiteknight I wonder who is saying that our tasks are trivial and that there isn't code review?
16:26 whiteknight that annoys me the most, that some student is saying these things
16:26 cogno left #parrot
16:26 whiteknight rfw has completed a lot of coverage tasks for us, but he's been working extremely hard at it, spending lots of time learning our system, and has gotten a good intuitive feel for how to cover some things
16:27 dukeleto whiteknight: i responded
16:27 kid51 whiteknight: Chill.  It's just hearsay evidence.
16:27 dukeleto whiteknight: don't get bogged down in gci-discuss drama. it is a waste of time
16:28 whiteknight dukeleto: It's not all drama and a waste of time. We want to learn for next year
16:28 dukeleto whiteknight: i will deal with it. Don't worry, no one is going to tarnish Parrot reputation without getting challenged.
16:28 dukeleto whiteknight: we can't learn anything from a jealous person spreading lies, other than how to manage it
16:29 whiteknight I don't care what anybody else says really, I want to make sure we are doing things correctly. We want to attact student attention our way, but we also want to create an environment where students may want to come back to after GCI is over
16:29 whiteknight If we treat GCI as a non-zero sum game, it makes the most sense for us to mark all our tasks as maximum point value, and attract all students to come work on our project
16:30 whiteknight we aren't so conniving, but that is a good strategy for us
16:30 whiteknight does the student no good to have such limited task exposure, and only be doing trivial tasks for us
16:31 dukeleto whiteknight: as product manager, you may want to reply to my mail on gci-discuss
16:32 dukeleto whiteknight: i just don't want to waste parrot developer time on dealing with flame wars
16:32 whiteknight no need. internet flamewars that don't involve "my programming language is better than yours" are a waste of time
16:33 davidfetter joined #parrot
16:35 dukeleto whiteknight: wfm
16:36 dukeleto 3.0 comes out soon, huh?
16:37 whiteknight actually, I may send a message to that list with a few more details.
16:38 fbrito I have to go now. see you guys later :)
16:39 dukeleto fbrito: take it easy!
16:40 fbrito left #parrot
16:42 dukeleto bacek is injured!
16:44 dukeleto bacek Load user information
16:44 dukeleto For my non-russian friends: Car crash. I was a passenger. Compression fractures. Enjoing my life in Wagga-Wagga hospital for next few days.
16:44 tadzik what happened?
16:44 tadzik oh
16:47 kid51 In this case, the "bus factor" is literal.
16:55 rurban Oh, a bus!
16:57 dalek website: jkeenan++ | On Roadmaps and Teams, Part Two
16:57 dalek website: http://www.parrot.org/content​/roadmaps-and-teams-part-two
16:57 dukeleto kid51++
16:58 davidfetter left #parrot
16:59 dukeleto kid51: http://twitter.com/parrotv​m/status/21973905644191747
17:01 kid51 dukeleto: Thx
17:02 dukeleto github is freaking out! Dammit.
17:09 dmalcolm joined #parrot
17:23 theory joined #parrot
17:26 cotto jnthn, I've been regularly testing the msvc build for the last couple weeks and haven't had any issues.
17:26 cotto also, ~~
17:26 jnthn cotto: It's fixed in master it turns out.
17:27 jnthn Just not in the revision Rakudo targets.
17:27 jnthn But seems master breaks Rakudo so...
17:27 cotto jnthn, ok
17:27 cotto sad face
17:27 jnthn Yes, I set out to do one useful thing in nqpclr and one in Rakudo so far today and immediately ran into Parrot "fun". :|
17:27 cotto jnthn, I can try to narrow it down if nobody else is doing so already.
17:29 jnthn cotto: OK - no immediate hurry.
17:29 jnthn Just wanted to spectest a patch I did to see if it causes regressions.
17:30 cotto jnthn, thanks for mentioning it.
17:31 * cotto thinks we need an "X days since Rakudo was last broken" counter.
17:31 cotto time for works
17:31 cotto dukeleto, https://trac.parrot.org/parrot/ticket/1199 might be a nice gci task
17:32 chromatic joined #parrot
17:32 dukeleto jnthn: we are working setting up continuous integration for parrot + HLLs (including rakudo spectest)
17:33 dukeleto s/working/working on/
17:34 jnthn Sounds good.
17:34 dalek parrot: 8f4ba3c | jkeenan++ | config/init/optimize.pm:
17:34 dalek parrot: [config] Make internal variable's name more self-documenting.
17:34 dalek parrot: review: https://github.com/parrot/parrot/commit/8f4ba3c090
17:34 dukeleto jnthn: unicorns will fall from the heavens the day I get it working
17:35 * jnthn remembers to carry an unicorn-proof umbrella
17:35 dukeleto cotto: i like it. will add now
17:35 dukeleto jnthn: i will start selling unicorn-proof hats the day before :)
17:44 Kristaba joined #parrot
17:49 kid51 dukeleto: I see what you mean by "github freaking out".  had to repeat a 'git push' due to instance of "ssh: connect to host github.com port 22: Connection timed out"
17:49 dukeleto kid51: yeah, github is having intermittent issues
17:49 dukeleto kid51: i got about 30 emails about various repo mirroring scripts barfing
17:51 dalek parrot/tt855_debugging_options: b4a0395 | jkeenan++ | config/init/optimize.pm:
17:51 dalek parrot/tt855_debugging_options: [config] Make internal variable's name more self-documenting.
17:51 dalek parrot/tt855_debugging_options: review: https://github.com/parrot/parrot/commit/b4a0395760
17:53 dukeleto cotto: http://socghop.appspot.com/gci/task/show/google​/gci2010/parrot_perl_foundations/t129407714938
18:02 cotto_work ohai
18:02 cotto_work dukeleto++
18:04 dukeleto cotto_work: danke
18:04 cotto_work thanks for the speedy taskification
18:05 * dukeleto is taking a break from GCI stuff. Too much.
18:05 cotto_work I know what you mean.
18:05 dukeleto my break includes doing $work
18:10 hercynium joined #parrot
18:21 dukeleto whiteknight: thanks for your thoughtful response on gci-discuss
18:21 whiteknight did that message actually make it through to gci-discuss?
18:21 whiteknight I got a weird response that my mail might not have made it to that group
18:22 mtk left #parrot
18:23 dukeleto whiteknight: hmm, maybe not, i think i got it through parrot-dev
18:23 dukeleto whiteknight: are you subscribed to gci-discuss ?
18:23 dukeleto whiteknight: it is not an open mailing list, you need to subscribe
18:23 mtk joined #parrot
18:24 whiteknight I thought I was subscribed. Let me double-check
18:25 dukeleto whiteknight: sometimes stupid google-groups bounce email if they are the cc: instead of in the to:
18:25 whiteknight ok
18:25 dukeleto whiteknight: i haven seen it before
18:25 whiteknight I just joined and re-sent
18:25 dukeleto whiteknight++
18:25 dukeleto whiteknight: it looks like that guy is pissed because google starting looking into their task batching
18:27 cotto_work whiteknight++ indeed
18:30 whiteknight If Google put in place some limits, like "a student can only complete 2 difficult tasks per day", that would have a major effect on the program and would equalize the problems we've been seeing.
18:32 rfw joined #parrot
18:39 cotto_work hi rfw
18:40 rfw hi cotto_work
18:40 dukeleto rfw: what are you working on?
18:40 rfw dukeleto: nothing :D
18:42 Andy coke++
18:42 Andy https://github.com/parrot/parrot/commit/​e153603ce16710d776e54d13748eea05747a175c
18:43 Andy I have often looked for ways to speed up c2str.pl.
18:43 dukeleto Andy: that should shave a decent amount of time from parrot builds
18:43 Andy That's why I've been looking for ways to speed up c2str.pl.
18:44 tadzik getopt turns out to be so slow?
18:44 Andy According to his commit.
18:45 Andy It's not that it's slow so much as it's called ALL the time.
18:45 Andy once for each pmc (or whatever)
18:45 dukeleto tadzik: just loading a CPAN module every time you run c2str.pl is slow
18:45 Andy I might steal that idea for ack.
18:45 dukeleto tadzik: it has to search PERL5LIB and all that junk
18:46 Andy not call GetOptions() unless /^-/ @ARGV > 0;
18:56 nopaste "kid51" at 192.168.1.3 pasted "darwin/ppc build with --optimize: 1 failure, 1 todo pass" (170 lines) at http://nopaste.snit.ch/27545
19:04 Kristaba My god! I'm seeing the Parrot_api_wrap_imcc_hack, it's really trash :D
19:04 Kristaba And I see no other way to get a PBC from a PIR file through the API
19:04 Patterner left #parrot
19:05 Psyche^ joined #parrot
19:05 Psyche^ is now known as Patterner
19:05 Kristaba I wanted to improve the API tests (I saw Parrot_api_ready_bytecode function for example), but test this kind of function without a 'real' way to compile a file directly from C code may be flawed, right?
19:08 dukeleto bacek fractured some of his vertebrae! we need to send him a get-well package
19:08 dukeleto Kristaba: if you want to compile a C file in a test, look at the tests in t/src/embed.t
19:09 whiteknight left #parrot
19:13 darbelo joined #parrot
19:15 Kristaba dukeleto: Thank you, but in fact what I would like to do is to compile a PIR file into a C test, and if possible using the new API
19:19 contingencyplan left #parrot
19:22 preflex left #parrot
19:23 pmichaud Neither nqp-rx nor rakudo build with current Parrot trunk.
19:23 pmichaud wait, rephrase
19:23 pmichaud nqp-rx builds, but doesn't pass its tests
19:24 moritz rakudo builds too
19:25 pmichaud I'm guessing it's due to TT #1704
19:25 moritz it's due to :main being required now
19:25 pmichaud ...which I think is bogus.
19:25 moritz I'm not sure what the correct fix is
19:25 preflex joined #parrot
19:26 dukeleto pmichaud: what is bogus?
19:26 pmichaud requiring :main
19:27 dukeleto pmichaud: that deprecation was required to fix our packfiles and make them must faster
19:27 dukeleto pmichaud: or faster. I have not seen benchmarks
19:27 pmichaud faster but broken is not an improvement
19:28 pmichaud also, that wasn't the justification given in TT #1704
19:28 dukeleto pmichaud: plobsing merged that branch, he is the best person to ask questions
19:28 dukeleto pmichaud: i wasn't involved in the branch, i just saw it fly by
19:28 dukeleto plobsing: ping?
19:30 dukeleto pmichaud: from what I hear, it fixes some bad design in our packfiles and changes an O(N) algorithm to be O(1). that is about all i know
19:30 cotto_work It's nice to see that "is pirflags<:main>" exists.  That's much nicer than the previously required hack.
19:30 pmichaud but it's incorrect to assume that we can positively know which sub is :main
19:30 dukeleto pmichaud: what is currently failing in nqp-rx's test suite?
19:30 pmichaud sometimes it's context-dependent
19:30 pmichaud dukeleto: just a sec
19:31 moritz dukeleto: for example declaring a class
19:31 pmichaud http://gist.github.com/763821   # nqp-rx test failures
19:31 dukeleto pmichaud: so are you saying that sometimes which sub is going to be :main is only known at run-time ?
19:31 pmichaud dukeleto: I'm saying that sometimes modules are compiled to be standalone programs, and sometimes they're compiled to be .include'd in larger PIR code
19:32 dukeleto pmichaud: can't you get around that by having a fixed-name sub that allows that context-dependent stuff to happen ?
19:32 dukeleto pmichaud: ah, i see
19:32 pmichaud if I force every module to have a :main, the second one is no longer possible
19:32 dukeleto pmichaud: we obviously need a solution to this problem. do you have suggestions for what parrot could provide to solve this?
19:33 pmichaud implicit :main worked well :-)
19:33 dukeleto pmichaud: yes, but we need a slightly better solution. What about a way to say "i want implicit main behavior" ? I just don't think we can make implicit main the default any more
19:34 dukeleto pmichaud: not sure if that makes anything better or just sweeps the problem to the other side of the rug
19:34 pmichaud I don't know.  I'm tired of "re-litigating" design decisions that were discussed and decided several years ago.
19:35 pmichaud :init and :load is another one
19:35 dukeleto pmichaud: i think it is an issue of mis-communication
19:35 pmichaud (TT #1896)
19:36 dukeleto pmichaud: as parrot developers change, old discussions are forgotten if they are not written down somewhere noticeable
19:36 pmichaud we have archives
19:36 dukeleto pmichaud: i agree
19:36 pmichaud it took me all of five minutes to find the :init/:load discussion in the archives
19:36 dukeleto pmichaud: just saying that perhaps you and plobsing need to have a chat and see how both of you can be happy. I am more than willing to try to help that happen.
19:37 pmichaud it feels like I spend whatever time I have for Parrot defending Rakudo against bizarre design changes
19:37 pmichaud that's not really productive for me
19:37 dukeleto pmichaud: i understand
19:38 pmichaud anyway, I have to run off for a while -- bbl
19:38 dukeleto pmichaud: perhaps encapsulate-main was merged too early. If you can send a short email to parrot-dev that says "this goes against previous agreements"
19:38 pmichaud I sent a reply to the ticket.
19:38 dukeleto pmichaud: we can unmerge it if necessary. We want everyone to be happy, and we surely don't want you to feel like you are constantly defending instead of coding
19:38 dukeleto pmichaud: ok, thanks
19:38 pmichaud (which, afaik, gets forwarded to parrot-dev)
19:39 moritz (there's a separate ticket list)
19:39 dukeleto pmichaud: it goes to a different list, but many people are on it
19:39 dukeleto pmichaud: but sending to parrot-dev will get to more people
19:39 dukeleto pmichaud: there is a "cc to parrot-dev" button on trac, methinks
19:40 * dukeleto goes for a very sunny cold run
19:59 plobsing joined #parrot
19:59 kennym left #parrot
20:00 dalek TT #1930 created by jkeenan++: t/op/number.t: one test fails under --optimize on Darwin/PPC
20:00 dalek TT #1930: http://trac.parrot.org/parrot/ticket/1930
20:00 kennym joined #parrot
20:01 mtk left #parrot
20:01 kennym left #parrot
20:03 kid51 How would one go about reverting that merge commit?
20:04 moritz git revert $sha1_of_merge_commit   ?
20:05 lucian dukeleto: ping
20:06 kid51 moritz:  I get: fatal: Commit cbaad3757d3d5b5c21f5a334d4372801e5cde879 is a merge but no -m option was given.
20:06 moritz kid51: then I'd start reading man git-revert and search for that -m option..
20:07 kid51 I'll need to supply this:  -m parent-number
20:07 kid51 ... but this is unexplored git territory for me :-(
20:07 kid51 There are two parents listed at: https://github.com/parrot/parrot/commit/cbaad37
20:09 mtk joined #parrot
20:10 nopaste "kid51" at 192.168.1.3 pasted "Failed attempt to revert merge commit" (38 lines) at http://nopaste.snit.ch/27546
20:11 PerlJam joined #parrot
20:17 Psyche^ joined #parrot
20:18 bacek_ joined #parrot
20:20 Patterner left #parrot
20:20 Psyche^ is now known as Patterner
20:20 whiteknight joined #parrot
20:29 Psyche^ joined #parrot
20:29 Patterner left #parrot
20:29 Psyche^ is now known as Patterner
20:34 dukeleto lucian: pong
20:34 lucian dukeleto: i got back a few days ago
20:34 lucian any news on the android thing?
20:35 dukeleto lucian: not much, i created a parrot-mobile repo today though https://github.com/leto/parrot-mobile
20:36 dukeleto lucian: GCI has been taking up most of my time, and i have a TPF grant on the parrot embed subsystem
20:36 dukeleto lucian: GCI ends Jan 10th
20:37 lucian i see
20:37 kid51 left #parrot
20:38 dukeleto lucian: lots of tests got written for parrot in the last 3 weeks
20:38 dukeleto lucian: lot of bugs got squashed and new ones found :)
20:38 dukeleto lucian: what do we need to do to add parrot to SL4A ?
20:38 dukeleto lucian: do you use eclipse ?
20:39 lucian dukeleto: i don't know, i think they use unpatched CPython for example
20:39 lucian i do use eclipse when i have to
20:41 dukeleto lucian: all the SL4A docs are for eclipse, and I've never used it before
20:41 lucian dukeleto: i see
20:41 dukeleto lucian: the SL4A docs for adding a new interpreter are pretty scarce
20:41 lucian indeed
20:43 darbelo left #parrot
20:43 darbelo joined #parrot
21:01 pmichaud left #parrot
21:02 Util left #parrot
21:03 tadzik left #parrot
21:04 lucian dukeleto: i'm trying to figure out what patches there are for cpython (simply because i'm most comfortable with it)
21:06 lucian hmm, it seems none
21:06 lucian same for lua
21:06 lucian it just needs json and socket
21:07 lucian so all that's needed is cross-compiling parrot, afaict
21:08 bacek__ joined #parrot
21:11 fperrad left #parrot
21:13 bacek_ left #parrot
21:17 Psyche^ joined #parrot
21:20 Patterner left #parrot
21:20 Psyche^ is now known as Patterner
21:20 bacek_ joined #parrot
21:23 darbelo left #parrot
21:26 bacek__ left #parrot
21:30 Patterner left #parrot
21:30 Psyche^ joined #parrot
21:30 Psyche^ is now known as Patterner
21:36 cotto_work atrodo: ping
21:36 atrodo cotto_work> pong
21:36 cotto_work atrodo: what do your tuits look like between now and the 10th?
21:37 atrodo cotto_work> so-so
21:38 cotto_work Every time I sit down to do some Lorito-related work, there's a big stack of gci work that I feel like I need to get through.  It'd be a big help if we had more people hanging out approving tasks so that I felt like I could safely ignore it and work on Lorito stuff.
21:38 rurban_ joined #parrot
21:38 Patterner left #parrot
21:39 Psyche^ joined #parrot
21:39 Psyche^ is now known as Patterner
21:39 atrodo cotto_work> What all would be involved?
21:39 cotto_work atrodo: do you have the tuits to review and approve some gci tasks (as they come up) if I give you a mentor bit?
21:41 cotto_work accepting claims for gci tasks, reviewing code changes (codingstds, does what it says, is sane, etc), marking tasks as completed and merging them into our git repo
21:41 bacek_ aloha, humans
21:41 cotto_work ENOHUMANS
21:41 rurban left #parrot
21:41 rurban_ is now known as rurban
21:41 bacek_ Hooray! We won!
21:41 bacek_ is now known as bacek
21:41 cotto_work atrodo: you don't need to do a ton of work.  Approving a couple tasks a day would help.
21:44 atrodo cotto_work> I can take a shot at it.  It'd be during the day.  I can't promise too much tho
21:44 cotto_work atrodo: thanks.
21:44 kapace__ you can practise with http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394745890 :P
21:44 atrodo ENOTAPPROVED
21:44 atrodo wow, that is easy
21:45 atrodo ;)
21:45 cotto_work atrodo: do you have a google id?
21:45 atrodo A regular google account?  Ya, atrodo@gmail
21:45 rfw kapace__: did you see my ticket for that?
21:45 cotto_work i.e. have you signed up on google-melange.com?
21:46 kapace__ oh hey rfw, no, I'll go check
21:46 atrodo cotto_work> in that case, no
21:46 atrodo hold on
21:46 rfw kapace__: http://trac.parrot.org/parrot/ticket/1926
21:47 atrodo cotto_work> Looks like i'm able to log into google-melange
21:47 cotto_work ok.  What's your id?  It should be at the top of the screen.
21:47 dukeleto lucian: ok, that sounds like a good start
21:47 atrodo cotto_work> atrodo
21:47 kapace__ yeah, I guess that is a little difficult to understand, and how to test for correct behaviour
21:47 kapace__ but theres other stuff to test as well
21:48 kapace__ rfw, were you working on this one before?
21:48 rfw kapace__: yeah
21:48 rfw there's almost nothing left to cover i think
21:48 rfw i may be wrong
21:48 kapace__ get_string, set_pmc, get_pointer..
21:48 rfw oh
21:48 rfw i am wrong! :D
21:48 lucian dukeleto: i see that SL4A keeps copies of interpreter sources in its source. i don't think that'll work very well with parrot
21:49 cotto_work atrodo: melange doesn't think you exist.  It may be some kind of propagation issue.
21:50 Psyche^ joined #parrot
21:51 atrodo cotto_work> Ah ha, had to create a link_id.  Try now
21:51 nwellnhof left #parrot
21:52 cotto_work atrodo: done
21:52 Patterner left #parrot
21:52 Psyche^ is now known as Patterner
21:52 cotto_work atrodo: do you have the tuits to try out your new bit on kapace's request?
21:56 tadzik joined #parrot
21:58 atrodo cotto_work> Sure.
21:58 bacek_ joined #parrot
21:58 cotto_work Ooh.  Stereo baceks.
21:58 cotto_work atrodo: thanks!
21:59 atrodo Claim Accepted
22:00 rfw how do you actually test the debug dynops?
22:01 kapace__ atrodo, thanks :)
22:01 kapace__ rfw, I tried, its diffcult
22:01 rfw yeah, i looked at the opcodes
22:01 rfw and it does look tricky
22:01 kapace__ since theres like a couple functions at the end, and they're not called afaik
22:01 rfw ah you can ignore tohse
22:02 rfw i've been ignoring those for all the dynops
22:02 kapace__ ok
22:02 kapace__ so theres debug_init, then debug_load_sc
22:02 kapace__ debug_init just inits, load_sc is supposed to load a source file, i think
22:02 kapace__ and debug_print, which just prints out a bunch of newlines for me :P
22:03 rfw so do you actually debug in the parrot interpreter?
22:03 rfw why is there a jagex_runescape_preferences.dat file in my home directory :||||||||||||||||||||||||||||||||
22:03 kapace__ debug_break drops you into pdb, parrot debugger
22:03 bacek left #parrot
22:03 rfw who's been playing runescape on my computer
22:04 rfw kapace__: hm okay i'll test
22:05 kapace__ who plays runescape anymore, i thought minecraft was the new runescape
22:05 rfw yeah
22:05 rfw someone stoled my minecraft account though :(
22:06 cotto_work atrodo: I know that gci isn't directly architecture-related, but sharing the load will help me get the arch stuff moving again.
22:16 rfw how do i run a file loaded into the parrot debugger via debug_load?
22:18 rfw there's no command to start the parrot debugger...
22:18 rfw kapace__: did you ever figure out how to start the parrot debugger using the debug dynops
22:19 kapace__ rfw, I got into the parrot debugger just by placing a debug_break anywhere
22:19 rfw oh you mean
22:19 tadzik left #parrot
22:19 kapace__ although it didn't seem to pick up the current source file
22:19 rfw blah
22:19 rfw wait
22:19 rfw do you do debug_break in the source you're debugging?
22:19 rfw that makes 100x more sense
22:20 whiteknight left #parrot
22:21 rfw aha, there we go
22:21 rfw thanks kapace__
22:21 bacek_ left #parrot
22:23 kapace__ rfw, np
22:27 kapace__ http://trac.parrot.org/parrot ahaaha, theres a picture of a smoking parrot
22:28 rfw kapace__: slow :p
22:30 tadzik joined #parrot
22:37 hercynium left #parrot
22:44 kid51 joined #parrot
22:47 bacek joined #parrot
22:49 kid51 Hello, bacek!
22:52 aantn joined #parrot
22:57 bacek_ joined #parrot
22:57 dukeleto bacek: hola, comrade
23:02 bacek left #parrot
23:03 rfw dukeleto: do you know how the Parrot_backtrace opcode in dynoplibs works?
23:03 rfw because i can't figure out how to get a meaningful result from it
23:04 dukeleto rfw: i don't. i haven't read the code in a long time. it is ancient code
23:04 rfw ah
23:04 dukeleto rfw: it may only answer in riddles
23:05 rfw dukeleto: also related - i'm using a temporary file to pipe what i want to stdin
23:05 rfw is there a smarter way to do this
23:05 whiteknight joined #parrot
23:05 rfw (in perl)
23:05 bacek_ left #parrot
23:06 dukeleto rfw: you can use a | in a perl 5 open() command, but whatever works
23:08 rfw dukeleto: right now i have http://pastebin.com/TeTADwe5
23:08 rfw so i'm just wondering if there's a better way to go about that
23:09 nwellnhof joined #parrot
23:13 dukeleto rfw: use lexical filehandles, such as : open my $fh, "<foo"
23:14 rfw uh, for which?
23:14 dukeleto rfw: all
23:14 nwellnhof rfw: use the three argument form of open: open my $fh, '-|', $command
23:14 dukeleto rfw: don't do open FOO, "<bar" always open my $fh, ...
23:14 rfw dukeleto: for STDIN?
23:16 rfw nwellnhof: then echo 'whatever'?
23:17 nwellnhof rfw: ah, you want to pipe something to a pir command.
23:17 rfw nwellnhof: yeah
23:17 nwellnhof rfw: i think there's a pir test function for that. let me have a look...
23:18 nwellnhof rfw: pir_stdin_output_is
23:18 nwellnhof in t/pmc/io_stdin.t
23:19 rfw let me take a look
23:19 rfw ah, thanks nwellnhof
23:20 whiteknight looking at FileHandle.readline_interactive, it looks like it always writes the prompt to stdout and reads the response from stdin no matter what the filehandle is doing
23:20 whiteknight if PARROT_HAS_READLINE, that is
23:21 nwellnhof whitekniight: the two codepaths with and without readline seem to do different things.
23:21 dalek TT #1908 closed by jkeenan++: Create new testing target: 'make test' + more
23:21 dalek TT #1908: http://trac.parrot.org/parrot/ticket/1908
23:21 TonyC left #parrot
23:21 nopaste left #parrot
23:21 nwellnhof whiteknight: i fixed the non readline path yesterday.
23:21 whiteknight oaky
23:21 whiteknight okay
23:21 nwellnhof wrt to string usage.
23:21 TonyC joined #parrot
23:22 nwellnhof not wrt to other bugs. the code could need a bit more love.
23:23 nwellnhof do you think it's ok to merge nwellnhof/unicode_io?
23:23 kid51 nwellnhof: Can you check out my posts in http://trac.parrot.org/parrot/ticket/1927?  Thanks.
23:24 aantn I'm trying to test the Class PMC
23:24 aantn how can I catch an exception in PIR?
23:24 nwellnhof kid51: that only affects darwin?
23:25 cotto_work aantn: t/pmc/exceptionhandler.t has some examples
23:25 aantn cotto_work: thanks
23:25 cotto_work aantn: look for push_eh and pop_eh
23:26 cotto_work for a basic test, using a label as an exception handler is fine.  If you need to, you can also get fancier.
23:27 nopaste joined #parrot
23:28 aantn cotto_work: thanks. what's the difference between: new 'Exception'
23:28 aantn cotto_work: and new ['Exception']
23:29 cotto_work aantn: functionally, not much
23:29 kid51 nwellnhof: I was focusing on Darwin, yes. But if the approach looks correct, then I'm going to inspect the other hints files as well.
23:29 cotto_work Unless I'm forgetting something, they dispatch to different opcodes but they end up doing the same thing.
23:30 nwellnhof kid51: i just had a look at spaces_in_paths. looks good to me.
23:30 kid51 thx
23:31 rfw blah, how do i redirect stdout to null and grab stderr?
23:31 nwellnhof kid51: i can run a 'make test' with it if you like.
23:31 rfw aantn: are you still doing the OS dynpmc?
23:32 kid51 plobsing: ping
23:32 cotto_work rfw: I saw you had a couple open pull requests last night.  Did those have gci projects associated with them?  I didn't see any that needed approval.
23:32 rfw cotto_work: yeah, dukeleto approved them
23:32 rfw but he didn't merge them in
23:33 cotto_work perfect
23:33 plobsing kid51: pong
23:33 aantn rfw: no, I'm working on the class pmc
23:33 kid51 Will you be able to do that partial revert before long? (TT #1704)
23:33 rfw aantn: okay, so it's fine if i just yoink that?
23:33 aantn rfw: go for it
23:33 kid51 I have to merge in a branch and I'd rather we get that done first.
23:34 rfw \o/
23:34 plobsing kid51: I actually had implicit :main (mostly) working previously in that branch before deciding to get TT #1704 with the same stone.
23:34 plobsing I don't intend to revert, but simply retrace my steps
23:35 kid51 Well, it's important that we get NQP going again ASAP
23:35 plobsing kid51: understood
23:37 rfw cotto_work: if you can, http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129394305842
23:39 cotto_work rfw: one of the tests fails
23:39 rfw which one?
23:39 nopaste "cotto_work" at 192.168.1.3 pasted "this one" (23 lines) at http://nopaste.snit.ch/27549
23:40 rfw erk
23:41 cotto_work let me know when to pull again
23:41 Andy left #parrot
23:42 rfw cotto_work: done
23:42 nwellnhof kid51: make test passes with string_on_branches, Debian/i386, building parrot in a path with spaces.
23:42 cotto_work rfw: no dice
23:43 rfw hm that's odd
23:43 rfw what's the output now?
23:43 nopaste "cotto_work" at 192.168.1.3 pasted "for rfw" (36 lines) at http://nopaste.snit.ch/27550
23:43 rfw ugh, what
23:43 cotto_work it passes for you?
23:43 rfw yes
23:44 kid51 rfw:  What is the reason for 'binmode $out' at line 37?
23:44 rfw kid51: that's from io.t
23:44 kid51 That doesn't answer my question.
23:44 dalek parrot: bf6a8e0 | nwellnhof++ | src/pmc/filehandle.pmc:
23:44 dalek parrot: Fix string handling in readline_interactive
23:45 dalek parrot: review: https://github.com/parrot/parrot/commit/bf6a8e0d33
23:45 kid51 Do you know what it was used in io.t?
23:45 rfw kid51: i'm not sure
23:45 rfw checking output
23:45 kid51 Perhaps you should find out why, eh?
23:45 nwellnhof kid51: it's to make readline work on Windows
23:45 cotto_work rfw: let me try something.  I might have been picking a slightly old libparrot.
23:45 rfw alright
23:46 kid51 Fair enough.  I did not myself know the answer.
23:46 rfw pdb, rather
23:46 kid51 Next question:
23:47 kid51 Are there no subroutines already in Parrot::Test that we can use instead of pir_stdin_error_output_is()?
23:47 rfw nope
23:47 rfw none of them have an option for accepting stdin
23:47 rfw which is probably why it's defined only in io_stdin.t
23:47 rfw chances are, not many need input from stdin
23:48 kid51 Can you write some documentation (in POD format) for pir_stdin_error_output_is() in this test file?
23:48 rfw alright
23:48 rfw should i do it for io_stdin.t as well?
23:48 kid51 Well, let's see it here first.
23:48 kid51 If it looks good, then perhaps we should move it to Parrot::Test.
23:49 kid51 (And if we do so, that could be another GCI task!)
23:50 nwellnhof rfw: you should move pir_stdin_output_is to lib/Parrot/Test.pm
23:50 rfw nwellnhof: i think there are quite a few hoops that i don't think i can jump for that
23:51 rfw all the output checking functions are dynamically generated
23:51 nwellnhof rfw: we make an exception for that one, like pbc_postprocess_output_like
23:51 rfw ah, okay
23:51 rfw got it
23:52 nwellnhof rfw: simply move pir_stdin_output_is to lib/Parrot/Test.pm after pbc_postprocess_output_like, and add it to @EXPORT
23:52 nwellnhof that should do it.
23:52 rfw alright
23:52 bacek joined #parrot
23:54 bacek hi again
23:54 bacek hello kid51
23:54 dalek parrot: fdb6fa5 | plobsing++ | compilers/imcc/ (2 files):
23:54 dalek parrot: re-implement implicit :main. undoes TT #1704 deprecation.
23:54 dalek parrot: review: https://github.com/parrot/parrot/commit/fdb6fa5754
23:54 dalek parrot: 73cd6f0 | plobsing++ | t/dynpmc/os.t:
23:54 dalek parrot: fix uid test when not root
23:54 dalek parrot: review: https://github.com/parrot/parrot/commit/73cd6f0082
23:54 cotto_work rfw: no love
23:55 rfw cotto_work: same problem?
23:55 plobsing kid51: implicit-:main reimplemented
23:57 dalek parrot: 8d2a33d | Whiteknight++ | / (3 files):
23:57 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
23:57 dalek parrot: review: https://github.com/parrot/parrot/commit/8d2a33d558
23:58 bluescreen joined #parrot

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

Parrot | source cross referenced