Parrot 1.8.0 Zygodactyly released | cs_csr_merge branch need testing! | Priority: trac.parrot.org/parrot/wiki/ClassV...eOverrides | Latest modified TT's: icanhaz.com/parrotbugs | Parrot Languages: icanhaz.com/parrotlang
Set by moderator on 3 December 2009.
fperrad darbelo, decnum has a setup.pir (send bt gmail) 00:01
darbelo That was fast. 00:02
fperrad++
00:04 plobsing joined
darbelo Hmm. Is the value for DECLITEND hardcoded now? 00:08
Infinoid japhb, dukeleto: the plumage history is remarkably consistent in its use of single line logs. Is that because of the ATOM feed limitations, or are you both just naturally excellent at summarizing? :) 00:10
fperrad darbelo, a fast version needs improvement
Infinoid is writing a page scraper, but was hoping to find a larger log entry for testing it 00:11
darbelo fperrad: Not a problem, I don't think I ever tested this on non-x86 anyways. I was just reading the code and noticed it. 00:12
Oh, wait. I lie. I did most of the SoC stuff on amd64 :) 00:13
nopaste "darbelo" at 190.136.175.208 pasted "decnum-dynpmcs build errors with setup.pir" (27 lines) at nopaste.snit.ch/18955 00:17
darbelo pmc2c--
plobsing hi #parrot
Infinoid hi plobsing 00:19
darbelo: hmm. isn't .dump supposed to be created by c2str? (I'm months out of date, so I'm no longer sure.) 00:20
darbelo Infinoid: Not for dynpmcs AFAIK. I think I had this problem before, I remember it being pmc2c's fault, but not how I fixed it. 00:21
I think I added an ugly hack to the makefile.
Infinoid there's a --dump option to pmc2c 00:24
fperrad darbelo, decbase.pmc must be processed the first, because it's the abstract class of all other PMC
darbelo Infinoid, fperrad: I know. I just don't know how to fix it with distutils :) 00:25
fperrad darbelo, $P2 is an array, and src/pmc/decbase.pmc is the first element. 00:28
darbelo fperrad: Doesn't that mean that it's processed first?
fperrad darbelo, on my box, it's the first 00:29
00:30 mikehh joined
darbelo So, it worked for you with just setup.pir in the top level dir and the patch you sent me. Hmm, must be something on my end. 00:30
00:35 Whiteknight joined
Whiteknight for as much as people were complaining about the support policy yesterday, my draft on the list got horribly warnocked 00:37
kid51 warnocked? 00:38
purl warnocked is en.wikipedia.org/wiki/Warnocked
Whiteknight means it got ignored
darbelo Whiteknight: Haven't read it yet. And missed the complaints too. So I lack context, right now. 00:39
kid51 Whiteknight: check list. I just attached a diff. When I read it on the list today, I didn't realize that it was a revision of a current document -- which I would have expected more as a patch attached to a TT. 00:40
Whiteknight kid51: yeah, seeing your diff reminded me about it
kid51 Whiteknight: I suspect that if you can persuade pmichaud of its virtues, it will be well on its way to acceptance. 00:41
Since I myself don't do any HLL work, I don't have a dog in this fight.
More generally: Anything you can do in Parrot core (e.g., GC) that enables pmichaud to get Rakudo* out in 5 months will be well appreciated. 00:43
00:52 abqar joined
dalek rrot: r42887 | jkeenan++ | trunk (3 files):
Deleting two files relating to HLLs no longer in the repository. Cf.: ļæ½trac.parrot.org/parrot/ticket/1327.
01:04
TT #1336 reopened by jkeenan++: Convert t/pmc/bigint.t to PIR 01:06
Whiteknight dukeleto: ping 01:15
dalek pir: ee1d488 | andrew++ | t/harness.pir:
prettify the output a little bit
01:19
Whiteknight urg, (git config)-- 01:21
Tene Whiteknight: some models of laptop I've seen do have hardware virt support, but it's disabled in the bios. If you're not completely certain that doesn't apply to you, it's worth checking. 01:22
Whiteknight Tene: yeah, this laptop's processor doesn't even support it at all
I can fiddle with the bios, I'm not worried about that
Tene Ah, okay. 01:23
Coke Note to parrot-dev folks; if you're going to x-post to users, join the list and keep your list admin happy. 01:26
Whiteknight I'm on the users list I think 01:28
01:38 xenoterracide joined
Whiteknight purl msg dukeleto I prettified the output of Tapir a little bit. We could make it's output a little bit more like Parrot's t/harness if you wanted too 01:40
purl Message for dukeleto stored.
01:40 xenoterracide joined 01:42 mikehh joined 01:46 xenoterracide_ joined
dalek pir: b31eb18 | andrew++ | CREDITS:
add myself to CREDITS, have more commits to come
01:54
01:54 mikehh joined 02:00 dalek joined
Infinoid japhb, dukeleto: Any chance you can commit something to parrot-plumage that has a big commit message? Dalek should handle multiple lines and file listings and all of that now. 02:01
02:01 mikehh joined 02:14 kid51 joined 02:19 JimmyZ joined 02:30 mikehh joined 02:35 mikehh joined 02:49 tetragon joined 03:11 mikehh joined
JimmyZ hello: could someone tell me where Vtable_get_pointer be dedined? I couldn't find it. 03:18
plobsing JimmyZ: include/parrot/vtable.h, line 687 03:20
JimmyZ plobsing: and them where is get_pointer? 03:21
plobsing: I want to find the function
plobsing JimmyZ: that's defined on a per-pmc basis
its a vtable funtion
JimmyZ yes, I couldn't find it. 03:22
plobsing which PMC type?
JimmyZ ah,find it 03:23
thanks, plobsing++
plobsing for future reference, if your editor supports tags (emacs or vi style), you can generate a tags file using the makefile targets make tags-{emacs,vi}
then you can find definitions automatically 03:24
JimmyZ plobsing: yes, I have no vi or cmacs. 03:25
plobsing JimmyZ: according to en.wikipedia.org/wiki/Ctags#Editors...ort_ctags, ~20 editors support tags. Maybe yours is one of them. 03:31
JimmyZ ah, plobsing++
03:53 nopaste joined 04:08 nopaste joined 04:13 TonyC joined 04:14 xenoterracide joined 04:23 nopaste joined
dukeleto 'ello 04:31
04:35 TonyC joined, theory joined 04:38 nopaste joined 04:39 TonyC joined 04:41 brrant joined
dalek pir: acdb637 | (Bob Kuo)++ | (5 files):
Merge remote branch 'upstream/master'
04:47
pir: 271bd7a | (Bob Kuo)++ | (2 files):
that should add skip support
pir: 435ff06 | dukeleto++ | (2 files):
Merge branch 'master' into skip_fresh
dukeleto msg whiteknight i like the idea of making tapir output formats pluggable 04:51
purl Message for whiteknight stored.
05:33 hercynium joined 05:55 TonyC joined 06:11 TonyC joined 06:21 nopaste joined 06:27 TonyC joined
dukeleto how do i get the proper directory to get at parrot include files, programmatically? 06:31
i need to detect the proper directory to -I in the plparrot config process
06:51 nopaste joined 07:03 nopaste joined 07:20 Essobi joined 07:33 uniejo joined 07:46 nopaste joined 07:56 JimmyZ_ joined 07:58 nopaste joined 08:28 nopaste joined 08:31 iblechbot joined 08:34 theory joined 08:54 payload joined
japhb Infinoid: I shall endeavor to give parrot-plumage a long commit message tomorrow 08:56
:-)
09:03 nopaste joined 09:13 nopaste joined
mikehh All tests PASS (pre/post-config, smoke (#30566), fulltest) at r42887 - Ubuntu 9.10 amd64 (g++ with --optimize) 09:14
dalek TT #1357 created by jimmy++: [patch]changed capture.pmc to use GET_ATTR syntax 09:22
09:25 fperrad joined 09:27 fperrad_ joined 09:28 nopaste joined 09:43 nopaste joined
dalek a: d365759 | fperrad++ | setup.pir:
manifest: add missing lua_private.h
09:48
10:08 payload joined 10:19 nopaste joined 10:32 gaz joined 12:08 bacek joined 12:18 plobsing joined 12:22 payload joined 12:25 bluescreen joined 12:33 bluescreen joined 12:42 iblechbot joined 12:43 bacek joined
Coke msg dukeleto "parrot_config includedir" ? 13:07
purl Message for dukeleto stored.
13:21 whiteknight joined
Coke sighs at blogs.perl.org 13:28
Coke 's login has been toasted, and he is unable to post comments with a 500 server error.
Coke backs away for a few weeks. 13:29
moritz they are working on migriting to a stronger server
Coke on the off chance it's just me; someone might want to point blogs.perl.org/users/silent11/2009/...-2009.html towards rakudo. 13:32
moritz Coke: will do, thanks 13:34
Coke moritz++
moritz correction: I tried.
it told my the "entered text" was wrong 13:35
which presumably meant a captcha
but I didn't see one
13:43 TonyC joined
pmichaud good morning, #parrot 13:50
whiteknight good morning pmichaud 13:54
pmichaud: did you happen to see the support policy draft I posted to the list yesterday? 14:12
pmichaud I saw that you sent one -- didn't view the draft itself yet. 14:19
(would require shelling out to a word processor :)
fperrad seen riffraff 14:33
purl riffraff was last seen on #parrot 185 days, 4 minutes and 8 seconds ago, saying: yes it's what I was thinking thanks again [Jun 2 14:28:18 2009]
14:53 PacoLinux joined 15:01 xenoterracide joined 15:11 xenoterracide joined
whiteknight purl msg dukeleto: I'm interested in getting started on a good mock object framework. I've got a few ideas I want to start drafting. You have any ideas? Would this be a good addition to Tapir, or do we go it solo? 15:16
purl Message for dukeleto stored.
15:30 patspam joined 15:32 bubaflub joined 15:36 xenoterracide joined
Infinoid Coke: ping 15:41
15:42 ruoso joined
Coke Infinoid: pong 15:46
Infinoid Coke: At the cost of having to put options before subcommands, I got directly passed shell commands working pretty well 15:47
nopaste "Infinoid" at 173.75.243.182 pasted "svn-bisect session for Coke++" (21 lines) at nopaste.snit.ch/18959
Infinoid I don't think I can make it much more straight forward than that.
15:48 payload joined
Infinoid (without the restriction on options, Getopt::Long would eat the -f) 15:49
Anyway, wanted to let you know, I'm done with that feature, and will push it to CPAN today. 15:51
15:51 Psyche^ joined
Coke Infinoid: danke. 16:00
sorry, distracted.
16:26 lucian joined, patspam joined 16:31 patspam joined 16:33 patspam1 joined 16:36 viklund joined 16:39 darbelo joined 16:44 jan joined
dalek rrot: r42888 | mikehh++ | trunk/t/pmc/bigint.t:
fix t/pmc/bigint.t to skip properly if libgmp not available or wrong version
16:54
mikehh msg kid51: I think I fixed TT #1336 at r42888 - can you test this 16:55
purl Message for kid51 stored.
16:55 fperrad_ joined 16:56 fperrad joined
fperrad ping darbelo 17:01
purl I can't find darbelo in the DNS.
darbelo pong
17:03 mikehh joined
nopaste "darbelo" at 190.136.175.208 pasted "Missing label in distutils.pir" (12 lines) at nopaste.snit.ch/18961 17:03
fperrad darbelo, with decnum, try
$ parrot setup.pir
which fails
but after, send me the output of
$ parrot setup.pir clean
darbelo, no, L1 exists already line 1056 17:09
17:10 theory joined
darbelo fperrad: I just fixed the pmc2c problems, those were on my end. But now it fails with what looks like a missing header. 17:16
nopaste "darbelo" at 190.136.175.208 pasted "decnum-dynpmc failures with setup.pir" (296 lines) at nopaste.snit.ch/18963 17:17
fperrad darbelo, yes in decnum.pmc 17:18
./decnum.pmc:28:40: ../src/decNumber/decNumber.h 17:19
instead of
../decNumber/decNumber.h
darbelo Yeah, found it.
parrot setup.pir test is running fine now. fperrad++
fperrad darbelo, have you remove t/harness ? 17:21
darbelo No, should I?
fperrad darbelo, yes, it is useless 17:22
see line #1706 in distutils.pir 17:23
darbelo Oh, cool. 17:24
That makes decnum-dynpmcs completely perl free. 17:25
fperrad++
fperrad darbelo, perl source free, but not perl free, because prove is perl 17:26
waiting for Tapir 17:27
dalek rrot: r42889 | pmichaud++ | trunk (3 files):
[tools] Update create_language.pl to build for nqp-based toolchain.
fperrad darbelo, you could generate a new Plumage file : 17:29
$ mkdir plumage
$ parrot setup.pir plumage > plumage/decnum-dynpmcs.json
darbelo Just like that? I was about to do it by hand. 17:30
fperrad darbelo, data are in setup.pir 17:31
darbelo fperrad++ 17:32
Ouch, "parrot setup.pir install" didn't install decnum.pasm
Where should I add that? 17:33
fperrad darbelo, where do you want install it ? 17:34
darbelo, add this 17:37
# install
$P0['inst_inc'] = 'inc/decnum.pasm'
dukeleto 'ello 17:43
bubaflub dukeleto: hi 17:50
purl what's up, bubaflub.
dukeleto bubaflub: your skip_fresh branch was merged into tapir 17:52
bubaflub dukeleto: shaweet.
dukeleto: i mentioned it on the tapir wave, but i found some good examples from the official TAP pod that should expose a few more cases that we don't handle
dukeleto: so i'll turn those into tests and then get em to pass 17:53
dukeleto: all on a topic branch, of course
dukeleto bubaflub: svn.hexten.net/tapx/tap-tests/t/source/
bubaflub ah, cool
dukeleto: i also wonder if we should use some kind of neato-fancy-shmancy grammar 17:54
dukeleto bubaflub: what kind?
bubaflub: if you are talking about using PGE, that will be much slower 17:55
bubaflub ah
ok
dukeleto bubaflub: and pmichaud isn't working on PGE anymore
bubaflub: TAP is a line-based protocol, so the way we are parsing it is actually how Test::Harness does it as well. in spirit, anyway. 17:56
bubaflub ok. if using a grammar will make it slower then we'll stick with what we got
pmichaud dukeleto: but one could use NQP to do the parsing
bubaflub i'll convert some more examples to test cases
dukeleto pmichaud: that is called nqpTAP ;)
pmichaud well.... there ya go then :)
dukeleto nqptap?
purl i think nqptap is nqpTAP - TAP (Test Anything Protocol) Harness for NQP (NotQuitePerl) github.com/leto/nqptap
dukeleto tapir? 17:57
purl i guess tapir is being written to be testable from the ground up, unlike nqpTAP or github.com/leto/tapir
dukeleto purl, tapir is also a TAP Harness written in PIR
purl okay, dukeleto.
dukeleto bubaflub: so if you want to get fancy, feel free to go wild on nqpTAP. i will give you a bit now 17:58
bubaflub: nqpTAP can be where we get fancy, tapir can be where we go fast ;)
bubaflub cool.
i'm not that up to speed on NQP, but it's a good stomping ground
dukeleto bubaflub: nqptap is just a copy-and-fork of the test harness that i wrote for Plumage 17:59
pmichaud the nqp version should be able to be fast also
especially if one does line-by-line parsing of the input (as it should)
dukeleto pmichaud: that is the plan
pmichaud: do you have any other suggestions for nqpTAP ?
pmichaud not at the moment
sounds like you've pretty well got it in hand :)
dukeleto pmichaud: you have a bit, so feel free to add stuff to TODO or tell us if we can do something in a smarter way :) 18:00
pmichaud will do. My plate's a little full this week, though :)
dukeleto bubaflub: you have a bit, and so does japhb,whiteknight,darbelo
pmichaud: nqptap is on my back burner, no worries 18:01
pmichaud anytime I add something more to my plate, more stuff falls onto the floor and it's making a bit of a mess :-)
whiteknight who has a bit to what?
dukeleto pmichaud: i am concentrating on tapir much more
whiteknight: you have a bit to nqptap
whiteknight ah, yes
dukeleto nqptap?
purl nqptap is nqpTAP - TAP (Test Anything Protocol) Harness for NQP (NotQuitePerl) github.com/leto/nqptap
bubaflub dukeleto: i'll hack together a few more tests for tapir this weekend and see if anything fails.
dukeleto bubaflub: we need a way of using all those yaml files of TAP as test cases 18:02
whiteknight dukeleto: I want to use Tapir as the test harness for PLA and Matrixy. So they can be testbeds for it. How do we install it globally?
bubaflub dukeleto: i can try and throw together a script
that'll parse those files and output some testing stuff
or at least something useable
dukeleto whiteknight: that part hasn't been written yet. i think i just want to either 1) create a fakecutable 2) just create a .pbc . what are the benefits of each? 18:03
whiteknight a fakecutable is nice because you can invoke it directly
might benefit from some optimization too, but I doubt it's much 18:04
dukeleto bubaflub: i guess we need a function in PIR that parses that yaml and determines if parsing each TAP stream gives a printout that is correct
whiteknight: so it is the different between: tapir t/*.t VS parrot t/harness.pbc t/*.t 18:05
bubaflub dukeleto: hmmmm. i was thinking of a script that would just be a one-time conversion from yaml to something we can read into a test file
dukeleto whiteknight: i guess the fakecutable is less typing to invoke, which I like
18:05 chromatic joined
whiteknight dukeleto: whatever it is, I'll probably alias it to "pt" anyway, so no worries 18:06
:)
dukeleto bubaflub: i want to use those yaml files directly, so that when people improve those, we still get the benefit. one-time sucks.
bubaflub dukeleto: ok. is there a yaml parser in pir already?
i think there is somewhere. i saw a JSON blah blah but JSON != YAML 18:07
dukeleto runtime/parrot/library/yaml_dumper.pb
yaml_dumper.pbc, even
runtime/parrot/library/yaml_dumper.pir is more useful 18:08
bubaflub cool. i'll check em out this weekend. i.e. 12 hours or so
dukeleto bubaflub: it *is* friday. thankfully. 18:09
bubaflub dukeleto: no kidding. i'm in the last push for finals. it'll be nice to be done with this semeseter.
dukeleto any other nqp hackers want a bit to nqptap?
bubaflub: good luck!
purl You'll need it.
bubaflub dukeleto: thanks. purl--
dukeleto purl: eat a brick. 18:10
purl dukeleto: i'm not following you...
dukeleto whiteknight: so i guess my answer is that I would prefer to polish up tapir for a few more days and add installability before dropping it in other repos 18:11
whiteknight: but it is very close. we can parse todo/skips now, which is big 18:12
whiteknight: tapir still parses out of order tests incorrectly
whiteknight oh
dukeleto whiteknight: it ends up failing an out-of-order test file, but for the wrong reason, because it mis-counts out-of-order tests :) 18:13
whiteknight: i will have that fixed this by this weekend
whiteknight well it's no hurry, I'm using nqpTAP for PLA now, so I can stick witht hat for a while
dukeleto whiteknight: sounds good. nqpTAP doesn't parse todo/skips or deal with out of order tests correctly :)
whiteknight dukeleto: I know. That's why I want the new hotness 18:14
dukeleto whiteknight: it is very close!
whiteknight anything I can do?
dukeleto whiteknight: the TODO file is pretty extensive. thanks for the prettification patch! 18:15
whiteknight dukeleto: no problem! I think we could have an overloadable display object type if we want other output formats 18:16
dukeleto whiteknight: you could add that we want pluggable output formats to the TODO
whiteknight: nice
whiteknight haha, ok. awesome
anyway I'm serious. If you need a "real world" testbed, PLA and Matrixy are at your disposal
18:17 xenoterracide joined
dukeleto i wonder if CPANtesters would want to use Tapir, since it would speedup their test runs *enormously* 18:17
whiteknight really? is Tapir faster then perl's test harness?
dukeleto whiteknight: tapir is much faster than Test::Harness 3.x . like, algorithmically
whiteknight oh, wow 18:18
but how fast will it be when it's parsing tests in order? :)
dukeleto whiteknight: t::h 3.x allocates objects for every test in a test file, and does not free them until the file is done
whiteknight: tapir just counts stuff, so it's memory use per test file is constant 18:19
darbelo ouch.
dukeleto whiteknight: i ran into this with math::primality. i had a test with 500,000 tests, and test::harness pooped the bed
whiteknight hey, my kid poops the bed too!
cotto_work Is there a reason for that or is it just lazy coding? 18:20
dukeleto whiteknight: TMI, man. But I brought it upon myself ;)
cotto_work: it is very extensible, well-factored code with a deep inheritance hierarchy
cotto_work: so i think it is a result of using deep inheritance. test::harness 2.x was much faster 18:21
it would be very interesting to benchmark tapir against t::h 2.x and t::h 3.x 18:23
cotto_work It'll be nice to have a speedup in our tests, wherever it comes from. 18:24
dukeleto tapir already kicks t::h 3.x's ass
bubaflub cotto_work: agreed.
dukeleto cotto_work: for a file with 100 tests, tapir currently takes roughly a third of the time of Parrot's current harness
y'all don't even *know* how much test::harness 3.x slows shit down 18:25
i was amazed myself
cotto_work Reducing the friction of running the test suite is huge. I'm really glad it's getting some tuits. 18:26
dukeleto tapir aims to be must faster, with 80% of the features
much faster, even
i think the last 20% of features of test::harness is what makes it so slow
18:26 mikehh joined
dukeleto there probably needs to be a test::harness::lite or something 18:26
bubaflub: one thing, next time, don't merge the master branch into your topic branch so much :) 18:33
bubaflub yeah, i should have rebased
dukeleto bubaflub: indeed, or squashed
bubaflub: not a big deal, but it starts to wreck the history and makes bisection slower/etc
bubaflub: so next time, it is tar and feathers 18:34
bubaflub dukeleto: yikes.
dukeleto: i shall squash away
tewk squash, what that? 18:35
moritz merging multiple commits into a single commit
chromatic Speaking of rebasing, squashing, and merging, we need to merge bacek's CallSigRet branch. 18:36
dukeleto tewk: git rebase -i allows you to "squash" a bunch of commits into one
chromatic: thanks for volunteering!
chromatic: do you need help?
bubaflub tewk: www.kernel.org/pub/software/scm/git...ebase.html
chromatic I'll poke at it in a bit, but I might need some advice. 18:37
dukeleto chromatic: i give moral support, testing and benchmarking. advice, not so sure.
chromatic: i can pretend to know stuff and you can pretend to believe me. that usually works.
chromatic: does the merge apply cleanly? 18:38
chromatic: it is a recent branch, there shouldn't be *too many* conflicts.... 18:39
::famous last words::
chromatic I haven't tried to rebase from trunk and then merge; is that the best approach?
dukeleto chromatic: you are going to use git-svn for the merge?
chromatic Yes. 18:40
dukeleto chromatic: ok 18:41
chromatic: yes, rebase against trunk 18:42
chromatic: create a topic branch for the cs_merge branch 18:43
chromatic: then merge master into it
chromatic: then fix conflicts, "git add" each file with a conflict, then "git commit", then git svn dcommit 18:44
chromatic: i think
chromatic Create a topic branch, you mean check out my own local branch with --remote?
dukeleto chromatic: git checkout -b my_topic_branch svn/cs_csr_merge 18:45
chromatic: that creates a local tracking branch for your svn branch
chromatic fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'svn/cs_csr_merge' which can not be resolved as commit?
dukeleto chromatic: can you nopaste your .git/config ? 18:46
chromatic: did you do a "git fetch" ?
nopaste "chromatic" at 72.87.39.97 pasted ".git/config for dukeleto" (24 lines) at nopaste.snit.ch/18964
chromatic I did git svn fetch. 18:47
dukeleto chromatic: can you also nopaste "git branch -a" ?
chromatic remotes/cs_csr_merge
dukeleto chromatic: which version of git are you using?
chromatic That looks the most relevant.
dukeleto chromatic: yes, that does
chromatic 1.6.3.3 18:48
dukeleto chromatic: ok, that is recent and good. 1.6.x has much better git-svn support than 1.5.x
chromatic: did you use the "-s" option when cloning this repo? 18:49
chromatic No idea.
If I git co -b cs_csr_merge_local remotes/cs_csr_merge everything appears to work correctly.
dukeleto chromatic: sweet. 18:50
chromatic: now you should be able to do "git merge master"
chromatic I'm going to build and test first.
Should I merge or rebase?
tewk dukeleto, I know about rebase -i, so what is the workflow where you squash instead of rebase?
dukeleto chromatic: good question 18:51
purl Yeah, it is. I'm stumped.
dukeleto tewk: you replace the first character of commits in "git rebase -i" with "s" and it "squashes" them together
tewk: the practice of taking a topic branch and then "squashing" it into a single commit is called "squashing your branch" 18:52
tewk: rakudo requires squashed topic branches, for instance
tewk: or at least it used to
tewk Ah I get it, so squash your topic branch before commiting it back to trunk
dukeleto tewk: it makes the history cleaner, and is more in the vein of "historical narrative" as opposed to "this is exactly the things that happened" 18:53
tewk: and it makes bisect a lot faster :)
tewk I usually squash my topic branches into smaller quantity of commits, but not always a single commit, I should probably make more topic branches. 18:54
dukeleto tewk: yes, one can never have enough topic branches. until you get too many. and making topic branches off of topic branches off of topics branches .... is evil. 18:56
but git is more than happy to let you do it
chromatic: i think you should try rebase first, and if that doesn't work, then dry merge 18:57
chromatic What's the rebase syntax? 18:58
dukeleto chromatic: git rebase foo 19:02
chromatic warning: squelched 580 whitespace errors 19:03
warning: 585 lines applied after fixing whitespace errors.
Yick.
dukeleto yowzers
chromatic Is there a cheap and easy syntax to say "I know there are conflicts, so prefer the master version and don't make me edit files"?
# unmerged: ext/nqp-rx/src/stage0/HLL-s0.pir 19:04
# unmerged: ext/nqp-rx/src/stage0/NQP-s0.pir
# unmerged: ext/nqp-rx/src/stage0/P6Regex-s0.pir
# unmerged: runtime/parrot/library/distutils.pir
# unmerged: t/native_pbc/testdata/number.pasm
# unmerged: t/native_pbc/testdata/string.pasm
dukeleto chromatic: yes, i think
chromatic: stackoverflow.com/questions/173919/...bout-their 19:05
chromatic git co --theirs files 19:07
Nice.
dukeleto chromatic: yep. very very nice 19:08
chromatic: i think --theirs was removed tho? 19:09
chromatic: you have to turn yourself around and use --ours
chromatic: since you can merge more than one branch at a time, --theirs is ambiguous
chromatic: but --ours is not
19:23 particle joined
chromatic Let's see what this did. 19:28
Coke svn st --noignore == git ... ? 19:29
chromatic status 19:30
purl Since Mon Nov 30 12:25:09 2009, there have been 1131 modifications and 504 questions. I have been awake for 4 days, 7 hours, 3 minutes, 42 seconds this session, and currently reference 814332 factoids. Addressing is in optional mode.
Coke chromatic: yes, but git status respects gitignore. 19:31
chromatic Oh, I see what you're asking.
pmichaud maybe just temporarily rename .gitignore to something else? ;-) 19:33
chromatic Hm, a 16.031% performance improvement on fib.pir.
19:34 Andy joined
chromatic Hm, but where did my merge go on master and why can't I commit it to SVN trunk? 19:35
dalek rrot: r42890 | chromatic++ | branches/cs_csr_merge (9 files):
Merged branch 'master' into cs_csr_merge_local.
19:38
chromatic dukeleto, I lost the merge commit somewhere. 19:42
Coke pmichaud: renamed from pmtcl to partcl, per your ok. =-) 19:45
pmichaud Coke: +1 19:46
purl 1
pmichaud I said "Coke:", not "purl:", you stupid bot.
Coke bad idea. 19:47
good idea?
purl Coke: Good Idea: Stopping to smell the roses. Bad Idea: Stopping to feel the roses.
dalek rtcl-nqp: 3057092 | (Will Coleda)++ | build/Makefile.in:
have realclean delete the gen'd PBC and executable
19:48
rtcl-nqp: e9f0876 | (Will Coleda)++ | (23 files):
Rename from PmTcl to Partcl
19:50 particle joined
nopaste "coke" at 72.228.52.192 pasted "minimal test case for lexical $body not found (pmichaud++)" (1 line) at nopaste.snit.ch/18966 19:51
Coke I'm not sure why [catch] isn't catching that particular type of error.
pmichaud Coke: I'm thinking it's an inferior runloop problem, but will verify a bit later.
19:54 bacek joined
dalek rrot: r42891 | chromatic++ | trunk (14 files):
Merged branch 'cs_csr_merge' into master.
19:55
Coke chromatic: did you fix it or apply that by hand? 19:56
chromatic I fixed it.
19:58 hercynium joined
dukeleto chromatic: what now? 19:59
purl The chalice contains human blood cursed in Death's name. The hooded figure kneeling beside you passes it to you and you have to drink. LOSE 3 HIT POINTS.
dukeleto chromatic: git reflog is your friend
chromatic I figured it out, r42891 is the commit.
Somehow I put master into a state where it thought I'd already committed the merge to SVN. 20:00
dukeleto chromatic: git svn find-rev sha1
chromatic: that sounds fun
chromatic: looks like you merged master into cs_csr_merge 20:01
chromatic Yes, then I merged back.
dukeleto chromatic: ah, i see
Coke pmichaud: added a hopefully minor expression tweak to the todo. if it were not relating to the expression stuff, I probably could have added a panic confidently. 20:02
dukeleto chromatic: so did we get a 5% performance increase after the new merge? or was that only in the branch? 20:04
chromatic Looks closer to 7%. 20:05
dukeleto chromatic: that is what i like to hear!
dalek rtcl-nqp: 1599555 | (Will Coleda)++ | TODO:
add to the pile
20:06
pmichaud Coke: seems to me like empty expression could be caught in the expr() sub. 20:07
(that feels like the logical place for it, anyway)
19:51 <Coke> I'm not sure why [catch] isn't catching that particular type of error. 20:08
I think that [catch] *is* catching the error. What is failing is when we're exiting the inferior runloop that develops.
anyway, I'll check it more closely a bit later. Need to write an article now, and pick up kid in 30 mins :-| 20:09
20:11 joeri joined
dalek rrot: r42892 | mikehh++ | trunk/tools/dev/create_language.pl:
fix codetest failure - trailing spaces
20:12
nopaste "pmichaud" at 66.25.4.52 pasted "lexical $body not found occurs on exit (for Coke++)" (7 lines) at nopaste.snit.ch/18967
Coke (on exit) yes. 20:13
OH.
we already worked around something like this for partcl, methinks.
20:14 integral joined
Coke grumbles as chromatic broke bytecode compat. 20:14
(rebuilding partcl-nqp...)
um. 20:15
I can't build partcl-nqp after doing an svnup/install on parrot.
mikehh All tests PASS (pre/post-config, smoke (#30587), fulltest) at r42892 - Ubuntu 9.10 amd64 (gcc with --optimize)
nopaste "coke" at 72.228.52.192 pasted "??" (16 lines) at nopaste.snit.ch/18968 20:16
pmichaud make realclean, perhaps? I'm guessing a missing dependency.
oh, you did that. 20:17
oh, I mean "make realclean" in Parrot.
Coke always.
pmichaud I dunno then.
afk for a bit.
Coke wonder if it is related to the parrot-nqp
do we not have any parrot-nqp tests in core? 20:18
chromatic: try "./parrot-nqp" in your build dir.
pmichaud I think the tests are there but haven't been linked into the "make test" target.
(and they might need some updating from the nqp-rx repo) 20:19
chromatic No love in ./parrot-nqp
Coke do you get the "this parrot..."
?
chromatic PackFile_unpack: This Parrot cannot read bytecode files with version 5.3. 20:21
Coke make: *** No rule to make target `runtime/parrot/library/nqp-rx.pbc'. Stop.
(that's not good.)
(ah, it's copied over implicitly. blah.) 20:22
chromatic cd ext/nqp-rx/
make clean; make
Coke yah. 20:23
at a minimum, need to hook that into root 'make clean'
will do that.
``fixed'' 20:27
darbelo fperrad: ping
dalek rrot: r42893 | coke++ | trunk/config/gen/makefiles/root.in:
"make clean" should clean ext/nqp-rx

  'make realclean && perl Configure.pl && make' cycle. (Esp. important
when parrot's bytecode compatibility changes.)
20:29
darbelo Coke: Can't we make all pbcs depend on PBC_COMPAT with a suffix rule? 20:30
Coke darbelo: no. 20:31
because suffix rules don't work with explicit rules.
(we can catch some, but not all.)
(and in this case, there is no rule in Makefile to make the pbcs that weren't remade.) 20:32
see also my ticket about cleaning up make. :|
chromatic++ # building partcl-nqp now.
darbelo Ah, yes. I like make som much I'm migrating decnum-dynpmcs to distutils. 20:33
Coke pmichaud: HA IZ FIXED IT!
darbelo fperrad++ btw
bacek Good morning 20:34
cotto_work hi bacek
clock?
purl cotto_work: LAX: Fri 12:34pm PST / CHI: Fri 2:34pm CST / NYC: Fri 3:34pm EST / LON: Fri 8:34pm GMT / BER: Fri 9:34pm CET / IND: Sat 2:04am IST / TOK: Sat 5:34am JST / SYD: Sat 7:34am EST /
bacek aloha cotto_work
darbelo Oh, It's saturday over there. What's the future like bacek? 20:35
Coke pmichaud++ 20:36
notfound++
bacek darbelo, you'll dislike it. It's little bit of hangover...
O! cs_csr_merge was merged back. Good! 20:38
dukeleto bacek: yep! 20:39
bacek: 7% perforamce boost, roughly, according to chromatic
cotto_work and fulltest is happy
20:39 bluescreen joined
bacek dukeleto, I did expect it :) 20:39
dalek rtcl-nqp: 14329c2 | (Will Coleda)++ | (3 files):
Exit parrot via an explicit 'exit' operation.

of the code was already complete. pmichaud++ for diagnosing it as an IRP, and NotFound++ for the original fix (used on partcl months ago.)
20:40
20:40 fperrad joined
dukeleto chromatic: the 7% was on fib.pir ? 20:43
chromatic Yes. 20:44
Are you running benchmarks?
dukeleto chromatic: i will do so. i just got access to an 8-core machine :) 20:45
dalek rtcl-nqp: b1c7707 | (Will Coleda)++ | (2 files):
empty expression should error.
20:46
Coke pmichaud: [regex {[0-9]+} 123434] would get us one more test file. 20:56
dalek rtcl-nqp: dd50a36 | (Will Coleda)++ | TODO:
Be more specific, only this one part of regex is blocking [time]'s test.
20:57
cotto_work pmichaud, ping 21:01
dalek rrot: r42894 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
[distutils] minor refactor, add some TT references
bacek btw, can someone remove cs_csr_merge branch from svn? 21:02
Coke sure. 21:03
pmichaud 20:40 <dalek> partcl-nqp: Exit parrot via an explicit 'exit' operation. 21:04
20:40 <dalek> partcl-nqp: This resolves the issue with the inferior runloop firing off after the rest
darbelo bacek: done
bacek darbelo, thanks
darbelo r42895
Coke darbelo: ... you beat me. danke.
pmichaud note that "exit" simply resolves the cleanup issue with inferior runloops, it doesn't eliminate the inferior runloops in the first place (which is also a problem)
cotto_work: pong
cotto_work pmichaud, I'm thinking about writing a pure-pir benchmark that creates a toy compiler for a language and runs a short script in that language as a way to get a more representative benchmark than fib.pir.
Coke pmichaud: yes. but fixing the inferior runloops themselves is completely out of scope for a HLL. =-) 21:05
cotto_work What features should such a language include to make it a tolerable representation of a real HLL?
pmichaud cotto_work: why not just use the output of fib.nqp ?
21:05 simcop2387 joined
pmichaud that is, the .pir file generated from fib.nqp 21:05
chromatic Hm, can we merge RetCont and Context easily?
bacek chromatic, hmm... May be 21:07
pmichaud ...are there many retconts, ooc? (more)
tewk everytime a sub returns there is a retcont right? 21:08
chromatic Unless a continuation gets passed in.
pmichaud src/pmc/sub.pmc:408 makes me believe there aren't.
dalek rtcl-nqp: b8e869c | (Will Coleda)++ | TODO:
add to the pile
cotto_work I'd also like to test compilation time, but I guess nqp would be sufficient for that.
pmichaud tewk: every time a sub returns that isn't an outer lexical context, maybe. 21:09
cotto_work: yeah, nqp itself is a good benchmark. That's why I suggested compiling src/NQP/Actions.pm as a reasonable profiling candidate for compilation time
in the case of fib.nqp, it compiles pretty quickly (fsvo "quickly") 21:10
cotto_work less than a second is quick enough to not cause much pain
tewk pmichaud, right. every hll function return typically creates a RetCont, every scope { } wont.
pmichaud tewk: huh?
tewk: you lost me there.
tewk forget it, sub is a super overloaded term, I'm rusty on parrot iternals anyway. 21:12
purl tewk, I didn't have anything matching it, sub is a super overloaded term, i'm rusty on parrot iternals .
pmichaud tewk: essentially, afaict the only hll constructs that end up with retconts are those that do not have a nested lexical scope.
dukeleto cotto_work: that benchmark would interest me as well
tewk pmichaud, that was what I was trying to say. 21:13
Sub is an oughful name, we should rename that thing to be lexical scope.
pmichaud tewk: okay. :-) But certainly a hll "subroutine" would still end up with continuations instead of retconts if that subroutine had any nested lexical blocks.
"Block" is a better name in some respects, yes. Or the Perl 6 version, which is "Code". 21:15
tewk CodeBlock 21:16
purl CodeBlock is, like, experimental, but it's the right solution in this case I think
dalek rrot: r42895 | darbelo++ | branches/cs_csr_merge:
Branch has been merged into trunk and is no longer needed.
21:18
moritz since the merge rakdo fails to build for me 21:37
PackFile_unpack: This Parrot cannot read bytecode files with version 5.3.
Parrot VM: Can't unpack packfile /home/moritz/rakudo/parrot_install/lib/1.8.0-devel/library/Regex.pbc.
darbelo The last branch merge invalidated the bytecode. Somebody should bump PBC_COMPAT 21:39
moritz after a git-clean -xdf it worked again 21:40
so I guess that realclean didn't clean Regex.pbc - could that be possible?
darbelo *Everything* is possible.
moritz indeed 21:41
$ make realclean
$ find -name Regex.pbc
./runtime/parrot/library/Regex.pbc
how can I fix that?
dukeleto moritz: hmmm
moritz P6regex.pbc is in MANIFEST.generated, but Regex.pbc isn't 21:43
Tene darbelo: PBC_COMPAT was bumped.
dukeleto moritz: no, Regex.pbc is in there
darbelo moritz: add it to whatever $(RM_RF) $(LOTSA_FILES) lines strikes you as most appropiate in the makefile template.
moritz oh right
dukeleto MANIFEST.generated 21:44
175:runtime/parrot/library/P6Regex.pbc [main]
196:runtime/parrot/library/Regex.pbc [main]
purl MANIFEST.generated is wrong.
moritz where is the makefile template?
moritz didn't touch the bird in a very long time
darbelo config/gen/makefiles/*.in
It's one of those. I'd guess roo.in, but Ive been wrong before. 21:45
erm, root.in
Coke moritz: I just fixed this.
moritz would have guess nqp-rx.in
Coke re up, re-realclean, and try again.
moritz Coke++ 21:46
Coke (like, a hour ago)
darbelo moritz: Or... Wait for Coke++ to do it.
Coke well, ``fixed'', anyway.
15:29 <+dalek> parrot: r42893 | coke++ | trunk/config/gen/makefiles/root.in:
moritz Coke: my 'svn up' only updated tools/dev/mk_language_shell.pl
Coke sorry: 21:47
darbelo Tene: Indeed, it has. I missed that commit.
Coke up; Configure; realclean ; configure; buld
you need to regenerate the makefile before you realclean.
(otherwise you're using the old clean rule)
moritz tries agian
after a reconfigure, compile and realclean there's still a ./runtime/parrot/library/Regex.pbc 21:50
cotto_work cla? 21:51
purl cla is probably Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf or www.lowcarbfriends.com/bbs/main-low...-acne.html
moritz after the rebuild there are two
dalek rrot: r42896 | fperrad++ | trunk/tools/dev/mk_language_shell.pl:
[languages] remove Configure.pir/Makefile.in,
moritz and npq-rx's clean target removes only one of them
dukeleto make nucularcleanliness
nopaste "moritz" at 87.176.80.219 pasted "git status after realclean" (13 lines) at nopaste.snit.ch/18970 21:52
cotto_work What's at the address on the PaFo CLA? 21:53
moritz is somebody going to fix that real soon, or would you prefer me to open a ticket?
Coke moritz: checking... 21:56
moritz: where is Regex.pbc after a realclean?
moritz runtime/parrot/library/Regex.pbc
Coke ah. I cleaned the ones in ext/nqp-rx 21:57
moritz Coke: nopaste.snit.ch/18970 contains the list of files that are not deleted
Coke is this causing breakage after a realclean?
or just annoying? (those should be rewritten after a realclean/make as they are copied in
darbelo cotto_work: A parrot-shaped building, it's doors flanked by statues of menacing giant keas?
moritz it caused one after the branch merge
Coke moritz: that error was fixed, as long as you realclean with the new makefile. 21:58
(i agree, this is still a bug, though.)
moritz creates a ticket, just in case 21:59
and for karma whoring
cotto_work remembers that Google Maps has street view
Coke moritz: Iz fixing it now. 22:00
dukeleto moritz++ for fixing stuff 22:01
Coke moritz: fixed 22:03
dalek TT #1358 created by moritz++: 'make realclean' doesn't clean some nqp-rx files 22:04
rrot: r42897 | coke++ | trunk/config/gen/makefiles/root.in:
When cleaning up nqp-rx, be more thorough.
22:07
22:12 bacek joined
dukeleto pours bacek a scotch and a beer 22:13
darbelo All hair of the dog... 22:14
22:20 Whiteknight joined
Coke moritz: can you confirm/close TT#1358? 22:21
(r42897 should fix it)
dalek cnum-dynpmcs: r190 | darbelo++ | trunk/ (29 files):
Move to a new distutils.pir-based build infrastructure.

setup.pir file.
22:35
cotto_work what's the relationship between distutils and plumage? 22:36
japhb cotto_work, plumage can work with a number of different systems for doing the work, (more)
darbelo distutils can generate plumage metadata with just one command, and plumage can build distutils-powered projects. 22:37
japhb such as make, distutils, NQP tools, etc. (more)
distutils is one (very cool) way to do the build and install work.
darbelo They play nice to each other, so to speak. But there are no 'official' links between them. 22:38
japhb Also, plumage needs to handle things that distutils can't, since distutils is used from within the project --
plumage does fetching, metadata searching, dependency resolution, etc.
So -- consider distutils a layer underneath plumage.
cotto_work ok 22:39
japhb And beginning to look like the one we will recommend people use unless they have a good reason not to.
cotto_work thanks for explaining
japhb cotto_work, no problem./
I'm starting to work at documenting plumage, that's probably a good FAQ to answer.
darbelo Also, if you mention 'migrating to distutils' when fperrad can hear you, you'll probably be recieveing a setup.pir in the mail real soon ;) 22:40
japhb It's like that old Perl quote about the automatic shell/awk-to-perl translator: "Filter it through tomc" 22:41
darbelo "Here, I did all the work for you" is a damm compelling argument for migration. 22:43
Whiteknight segfault on t/op/annotate.t
Linux amd64 22:44
cotto_work Whiteknight, just running it with prove? 22:45
Whiteknight cotto_work: running it directly "./parrot t/op/annotate.t"
and running it through "make coretest"
22:47 payload joined
darbelo Infinoid wanted a multi-line plumage commit message, right? 22:47
cotto_work definitely not broken on my x64 box
japhb darbelo, well, a multi-line commit to any Gitorious feed that dalek follows, but right now parrot-plumage may be the only one of those 22:48
darbelo Even if he didn't, he's got one now ;)
japhb heh
darbelo goes afk for a bit
dalek rrot-plumage: de0b7a1 | darbelo++ | metadata/decnum-dynpmcs.json:
Update the decnum-dynpmcs metadata, courtesy of distutils.pir
22:49
cotto_work same result with --optimize and without 22:50
darbelo Infinoid++ # It works! 22:53
japhb Ooh, looks like the new commit message parsing is much better, plus finding the filename. Now we have to see if it properly handles multiple files at once ....
Infinoid++ # Thanks!
darbelo IIRC geting that data out of gitorious required scraping html, as it wasn't available in the feed. 22:56
Which is why I never did it. Well, that and lazyness. 22:57
japhb Yeah, ditto. 22:58
japhb finally manages to pop his task stack back to 24 hours ago 22:59
darbelo looks for something to push into japhb's stack
japhb pmichaud, did you get the infrastructure set up in NQP-rx so I can start moving Glue and Util functions there? 23:00
darbelo, current TOS is Plumage ... do you really want to cover that up? ;-)
dalek nxed: r238 | julian.notfound++ | trunk/Makefile:
one more stage 1 test
cotto_work Whiteknight, MOM would be a good abbreviation for MockObjectManager 23:01
darbelo starts making jokes about Whiteknight's MOM ;)
japhb "darbelo tried to get with Whiteknight's MOM, but she just mocked his object ..." 23:05
Augh. Writing code that is portable by design, rather than extensive hackishness, is HARD. 23:06
cotto_work The practically puns write themselves, which is good because I'm not sure I should write any of them. 23:09
s/practically puns/puns practically/
japhb msg fperrad 'parrot setup.pir test' is reporting exit code 0 even when tests fail; this causes Plumage to continue installation always, even without --ignore_fail 23:38
purl Message for fperrad stored.
Infinoid darbelo: the .patch formatted version is a lot easier to scrape than the html version 23:40
(yes, I'm slow) 23:41
darbelo Infinoid: I was looking at the code and you are right, the .patch is way easier. But if I ever knew it was there, I've forgotten all about it ;) 23:42
Infinoid I can probably remove some of the older feed parsing stuff; at this point all I really need from it is the commit link 23:43
Whiteknight false alarm on the t/op/annotate.t failure. I had an installed parrot conflicting with my build directory 23:52