Camelia, the Perl 6 bug

IRC log for #parrot, 2009-10-01

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 allison darbelo: (we may not use those changes, but need to review first)
00:00 darbelo ok.
00:00 allison darbelo: I can review them tomorrow
00:00 cotto_work so many branches
00:01 darbelo No hurry, but we've had at leat one person confused by the multitude of brances.
00:02 cconstantine jrtayloriv: yeah: http://github.com/cconstantine/Reason/
00:02 cconstantine jrtayloriv: nothing for macro stuff is done though
00:02 darbelo People calling it "the pcc branch" isn't helping either. But "svn rm" is easier than using proper names in conversation :)
00:02 dalek parrot: r41585 | darbelo++ | branches/pcc_arg_unify:
00:02 dalek parrot: Remove branch, all changes have been extracte and applied to a new branch.
00:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41585/
00:04 jrtayloriv cconstantine, Thanks -- I'm taking a break from my compiler for a few days to try to gain a deeper understanding of Scheme, but I'll definitely watch what you're up to get ideas.
00:04 cconstantine jrtayloriv: my goal is to get the ast in cons cells, and compile the cons cell tree
00:04 darbelo While I'm here...
00:04 cconstantine jrtayloriv: once I get that working I'll figure out how to get macros to expand at compile time
00:05 darbelo msg bacek What's the status of the pmc_i_ops branch? Stalled? Mergeable? Killable?
00:05 purl Message for bacek stored.
00:08 * cotto_work is happy because he just got Synergy working with Windows as the server.
00:09 darbelo Synergy?
00:09 purl Synergy is, like, a way to use one keyboard and mouse with many computers or http://synergy2.sourceforge.net/ or a utility for iTunes that adds global keyboard bindings to iTunes actions or http://synergy.wincent.org or a great way to utilize value-adding enterprise ventures for efficiency-maximizing
00:09 cotto_work It's pretty sweet when using more than one machine in the same room.
00:10 * darbelo has one machine, and almost no room.
00:11 cotto_work yeah.  It's not so useful if you're just hacking away on a single machine.
00:16 darbelo I'm considering getting an extra machine, but I should probably invest in more room first.
00:16 cconstantine cotto_work: synergy is so nice :)  I use it at work everyday
00:17 cotto_work synergy++
00:17 cotto_work <3
00:17 cotto_work karma synergy
00:17 purl synergy has karma of 20
00:20 cconstantine synergy, remote X, RDC... I barely ever use a computer directly anymore
00:25 bacek_at_work darbelo: pmc_i_ops waiting for Architect's approval...
00:27 darbelo bacek_at_work: for 4 months? I'd ping her about it again after PCC lands.
00:35 jhelwig joined #parrot
00:38 darbelo who's rblasch?
00:40 Tene purl msg whiteknight the "working on pcc refactors" link in your latest blog post is broken.
00:40 purl Message for whiteknight stored.
00:40 darbelo We have a branch from 9 months ago with his name on it.
00:40 jsut joined #parrot
00:41 rhr joined #parrot
00:42 payload joined #parrot
00:43 mikehh joined #parrot
00:52 mikehh All tests PASS (pre/post-config, smoke (#28411), fulltest) at r41585 - Ubuntu 9.04 i386
00:52 rhr joined #parrot
01:03 Whiteknight joined #parrot
01:03 cotto_work good evening, Whiteknight
01:03 Whiteknight good evening again, cotto_work
01:04 darbelo Those must be some long evenings you have down there.
01:06 Whiteknight I started saying "good evening" around 6pm
01:06 Whiteknight Tene: ping
01:08 rhr joined #parrot
01:09 nopaste "darbelo" at 200.49.154.173 pasted "PCC branch miniparrot dies with this bt." (18 lines) at http://nopaste.snit.ch/18154
01:09 darbelo Whiteknight: does http://nopaste.snit.ch/18154 look like the error you were chasing?
01:09 Tene Whiteknight: pong
01:11 Whiteknight Tene: that link on my blog isn't broken
01:11 Whiteknight darbelo: yep, that's the one
01:11 Whiteknight ctx->call_signature or whatever isn't being initialized
01:12 Tene Whiteknight: it just links to https://trac.parrot.org/parrot/wiki
01:12 Whiteknight If you set that field to PMCNULL in src/call/context.c:init_context(), you'll get a Null PMC access error there
01:12 Whiteknight Tene: yeah, that's the page where chromatic wrote info about the hackahon
01:13 Tene Ah.  It's not very... prominent.  Maybe it needs its own page.
01:13 Tene Whiteknight: Okay, I get it now.  Thanks.
01:13 Whiteknight ok
01:14 Whiteknight I would very much like focused hackathons to become a regular (weekly?) thing
01:14 Whiteknight and then yes, we will want to have a page to say what the weekly time and focus is
01:14 dukeleto Whiteknight++
01:15 Tene +1
01:15 purl 1
01:15 darbelo +Inf
01:16 Whiteknight yay! immeasurable support
01:16 cotto_work I'm having a hard time disagreeing with that.  Good idea there.
01:17 kid51 joined #parrot
01:17 dukeleto it would make our weekly goals more attainable
01:19 cotto_work and a nice thing about having it weekly is that it's not as big a deal if you're busy one week
01:19 cotto_work Whiteknight++
01:20 Whiteknight if karma was money, I'd be freaking rich
01:21 Tene depends on the exchange rate.
01:21 * cotto_work gives Whiteknight Canadian karma
01:21 darbelo karma Whiteknight
01:21 purl whiteknight has karma of 1324
01:21 Tene karma tene
01:21 purl tene has karma of 533
01:21 Whiteknight (would be nice if that was $$)
01:21 dukeleto karma dukeleto
01:21 purl dukeleto has karma of 221
01:22 * dukeleto starts thinking about a karma-USD hedge fund
01:22 darbelo karma me
01:22 purl darbelo has karma of 350
01:22 cotto_work dukeleto, I'll give you +1 karma for every dollar you send me.
01:22 dukeleto cotto_work: hmmmmmmmmm
01:23 darbelo I have a better exchange rate, +3.8 karma on every dollar.
01:23 * dukeleto starts integrating over the cost horizon in his head
01:23 cotto_work That's assuming you can turn karma back into money. ;)
01:24 cotto_work I never said anything about that.
01:25 rhr joined #parrot
01:28 dalek tracwiki: v103 | jkeenan++ | WikiStart
01:28 dalek tracwiki: Add section for weekly focus and sub-section for weekly hackathon
01:28 dalek tracwiki: https://trac.parrot.org/parrot/wiki/W​ikiStart?version=103&amp;action=diff
01:28 shorten dalek's url is at http://xrl.us/bfpjhi
01:29 dalek parrot: r41586 | jkeenan++ | branches/pcc_reapply (3 files):
01:29 dalek parrot: Make files conform to linelength and trailingspace coding standards.
01:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41586/
01:30 nopaste "kid51" at 70.85.31.226 pasted "Remaining codingstd failures in pcc_reapply branch." (25 lines) at http://nopaste.snit.ch/18155
01:36 mikehh partcl r752 builds on parrot r41585 - make test PASS (smolder #28414) - ubuntu 9.04 i386
01:38 Whiteknight codestd failures are really the lowest priority thing on that branch right now
01:39 Hunger joined #parrot
01:42 darbelo Every bit helps.
01:44 Whiteknight this is true
01:44 jdv79 does the new pcc stuff work yet?  any metrics off it yet?
01:44 Whiteknight and that branch needs every bit
01:44 Whiteknight jdv79: no
01:44 Whiteknight we're having a hackathon for it on Saturday
01:46 cconstantine in HLLCompiler::compile the call to stagename has a :flat and :named in the arglist... what does that do?
01:47 Whiteknight :flat flattens out an array into a list of individual arguments
01:48 Whiteknight so you pass one array, and the function receives a list of all the argumets separately
01:48 Whiteknight :named lets you specify a name for the argument, like a key in a hash
01:48 darbelo Hm.
01:48 darbelo src/nci.c:4572: warning: passing arg 1 of pointer to function from incompatible pointer type
01:48 darbelo src/nci.c:5172: warning: passing arg 1 of pointer to function from incompatible pointer type
01:48 darbelo src/nci.c:5730: warning: passing arg 3 of pointer to function from incompatible pointer type
01:48 darbelo That wasn't there on trunk.
01:50 Whiteknight urg
01:51 darbelo Yeah, and I would sugest that x86 users build with --buildframes=0 for the time being.
01:52 darbelo I don't want to know what happens when you mix PCC and the old JIT.
01:52 mikehh rakudo (ffe6481) builds on parrot r41585 - make test / make spectest_smolder (up to r28520 -> #28) PASS - Ubuntu 9.04 i386
01:52 mikehh rakudo - t/spec/S32-num/log.rakudo - TODO passed:   21, 23, 27-28, 30
01:53 mikehh rakudo smolder #28416
01:53 cconstantine Whiteknight: ok, I understand :flat... but how does :named work in a caller like that?  Does it turn the flattened list into a dictionary of key,value,key,value, etc?
01:53 Whiteknight sort of, no
01:54 cconstantine ehhe
01:54 cotto hio
01:54 Whiteknight When I call the function, I do 'foo'("name" => value)
01:54 Whiteknight then inside foo, I do: .param pmc value :named("name")
01:54 cconstantine that's fora  named param...
01:54 Whiteknight wait, what are you talking about?
01:57 cconstantine https://trac.parrot.org/parrot/browser/trunk​/compilers/pct/src/PCT/HLLCompiler.pir#L304
01:57 shorten cconstantine's url is at http://xrl.us/bfpjn8
01:57 Whiteknight Oh, okay
01:58 Whiteknight adverbs is a hash
01:58 Whiteknight so it flattens out as an array of name/value pairs
01:58 cconstantine by hash you mean hashtable/dict?
01:58 Whiteknight yeah. Parrot calls them Hashes like Perl5 did
01:58 darbelo msg Coke Is partcl (c) TPF or (c) PaFo? Docs say TPF, but I was under the impression it was PaFo.
01:58 purl Message for coke stored.
01:58 cconstantine ok
01:59 Whiteknight see src/pmc/hash.pmc and src/hash.c
01:59 cconstantine sorry, I have a security brain.. hashes mean something else to me
01:59 rhr joined #parrot
01:59 Whiteknight ah, okay
01:59 cconstantine md5 is a has, sha1 is a hash.... :)
01:59 Whiteknight well it's the same kind of concept, we take a hash of a large data chunk (string, etc) and use that to key into a structure
02:00 Whiteknight same kinds of algorithm, different purpose
02:00 cconstantine right, hashing is a part of it :)
02:00 darbelo msg Coke If it's TPF I can't have a commit bit, as I only have signed a PaFo CLA.
02:00 purl Message for coke stored.
02:00 cconstantine Whiteknight: awesome, I think I'm kinda sorta almost figuring out this stages thing
02:01 cconstantine night all
02:01 Whiteknight good! A lot of it is just terminology, I'm sure
02:01 Whiteknight good night
02:02 cconstantine yup
02:02 Whiteknight on that note, I'm out of here too. Goodnight
02:03 darbelo left #parrot
02:16 zak_ joined #parrot
02:17 cconstantine_ joined #parrot
02:22 rhr joined #parrot
02:25 zak_ joined #parrot
02:39 zak_ joined #parrot
02:42 rhr joined #parrot
02:46 Hunger joined #parrot
02:47 TiMBuS joined #parrot
02:48 janus joined #parrot
02:56 Zak joined #parrot
03:33 mikehh joined #parrot
03:35 kyle_l5l joined #parrot
03:36 Zak joined #parrot
03:48 mberends joined #parrot
03:55 Coke msg darbelo see: http://code.google.com/p/p​artcl/issues/detail?id=80
03:55 purl Message for darbelo stored.
03:56 Coke (yes, it's pafo)
04:15 zak_ joined #parrot
04:17 darbelo joined #parrot
04:23 Zak joined #parrot
04:34 dalek partcl: r753 | coke++ | wiki/SpecTestStatus.wiki:
04:34 dalek partcl: ... segfault gone.  (huh?)
04:34 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=753
04:38 zak_ joined #parrot
04:45 * darbelo can't sleep
04:45 purl Uh oh!
04:46 Coke darbelo: feel free to fixup the copyright ticket, too. =-)
04:47 darbelo One last clarification.
04:47 darbelo Is partcl Artistic 1 or 2 ?
04:47 Coke I think it copied over 1 when it left the nest. 2 is fine with me if you want to update the docs.
04:48 darbelo Ok. I'll update the docs to PaFo and Artistic 2.0
04:54 Coke darbelo: +1
04:54 purl 1
04:54 Coke darbelo++
04:54 Coke (that can happen in trunk.)
04:54 darbelo Ok.
04:54 Coke (next trick: get darbelo to hack on tcl guts!)
04:55 Zak joined #parrot
04:56 cotto good luck with that one
04:56 cotto btw, what motivated you to pick tcl?
04:57 darbelo It's the language with the least troubles on OpenBSD, seemed like a good candidate for 'first big language' that plumage can fetch-build-install.
04:59 darbelo 'cept for the can't install bit...
05:00 darbelo I also inherited a big tcl codebase during an internship some years back and I rather liked the language.
05:02 darbelo Wait. Is this a fourth order yak I'm shaving?
05:16 zak_ joined #parrot
05:16 Coke assume a 3-sphere yak.
05:17 dukeleto darbelo: third order nonlinear stochastic yak equation
05:17 Coke zzz
05:18 darbelo dukeleto: Can I use a first order approximation?
05:18 darbelo What? It works for the physicists.
05:23 dukeleto darbelo: as long as you are not close to a singularity
05:23 dukeleto yak singularity is known to be very hard to get off your clothes
05:24 darbelo Nah, I'm nowhere near poland :)
05:32 Zak joined #parrot
05:36 darbelo cla?
05:36 purl cla is, like, Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf
05:40 jrtayloriv cla?
05:40 purl i heard cla was Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf or http://www.lowcarbfriends.com/bbs/mai​n-lowcarb-lobby/223884-cla-acne.html
05:41 darbelo lowcarbfriends.com?
05:44 darbelo google code is not being fast today.
05:46 dalek partcl: r754 | darbelo++ | wiki/SubmissionsGuide.wiki:
05:46 dalek partcl: Updated CLA links to the PaFo. See ticket #80
05:46 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=754
05:46 dalek partcl: r755 | darbelo++ | trunk/ (50 files):
05:46 dalek partcl: Update the files in the repo to add the Parrot Foundation as copyright holder.
05:46 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=755
05:46 darbelo dalek on the other hand is positively speedy tonight.
05:47 jrtayloriv Are there any HLL compilers that have a fully- or even mostly-functional macro system running yet?
05:47 darbelo macro system?
05:48 jrtayloriv Hmmm ... maybe it's only a Scheme/Lisp thing.
05:49 darbelo I don't know of any parrot languages using scheme/lisp macros.
05:49 darbelo Are you going for scheme or lisp style macros?
05:50 jrtayloriv I don't think there are any, I just thought that maybe there might be a non-lisp-like language that had a similar syntax-transformation system.
05:50 jrtayloriv s/similar//
05:51 darbelo Macros without the parenthesis? Sacrilege!
05:52 jrtayloriv Well hey, since Perl 6 can do absolutely everything, I'm probably able to change the syntax at runtime right? ... maybe I'll ask the folks in Perl 6, to see if/how Rakudo does it.
05:54 darbelo jrtayloriv: Yes, but it involves "match object" and grammars. sound familiar?
05:54 darbelo For bonus points expand the 'P' in NQP.
05:56 jrtayloriv OHMYGODDYNOWAYZ! ... is there a word I could grep for in the Specs to learn how to do it? i.e. What's runtime syntax transformation called in Perl 6 speak?
05:56 jrtayloriv Or is that still in the works?
05:57 TimToady not yet implemented for the general case of AST transforms
05:57 TimToady works for specific operators though in existing categories like infix and postfix
05:58 dukeleto would any of my fine parrot-folk like an invitation to the latest and hottest data-silo called Google Wave?
05:58 jrtayloriv TimToady, Has it been determined what it will look like when it is fully implemented?
05:58 darbelo Google Wave?
05:58 purl i guess Google Wave is turning everything into a conversation, but sometimes I don't want to argue with you, dopey
05:59 dukeleto darbelo: wave.google.com
05:59 TimToady jrtayloriv: pretty much, see for instance "Macros" in S06
06:00 jrtayloriv ok, thanks
06:00 darbelo Shiny!
06:02 darbelo dukeleto: hook me up. I have been ensnared by the shiny.
06:04 darbelo purl: me?
06:04 purl i heard darbelo was Daniel Arbelo Arrocha <mailto:arbelo@gmail.com>
06:07 uniejo joined #parrot
06:16 uniejo joined #parrot
06:27 Zak joined #parrot
06:29 dalek partcl: r756 | darbelo++ | trunk/LICENSE:
06:29 dalek partcl: Update LICENSE file with the PaFo copyright data.
06:29 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=756
06:30 darbelo One yak down!
06:39 fperrad joined #parrot
06:43 * darbelo goes in the search for sleeps
06:44 darbelo left #parrot
06:54 barney joined #parrot
07:18 TiMBuS joined #parrot
07:20 AndyA joined #parrot
07:43 dukeleto what would the syntax of a fixedpmcarray slice be in PIR? i see that it has zero test coverage
07:53 bacek_at_work dukeleto: slice $P0, i, j?
08:02 Austin Was there someone here looking for a starting parrot dev task earlier?
08:08 dalek blizkost: acba2b1 | (Duke Leto)++ | Configure.pl:
08:08 dalek blizkost: Give a slightly better error message when Configure.pl can't find the build tool
08:08 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​acba2b1a83e6cd9a25d5bc8602e60ced00043b70
08:08 shorten dalek's url is at http://xrl.us/bfpks2
08:09 dukeleto Austin: yes
08:09 dukeleto bacek_at_work++
08:09 Austin Where did they get sent? Is there a list somewhere?
08:10 dukeleto Austin: the parrot re-education camps. there is a bus every 15 minutes
08:10 Austin That's what I was afraid of.
08:11 dukeleto Austin: i think i helped him and so did 5 other people. i don't think there is a 'list' tho
08:12 Austin Bummer. I was just reminded that Iterators don't support deleting.
08:20 dalek parrot: r41587 | dukeleto++ | trunk/t/pmc (2 files):
08:20 dalek parrot: [t] Convert some exception tests
08:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41587/
08:40 mokurai left #parrot
08:48 einstein joined #parrot
08:55 bacek joined #parrot
09:13 bacek o hai
09:29 dalek parrot: r41588 | bacek++ | branches/pcc_reapply/src/call/context.c:
09:29 dalek parrot: Initialise Context.caller_ctx and current_sig in Parrot_init_context
09:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41588/
09:32 dalek parrot: r41589 | bacek++ | branches/pcc_reapply/src/call/context.c:
09:32 dalek parrot: Initialise caller_sig instead of initialising caller_ctx twice. bacek--
09:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41589/
09:59 masak joined #parrot
10:03 bacek joined #parrot
10:14 Austin Argh! The backups are stealing my mips!
10:15 nopaste joined #parrot
10:17 quek joined #parrot
11:13 dalek rakudo: e38b58a | moritz++ | Test.pm:
11:13 dalek rakudo: [Test.pm] fix todo() for more than one test, masak++
11:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​38b58a3ecf5ebbdfe1528a6ab02f0b883fe0521
11:13 shorten dalek's url is at http://xrl.us/bfpk5a
11:20 einstein is it correct we do not have a wrapper pmc class to store a double?
11:23 einstein is there a reason why there is no double wrapper pmc class?
11:24 moritz einstein: we have $NX registers....
11:25 einstein but via which pmc can i make use of them in pir?
11:27 moritz you don't need a PMC for that
11:27 Austin $N0 = 1.0
11:27 moritz .param num foo
11:27 moritz for example
11:28 einstein and if I would like to store that in a object ?
11:28 Austin .param int radius ; $N0 = 3.14 ; $N0 *= radius ; $N0 *= radius ; .return ($N0)
11:29 moritz $P0 = box $N0
11:29 moritz or is that Rakudo specific?
11:29 moritz hm, don't think it is...
11:30 Austin $P0 = new 'Float' ; $P0 = $N0 ; .return ($P0)
11:30 Austin (Which is what 'box' does. moritz++)
11:34 Austin (And, FYI, FLOATVAL = Parrot_Float = double, at least on my box.)
11:40 einstein ok, so it not possible to store numbers as float values, which I can understand
11:44 particle joined #parrot
11:51 bluescreen joined #parrot
11:52 Austin einstein, what are you talking about?
11:53 preflex joined #parrot
11:53 Austin There is a Float PMC, there is direct register support for using them. You can return them in such a way (Float PMC) that anybody that understands PMCs (e.g., Rakudo) can access them. What more do we need?
11:58 einstein what I mean it not posible to store a floating point value as 4 byte long value, but I can understand that is not possible
11:58 Austin Okay.
11:58 einstein thanks for your help :)
11:59 Austin :)
12:01 whiteknight joined #parrot
12:08 ruoso joined #parrot
12:08 cconstantine joined #parrot
12:15 whiteknight good morning parrot
12:17 * masak squaks happily
12:18 cconstantine coffee
12:23 whiteknight http://panospace.wordpress.com​/2009/10/01/here-we-go-again/
12:23 whiteknight very cool ideas about integration queues and workflow
12:26 Austin Yikes.
12:26 Austin Bad.
12:27 bluescreen joined #parrot
12:27 whiteknight Bad?
12:27 purl Bad is sleep
12:27 whiteknight purl forget Bad
12:27 purl whiteknight: I forgot bad
12:27 Austin He's trying to get "stable trunk" pattern in svn without admitting it.
12:28 whiteknight everybody wants the stable trunk pattern, it's just a matter of process to achieve it
12:28 Austin :)
12:28 whiteknight we do most feature development in branches too, but in a more chaotic way: developers choose when to merge and in no particular order
12:29 Austin Which is unstable trunk. And that's fine - it's a better model.
12:29 Austin (IMO, for open source projects, it's a better model. IMO, for corporate projects, it's a better model. I acknowledge there may be exceptions.)
12:30 Austin So his project now has a three-level tree for delivering changes.
12:31 cconstantine this sounds like a problem that can be solved with more branchs
12:31 Austin I don't know how much automation support he has, but my experience is that even with good support, two-levels tends to break a lot. And that's "operational breakage," not related to svn badness.
12:32 cconstantine I'm mostly joking, but not really.  individual-dev-branches -> dev branch -> trunk, where that last '->' happens automatically by the build system on test success
12:33 Austin cconstantine: Have you read the post?
12:33 cconstantine I started too
12:33 Austin Because that's what he's doing, modulo renaming "dev branch" to "integration"
12:34 dalek partcl: r757 | coke++ | trunk/docs/spectest- (2 files):
12:34 dalek partcl: all recent segfaults fixed.
12:34 dalek partcl: timings look slightly better than the last time we had these tests completing.
12:34 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=757
12:34 cconstantine ah
12:35 Austin But for "enterprise" or "multiplatform" software, that bit about "Tests run on all the $CATEGORY boxes" is hard to get to. Even harder if your testbeds live in the houses of volunteers.
12:35 iblechbot joined #parrot
12:35 cconstantine I agree
12:35 whiteknight Austin: but it's not a bad requirement that branches pass lots of tests on lots of boxes before integrating into trunk
12:35 Austin Before I went to sleep, there was a discussion ongoing with somebody that apparently has a Darwin box. And several of the test guys were slavering over him, because I guess he's got the only Darwin box around, or something.
12:36 whiteknight I do need to get a darwin box. Maybe I could find one second-hand somewhere
12:36 cconstantine at work we have to support our software on a ridiculously wide range of hardware/OS... yet we manage
12:36 Austin So imagine what happens if we mandate that nothing goes to trunk before it clears that Darwin box?
12:36 whiteknight would be better then what we have now, where branches come crashing in without passing basic "supported platforms" tests
12:36 Austin cconstantine: Right. Corporate environments have it easier in that regard - either you *own* the target box, or you don't support it, in general.
12:37 whiteknight and then we start getting either a slew of bug reports or, worse yet, we get no reports until it's far too late
12:37 cconstantine Austin: right, in a sense we're 'cheating' because we can buy our way into all testing environs
12:38 Austin You're not cheating. It's just an a factor of your environment. Hell, if you don't own the box somewhere, who cares about supporting it? And if you care about supporting it, why don't you own one?
12:38 cconstantine whiteknight's right; instability comes from developers and flows out.  It's the project's job to figure out how far out that instability is ok to travel in hopes of not slowing down development
12:39 cconstantine Austin: but if that one darwin box isn't online for 2 weeks becuase it's owner is on vacation... that isn't fair
12:39 Austin It's plenty fair. He deserved that vacation.
12:39 cconstantine s/it's/its
12:39 Austin But it sucks to be on his open source project.
12:39 cconstantine right
12:40 cconstantine one way to solve this is to have another branch between dev and trunk for changelists that are known-passing for some platforms
12:40 whiteknight The details of the method are debatable, but I do think it would be a good idea to have a little bit more structure in the way we handle branches and disruptive branch merges
12:41 whiteknight and Parrot does aim for the "stable trunk", even if we aren't always disciplined to maintain it
12:41 cconstantine I've worked in environments with 'dev' and 'live' stages.  It was nice, but 'dev' almost never worked becuase it relied on a lot of different software to work at the same time
12:41 cconstantine whiteknight: agreed, some structure is good
12:43 Austin And here's the part I really like about the article. The conditions for merge 1 (from developer to integration branch) are: 1. works for me, 2. builds on Win/Lin/Mac, 3. Pass regression.  The conditions for merge 2 (from integration to mainline) are: 1. works for 0 or more testers, 2. builds on Win/Lin/Mac, 3. Pass regression.
12:43 cconstantine not to start a flame-war, but some form of dsvc would help make the merges less-painfull.  Or at least it would localize the pain, and allow the dev doing the merge to pass around the result without touching the shared depot
12:43 Austin In other words, the conditions are the same, but a tester might jump in and say "that doesn't work."
12:44 cconstantine seems reasonable
12:44 Austin Well, no.
12:44 cconstantine no?
12:44 purl Maybe.
12:44 Austin He's blogging about this great thing, that turns out to trivially reduce to the thing he started with.
12:44 cconstantine hehe
12:45 Austin The possible benefit is that they put the "does it work on Win/Lin/Mac" evaluation into someone else's hands.
12:45 cconstantine either way, I really like the idea of automatic tagging/merging into a stable branch based on all tests passing
12:46 cconstantine oh right, and I've made no code changes to parrot, nor do I anticipate doing it in the near future.  Whatever you guys decide on I don't really have a say.  I'm just talking :)
12:46 Austin :) Me too.
12:47 Austin I'm glad whiteknight posted the article. I learn a lot from open source projects. (Generally, much of it is "this doesn't work", but learnin' is learnin'.)
12:48 whiteknight we don't necessarily want automatic merging, at least not at all points during the month
12:48 cconstantine yup
12:48 jsut joined #parrot
12:48 Austin The right answer for parrot is probably one automatic merge.
12:49 Austin If stable-trunk is the target.
12:50 Austin Create a devel branch for unstable commits, take a release candidate fork, and run the tests on all the platforms. Fix that, and when the problems go to zero let the script move the candidate to trunk
12:50 cconstantine I like the automated simply because I'm lazy and simultaniously want to be able to know the latest rev that works
12:51 Austin Or just live with unstable trunk, and point people at the tags. (*<-- I like this way.)
12:51 cconstantine exactly
12:52 cconstantine instead of people tracking HEAD, have them track LATEST_KNOWN_GOOD or some such
12:52 whiteknight I don't like that. Unstable trunk is too much of a moving target
12:52 Austin For whom?
12:52 purl for thee!
12:52 Austin botsnack
12:52 purl thanks Austin :)
12:52 whiteknight keeping it stable throughout is easier then breaking it and then having to fix lots of things at once
12:52 cconstantine idealy LKG would be HEAD most of the time
12:54 uniejo joined #parrot
12:55 cconstantine ok, is work-time.  I have secret dreams of leading an open source project so I'm interested in this topic... but I'm also interested in paying bills :)
13:00 cconstantine joined #parrot
13:01 whiteknight dukeleto: ping
13:03 whiteknight purl msg dukeleto your network chart for leto/parrot on github looks weird. I think github is confused about which branch is your master.
13:03 purl Message for dukeleto stored.
13:04 Austin It's git. There is no master.
13:04 whiteknight there's a tag there that points to a revision and says "master"
13:04 Austin :)
13:05 Austin A fiction, to placate the querulous svn converts.
13:05 whiteknight shit, it don' matta
13:05 Austin Who's the master?
13:05 Austin Sho' nuff!
13:05 Austin What movie was that?
13:06 kj joined #parrot
13:06 Austin The Last Dragon
13:07 Austin Thank you, Google.
13:07 Coke darbelo++
13:07 Coke darbelo++
13:07 Coke darbelo++
13:08 kj_ joined #parrot
13:08 Austin Uh, oh. Coke's on a kharmic frenzy...
13:10 whiteknight whoa there! What did darbelo do that was worth 3 whole karma?
13:12 Coke whiteknight: he closed 2 partcl tickets.
13:12 whiteknight karma doesn't just grow on trees
13:12 purl doesn't just grow on trees has neutral karma
13:12 whiteknight purl is retarded
13:13 Coke retarded is potentially no longer an acceptable insult. Just FYI.
13:13 whiteknight purl purl?
13:13 purl ♬ beat on the bot // beat on the bot // beat on the bot with a baseball bat// oh yeah ♬ or pretty stupid, aren't you or an annoying girl or a non-intuitive answering machine
13:13 whiteknight that's fine, Coke. What should I use instead?
13:15 * PerlJam mildly boggles at the term "acceptable insult"
13:15 whiteknight well, insults are meant to be insulting, but they shouldn't have collateral damage.
13:15 whiteknight so, I want to insult Purl, but don't want other people to be upset by i
13:16 whiteknight so what I need is a better set of words that I can use to RAIN DOWN MY FIERY WRATH UPON THE BOT!
13:16 cconstantine http://davehingsburger.blogspot.co​m/2009/04/new-meaning-for-ot.html
13:16 shorten cconstantine's url is at http://xrl.us/bfpmi2
13:32 quek left #parrot
13:32 bluescreen joined #parrot
13:42 Coke whiteknight: you could just boot her.
13:51 whiteknight boot who?
13:51 purl boot is key. it will inspire a ton of hackers
13:51 whiteknight purl forget boot
13:51 purl whiteknight: I forgot boot
14:03 cghene joined #parrot
14:15 bluescreen joined #parrot
14:21 elmex joined #parrot
14:21 theory joined #parrot
14:26 Psyche^ joined #parrot
14:46 kj joined #parrot
14:47 moritz the pcc refactoring branch stopped building 'make corevm' for me
14:47 moritz ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
14:47 moritz src/call/pcc.c:865: failed assertion 'call_object'
14:49 einstein joined #parrot
14:53 diakopter purl, forget forget
14:53 purl diakopter: I forgot forget
14:55 moritz purl: forget yourself
14:55 purl moritz, I didn't have anything matching yourself
14:56 diakopter purl, forget '
14:56 purl diakopter: I forgot '
14:56 moritz "
14:56 moritz !
14:56 diakopter purl, forget *
14:56 purl diakopter: I forgot *
14:57 diakopter purl, forget ^
14:57 purl diakopter: I forgot ^
14:57 diakopter hm
14:57 diakopter &
14:57 diakopter &?
14:57 purl kill %1 or a sub or a figure 8 with a club foot. or listed in token sigil, should I set a different viviself for that?
14:57 diakopter !?
14:58 Andy joined #parrot
14:58 diakopter hmm. opps
14:58 diakopter oops
14:58 diakopter %?
14:58 purl % is a shortcut for 1,$    $ means end of the file or a hash or "go to matching bracket" in vi or half-ops or +h or a reverse backslash with two abominations or for retards who can't make full-op
14:59 diakopter $?
14:59 purl $ is last exit code. or a scalar or vi's end-of-line command or filled in by system(), ``, and wait/waitpid or , in Haskell, is function application of very low precedence (or fixity as they say)
14:59 diakopter @?
14:59 purl i guess @ is necessary
14:59 diakopter '?
14:59 diakopter "?
14:59 purl i think " is the quote char, not `?
14:59 diakopter )?
14:59 purl diakopter: Unbalanced parentheses (too many ')')
14:59 diakopter (?
14:59 purl Buck up, kiddo! It's not so bad...
14:59 diakopter heh
15:00 diakopter ()?
15:00 purl i think () is a subshell.
15:00 diakopter ())?
15:00 diakopter _?
15:00 purl _ is considered a word character. or a flatworm
15:00 diakopter ha
15:02 diakopter purl, remember ^
15:02 purl diakopter: excuse me?
15:02 diakopter purl, unforget ^
15:02 purl diakopter: what?
15:03 diakopter what?
15:03 diakopter purl, what is what?
15:03 purl diakopter: i don't know
15:03 diakopter purl, who's on first
15:03 purl okay, diakopter.
15:04 whiteknight diakopter: I hear you're going to the LLVM summit
15:06 diakopter yah; TimToady & I are sneaking in.
15:06 whiteknight that's awesome
15:06 * whiteknight is very jealous
15:11 diakopter whiteknight: anything you want us to ask/discuss/insist/demand/rant
15:12 whiteknight diakopter: I've been thinking about that since chromatic mentioned it to me yesterday, but I can't think of any in particular
15:12 whiteknight there's a lot of documentation I still need to pour through, I don't even know yet what I don't know
15:12 diakopter heh
15:12 particle ask who's interested in writing a c wrapper lib for parrot to use the llvm api
15:13 diakopter and there's a lot of documentation that you can't pore through b/c it's not written :P
15:13 whiteknight LLVM has a C API
15:13 whiteknight not nearly as well documented as I would like
15:13 particle ah, well there you go
15:13 diakopter you could model it off llvm-py
15:13 whiteknight more information about the C API would be great, but that's a very nebulous request
15:13 particle ask who wants to document the llvm c api
15:14 whiteknight and then touch your nose to say "not me"
15:14 particle i'll give them a dollar
15:14 whiteknight I've got a whole bag of karma to give out
15:14 diakopter llvm-py covers most of what's accessible from 2.4 I think
15:15 diakopter funny, I was just thinking about working on that today (except for perl5, not parrot)
15:16 whiteknight where do I get a copy of llvm-py?
15:16 diakopter http://code.google.com/p/llvm-py/
15:17 whiteknight well that's easy
15:18 * diakopter asks on oftc#llvm about the updatedness of llvm-py
15:19 dalek parrot: r41590 | pmichaud++ | branches/pct-rx (4 files):
15:19 dalek parrot: [pct-rx]:
15:19 dalek parrot: * Create and initialize cursors and match objects.
15:19 dalek parrot: * Helper method for generating "match a token" regexes.
15:19 dalek parrot: * Add initial code for protoregexes.
15:19 dalek parrot: * Start a test suite.
15:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41590/
15:20 diakopter whiteknight: sabre and crew are on oftc#llvm ...
15:22 diakopter whiteknight: 10:18 < kssreeram> diakopter: the latest svn version of llvm-py works with llvm 2.5.
15:22 diakopter whiteknight: < kssreeram> diakopter: There's a patch available for getting llvm-py working with 2.6 - http://code.google.com/p/llv​m-py/issues/detail?id=25#c0
15:22 diakopter cool
15:24 whiteknight okay, that's probably all that we need: a good code example that works with current LLVM
15:24 diakopter that was my thinking
15:24 whiteknight What I might also like to learn is what are the various optimization stages available, and what the cost/benefit ratio of each is
15:24 whiteknight because we're obviously going to need to figure out which stages to use for -01, -O2, -O3, etc
15:25 moritz -Ofun
15:25 diakopter -Oharder
15:26 whiteknight One of the first things I think I want to do, to get the feet wet, is to write an LLVM-based replacement for pbc_to_exe
15:26 whiteknight so we can create executables from bytecode without having to directly embed the bytecode in an array
15:27 particle we don't *need* /-O\d+/ as an api
15:27 kj joined #parrot
15:27 whiteknight particle: no, that's true. Optimization is inherently a tradeoff system (compile time vs execution performance) and we might want to give users control over that
15:28 particle start with the longnames for the optimization stages
15:28 whiteknight okay, that's cool too
15:28 whiteknight still be nice to know how expensive each one is
15:28 particle if we develop consensus on what's useful and when, then they can be grouped
15:28 particle if the groupings become oft-used, they can be ranked as -O\d
15:32 jsut_ joined #parrot
15:35 diakopter whiteknight: kssreeram recommended using SWIG to generate a Perl extension, modelling it after the ADA bindings, which are in llvm svn
15:35 diakopter Ada I mean.
15:36 diakopter not Americans with Disabilities Act
15:37 whiteknight or the american dental association
15:43 darbelo joined #parrot
15:44 Austin "Without you, we'd be forced to do the unthinkable when we want Chinese food -- drive to a restaurant."
15:44 masak docs/ops/string.pod talks about character classes given by certain integer parameters, but never mention what the mapping between such integers and the different character classes are.
15:45 Austin $PARROT/include/cclass.pasm
15:46 Austin *include = runtime/parrot/include
15:46 masak thanks.
15:46 masak and the definitions of these character classes?
15:47 Austin I think it's the unicode version of what you expect.
15:48 Austin Except maybe space.
15:48 masak sure, but let's say I'm interested in the exact sets of characters.
15:48 Austin Unicode.
15:48 purl hmmm... unicode is almost done. Four sections to go. or http://www.joelonsoftware.​com/articles/Unicode.html or stable or http://www.fileformat.info/i​nfo/unicode/char/search.htm or ⚑☭Ⓐ or the suck or µñíçø∂∑ or ISO/IEC 10646 or http://dev.catalyst.perl.org/new-wiki/getti​ngstarted/tutorialsandhowtos/using_unicode
15:49 masak ...as defined by Parrot, not by the Unicode consortium.
15:49 whiteknight Unicode is the suck. True.
15:51 Austin Well, the source has comments like: 7        /* from http://www.unicode.org/Public/UNIDATA/PropList.txt */
15:51 Austin So yes, as defined by Parrot. But Parrot got their definitions from Unicode.
15:52 Austin src/string/charset/*
15:53 cotto_work joined #parrot
15:57 masak thanks.
15:58 darbelo purl: msg japhb partcl metadata now in the repo. fetch-test works, doesn't install but thet is a partcl issue.
15:58 purl Message for japhb stored.
15:59 moritz do you need to get metadata into the rakudo repo?
16:04 darbelo moritz: for plumage? Not right now. For now we're storing it on the plumage repo.
16:04 moritz ok
16:04 darbelo Of course, if rakudo hackers want to write their own metadata file they are welcome to :)
16:05 darbelo You can store it wherever is most convenient for you, and we'll sync to it.
16:06 japhb darbelo, thanks!
16:08 darbelo japhb: The copyright_holder field refers to the code's owner, right?
16:12 fperrad joined #parrot
16:13 japhb darbelo, yes
16:14 japhb and generated_by is the person or program that created the metadata file
16:14 japhb Right now, it will probably be people, but eventually, tools
16:14 darbelo Cool. Looks like I got it right.
16:18 davidfetter joined #parrot
16:39 fperrad joined #parrot
16:43 dalek parrot: r41591 | pmichaud++ | branches/pct-rx/t/compiler​s/pct/regex/03-symtoken.t:
16:43 dalek parrot: [pct-rx]:  A few more symtoken tests.
16:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41591/
16:44 Tene joined #parrot
16:45 MoC joined #parrot
17:07 Coke darbelo++
17:07 Coke (in case he has more tuits. =-)
17:08 Coke msg mikehh can we close partcl issue # 105 ?
17:08 purl Message for mikehh stored.
17:13 * Coke hates the fact that his ops makefile needs all this boilerplate.
17:23 darbelo Coke: maybe we can fold that into the main makefile.
17:24 * darbelo dislikes recursive make-ing.
17:24 AndyA joined #parrot
17:29 * dukeleto dislikes makefiles
17:30 * darbelo totally agrees.
17:30 Coke darbelo: yes. That would probably solve http://code.google.com/p/p​artcl/issues/detail?id=111, also.
17:30 Coke dukeleto: what's your alternative?
17:30 darbelo Losing portability.
17:31 Coke <shrug> if we rely on perl, we can write our dependencies any way we want to, as long as it renders to a makefile.
17:31 Coke using @slash@ in a makefile is a waste of time, yes?
17:31 whiteknight makefiles really are the worst. Good idea (rule-based builds), but lousy implementation
17:32 darbelo Coke: that's not an alternative to makefiles :)
17:32 jrtayloriv Austin, whiteknight -- saw your conversation earlier -- just want to mention that I now have a darwin box (and ppc64-linux, once I get dual-boot set up) for testing.
17:32 Coke darbelo: sure it is. just like parrot is an alternative to C.
17:32 jrtayloriv anyhow, good marning
17:32 whiteknight jrtayloriv: awesome! I need to get one myself
17:32 whiteknight I've been meaning to
17:33 jrtayloriv So freakin' expensive though ... this one was a freebie, from my partner's parents.
17:38 whiteknight yeah, I have some people I could probably pick up a hand-me-down from
17:41 joeri joined #parrot
17:43 dalek partcl: r758 | darbelo++ | branches/install-partcl:
17:43 dalek partcl: Create a branch to work on partcl installation.
17:43 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=758
17:56 whiteknight github actually had a very nice cheatsheet about Git that I just printed
17:58 mokurai joined #parrot
18:01 dalek partcl: r759 | coke++ | trunk/config/makefiles/root.in:
18:01 dalek partcl: cleanup layout, dependencies, and rules.
18:01 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=759
18:06 dalek partcl: r760 | coke++ | trunk/config/makefiles/root.in:
18:06 dalek partcl: remove redundant rule.
18:06 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=760
18:10 Coke jdv79: ping.
18:16 dalek partcl: r761 | coke++ | trunk/config/makefiles/root.in:
18:16 dalek partcl: fixup realclean - remove tcl checkout, avoid long gone Makefile
18:16 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=761
18:17 Tene joined #parrot
18:23 jhelwig joined #parrot
18:25 darbelo And it all happens *after* I branched.
18:25 * darbelo has horrible timing.
18:26 mberends joined #parrot
18:29 jhelwig joined #parrot
18:30 dalek partcl: r762 | darbelo++ | branches/install-partcl (2 files):
18:30 dalek partcl: Sync branch to latest trunk changes.
18:30 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=762
18:35 bacek joined #parrot
18:38 Coke heh. sorry about that.
18:38 darbelo It's cool. It's all work I won't have to do.
18:40 darbelo An while you are here. We're going to need a subdir in $(LIB_DIR)/languages/ to stash our stuff. What should I name it?
18:40 mokurai joined #parrot
18:40 darbelo partcl or tcl?
18:45 Coke what will rakudo's directory be called?
18:45 darbelo I think "perl6"
18:45 Coke then tcl.
18:46 darbelo ok
18:48 Tene japhb: can you confirm or deny whether plumage aspires to install HLL libs too?
18:50 Tene There are some directories added to the search paths by the load_language opcode.
18:55 darbelo Tene: HLL libs?
18:55 silug joined #parrot
18:56 Tene darbelo: is plumage intended to be an install utility for, say, rakudo?
18:56 jhelwig joined #parrot
18:56 darbelo I'm working on installing partcl, so I'd guess yes :)
18:59 darbelo I always figured a "If it runs on parrot, we can install it approach."
18:59 darbelo Tene: Oh. You meant install stuff *for* rakudo?
19:00 Tene darbelo: yes.
19:00 darbelo Ah. I parsed that as "install rakudo".
19:00 darbelo Nevermind.
19:03 darbelo In the long run I'd expect rakudo to have it's own 'CP6AN' thing, built by the perl6 community.
19:03 dalek parrot: r41592 | allison++ | branches/pcc_reapply/src/call/pcc.c:
19:03 dalek parrot: [pcc] Copy trunk changes to continuation access macro into new branch code.
19:03 dalek parrot: Compare r41039.
19:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41592/
19:16 NotFound Mysql module is now able to be installed by plumage... in a hackish and probably unix-only way
19:16 dalek rakudo: 6c4babd | pmichaud++ | docs/spectest-progress.csv:
19:16 dalek rakudo: spectest-progress.csv update: 436 files, 15956 (71.9% of 22180) pass, 0 fail
19:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​c4babd584e3aa7c0ce4457c73a9596bc0746ebf
19:16 shorten dalek's url is at http://xrl.us/bfpopy
19:17 dalek parrot: r41593 | allison++ | branches/pcc_reapply (2 files):
19:17 dalek parrot: [pcc] Properly handle a null call signature within the parameter assignment
19:17 dalek parrot: code.
19:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41593/
19:20 darbelo NotFound++
19:21 whiteknight joined #parrot
19:33 whoppix joined #parrot
19:39 mikehh pcc_reapply doesn't seg fault but still fails miniparrot
19:40 mikehh -> ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
19:40 mikehh -> too few arguments: 0 passed, 1 expected
19:40 mikehh -> current instr.: 'main' pc 0 (config_lib.pasm:11)
19:40 mikehh -> make: *** [runtime/parrot/include/config.fpmc] Error 1
19:49 cotto_work joined #parrot
19:51 dalek tracwiki: v6 | allison++ | CallingConventionsOverview
19:51 dalek tracwiki: https://trac.parrot.org/parrot/wiki/CallingC​onventionsOverview?version=6&amp;action=diff
19:51 shorten dalek's url is at http://xrl.us/bfpoyi
19:52 allison mikehh: it was a bad merge, try it now
19:54 dalek parrot: r41594 | allison++ | branches/pcc_reapply/src/ops/core.ops:
19:55 Coke allison: can we delete branches pcc_arg_unify_2_0/ ?
19:55 dalek parrot: [pcc] The merge from trunk incorrectly had get_params and set_returns accessing
19:55 dalek parrot: the call signature object in the current context instead of the caller's
19:55 dalek parrot: context.
19:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41594/
19:55 allison Coke: I'm still looking over the diff to make sure we didn't miss anything
19:55 allison Coke: I know whiteknight did some work on that branch
19:56 Coke k. just trying to reduce confusion.
19:57 whiteknight I made one patchset there to try and diagnose an uninitialized context PMC
19:57 whiteknight I can reproduce the change, but it doesn't actively fix anything (turns a segfault into a NULL PMC Access)
19:58 whiteknight purl msg jrtayloriv: I want to, but I don't have any ideas right now. Got any?
19:58 purl Message for jrtayloriv stored.
19:58 cotto_work joined #parrot
19:59 Coke allison: I'll be in leeds and york next week; I'll be sure to wave. =-)
19:59 allison whiteknight: your fix to avoid marking in CPointer is already in the new branch (somehow it wasn't merged in the pcc_arg_unify_2_0 branch)
19:59 whiteknight okay, then I had two changes
20:00 whiteknight the other was to initialize ctx->current_sig to PMCNULL in src/call/context.c:init_context
20:00 allison whiteknight: I don't see that commit on the pcc_arg_unify_2_0 branch
20:00 whiteknight well maybe in my tired stupor I didn't commit it
20:00 whiteknight no harm, no foul. Kill the branch
20:01 allison whiteknight: the other commit has been applied to the new branch https://trac.parrot.org/parrot/change​set/41536/branches/pcc_arg_unify_2_0
20:01 shorten allison's url is at http://xrl.us/bfpoz8
20:01 allison Coke: I'll wave back :)
20:02 allison whiteknight: maybe you committed it to pcc_arg_unify (which is already gone)
20:03 whiteknight like i said, it was just a smal change that didn't fix anything. No worries. I'll reapply later if it's still warranted
20:03 allison whiteknight/Coke: I'll go ahead and delete pcc_arg_unify_2_0, we can always revive it if needed
20:03 Coke allison++
20:03 whiteknight allison++
20:03 Coke (can now build pcc_* branch; many test failures, which I assume are not unexpected)
20:04 NotFound allison: Commits allowed in pcc_reapply ?
20:04 allison NotFound: yes, dive in
20:04 payload joined #parrot
20:05 Coke NotFound++
20:05 japhb Tene, darbelo: Certainly I think Plumage will be used to install Parrot modules, and Parrot languages.  I would *like* for Plumage to work for installing modules for Parrot languages, but I see no reason it *must* be.  In particular, I think the metadata server should have an open protocol that language-specific install systems are welcome to use.
20:05 dalek parrot: r41595 | NotFound++ | branches/pcc_reapply/tools/build/nativecall.pl:
20:05 dalek parrot: [cage] fix C++ correcteness in built nci frames
20:05 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41595/
20:05 dalek parrot: r41596 | allison++ | branches/pcc_arg_unify_2_0:
20:05 dalek parrot: Removing calling conventions refactor branch from the repository
20:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41596/
20:06 mikehh I am still failing to build - gets to pge - make[1]: *** [PGE.pbc] Segmentation fault
20:06 NotFound mikehh: same here
20:07 Coke mikehh: "make corevm"
20:07 jhelwig joined #parrot
20:08 Coke mikehh: er, "make corevm coretest"
20:08 Coke need to pass the core tests first before the library/compiler tests.
20:08 allison or even just "make coretest", since corevm is a target dependency for coretest
20:08 whiteknight The segfaults I saw all looked like runaway exception recursions
20:08 mikehh Coke: ok I'll try that
20:08 Coke ->
20:09 whiteknight adding in a few judicious pop_eh calls fixed a few tests, but that's not the real way to beat it
20:09 darbelo joined #parrot
20:09 allison whiteknight: it partly is, since those pop_eh should be there anyway
20:09 NotFound Looks like somewhere a bare NULL is assigned to a pmc register, instead of a PMCNULL
20:10 whiteknight the issue isn't the pop_eh though, it's that new things inside handlers are throwing new exceptions now that they weren't throwing in trunk
20:10 allison whiteknight: but, also need to check what the secondary exception was
20:10 whiteknight so it's two issues
20:10 whiteknight exactly
20:10 joeri left #parrot
20:14 * whiteknight has to go home. Later
20:17 mikehh well it starts the tests - looks like it's got itself in a loop somewhere in failing t/compilers/imcc/reg/spill.t
20:19 darbelo cpu_ret: May not use this opcode from PIR source
20:19 darbelo Never seen that one before.
20:20 cotto_work I think that opcode can go away now that the old jit code is history.
20:21 darbelo Isn't it part of a published interface?
20:23 cotto_work Technically yes, but it was intended only for internal use.
20:23 cotto_work (and the docs explicitly say so)
20:24 darbelo Ok. I'll add it to the kill list.
20:27 cotto_work also investigate tsq.c and events.c.  I know they're not tested at all and istr that they can go away.
20:27 cotto_work s/also/also feel free to/ ;)
20:28 athomason joined #parrot
20:32 dalek parrot: r41597 | allison++ | branches/pcc_reapply (2 files):
20:32 dalek parrot: [pcc] Remove unused 'caller_sig' element in context struct. The maintenance and
20:32 dalek parrot: execution cost of copying the pointer to the caller's CallSignature object in
20:32 dalek parrot: all the appropriate places outweighs the cost of accessing it via caller_ctx.
20:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41597/
20:33 NotFound allison: Have you looked at TT #1083 ?
20:38 cconstantine joined #parrot
20:45 jan joined #parrot
21:04 darbelo coverage?
21:04 purl rumour has it coverage is http://cv.perl6.cz
21:09 bacek joined #parrot
21:10 allison NotFound: not yet, looking now
21:12 allison NotFound: if a PMC is acceptable in the context, why not just use a String?
21:12 NotFound allison: the PMC is just for garbage collect the cstrng
21:14 nopaste "NotFound" at 213.96.228.50 pasted "With this patch, pcc_reapply coretest has less infinite loops" (40 lines) at http://nopaste.snit.ch/18159
21:15 bacek good morning
21:15 darbelo allison: some times you can't escape the need for a c string.
21:16 NotFound "Need for C string", nice name for a video game.
21:19 allison NotFound: comment added in ticket
21:19 mikehh msg Coke re partcl issue # 105 - I think the segfaults related to that merge have been sorted out - we may still get segfaults but they are different issues I think
21:19 purl Message for coke stored.
21:20 allison darbelo: mostly that's a side-effect of our current interface functions
21:22 NotFound allison: sorry, but that answer looks to me as: "Until we have a good long-term solution, we'll keep the current messed and leak prone code"
21:23 allison NotFound: no, it's "do the long term solution now, instead of bunging in a temporary fix"
21:23 allison the amount of work is about the same for the short-term fix and the long-term solution
21:23 NotFound The answer to that is: "I'm not Gandalf" ;)
21:24 allison I really want to avoid layering hacks on hacks, as they're difficult to remove later
21:24 * bacek wave from Gondor
21:24 mikehh msg Coke and I don't seem to get any in make test
21:24 purl Message for coke stored.
21:24 bacek What is "long term solution" for C strings inside parrot?
21:24 allison bacek: don't use them
21:25 bacek Always use string iterators?
21:25 allison bacek: yes
21:25 bacek What about NCI?
21:25 allison bacek: that's part of the external API, so would have to be able to pass them and return them
21:26 NotFound NCI is used to call methods.
21:26 allison bacek: but they can be restricted in scope
21:26 cosimo joined #parrot
21:26 bacek So, let's keep Parrot_str_to_cstring for NCI calls only?
21:26 allison NotFound: methods are restricted to STRING
21:26 allison bacek: and the embedding interface
21:27 allison bacek: basically, limited to occasions when we have to talk to external code
21:28 bacek bacek@icering:~/src/parrot$ grep str_to_cstring src -r |wc -l
21:28 bacek 337
21:28 allison NotFound: your fix to the core ops to use actual values instead of a hardcoded 3 looks good
21:29 bacek Parrot_str_to_cstring doesn't handle charset/encoding at all...
21:29 allison bacek: yes, it can't, cstrings can't handle them
21:29 darbelo bacek: That number increases just about every time I kill another ->strstart abuse.
21:29 allison bacek: though, it could throw an exception if the encoding is anything other than ASCII
21:30 NotFound allison: if you do that, parrot can't even load a file.
21:30 allison NotFound: do what?
21:30 purl somebody said do was just a loop where something controls/constrains it to execute once
21:30 darbelo allison: That would break the freezing code and half the io subsystem.
21:30 NotFound allison: reject non asciss
21:31 bacek allison: +1 for exception
21:31 allison NotFound: then the code is broken
21:31 NotFound allison: yes, a lot is.
21:32 darbelo allison: Astoundingly broken, but it works now.
21:32 allison NotFound: we can agree to treat cstrings as raw binary blobs (not bothering with encoding)
21:33 allison NotFound: but mainly, just need to restrict their use as much as possible
21:33 NotFound allison: we can't. utf16 and ucs2 can't be raw convereted to c strings for any practical purpose.
21:34 allison NotFound: they're all just blobs of bytes
21:34 NotFound allison: yes, but with lots of '\0'
21:35 allison NotFound: mmm.... yes, that is true
21:36 allison NotFound: the main use of cstrings now is for functions that take one string argument (like a signature description), because it's a lot simpler to type the raw cstring
21:37 NotFound allison: the main use for c string IMO is that people has been very lazy with the operating system interface,
21:37 allison largely because CONST_STRING has strange line-wrapping limitations
21:38 allison NotFound: that too
21:38 allison NotFound: which we'll need to clean up as we port to more platforms anyway
21:39 NotFound allison: we just need two platforms to have enough problems: windows and posix.
21:39 Whiteknight joined #parrot
21:40 darbelo posix is not a platform. posix is a lie.
21:40 darbelo But I still agree with NotFound :)
21:40 NotFound darbelo: well, let's just say "any unix-like that uses utf8"
21:40 allison darbelo: yes, but it works now :)
21:40 allison (for some values of work)
21:41 NotFound allison: doesn't work. See for example the ticket about temp directory with chinese characters.
21:42 NotFound allison: regarding teh patch: I used ADDRESS because I'm not sure what exactly OFFSET does.
21:43 allison NotFound: sure, but we have to provide our own work-arounds, we're not fixing posix
21:44 NotFound allison: posix is the easy part, the hard problem in that case is windows. We need to use the unicode filesystem api to hande that, for a start.
21:44 allison NotFound: OFFSET jumps by offset to the current address
21:45 NotFound And we can't in the current state because we have functions that pass a c string
21:45 allison NotFound: then the functions that pass a cstring must die
21:46 NotFound allison: yes, but that can't be done in a day.
21:46 allison NotFound: I bet it could be done in a month
21:46 dukeleto sounds like a plan for a distributed attack
21:47 allison NotFound: it's a purely internal refactor, by definition, since external API functions are exempt from the restriction on cstrings
21:49 NotFound And we need to handle command line arguments and environmental variables able to handle corner cases.
21:49 NotFound (in a way)
21:50 NotFound Assuming they are always utf8 is plain wrong.
21:50 allison NotFound: also true
22:02 Whiteknight is dukeletos git mirror of parrot synced to the svn repo?
22:03 moritz the last commit on there is from Aug 17
22:04 Whiteknight ok
22:07 bacek src/interp/inter_misc.c 367
22:07 bacek src/interp/inter_cb.c 65
22:07 bacek src/interp/inter_cb.c 304
22:07 bacek src/exceptions.c 133
22:07 bacek src/pmc/sub.pmc __get_regs_used
22:07 bacek Parrot_getenv/Parrot_setenv
22:07 bacek FixedIntegerArray.instantiate_str
22:07 bacek Hash.ret_repr
22:07 bacek Parrot_dlsym (and maybe other functions)
22:07 bacek Parrot_vtable_slot_names can use STRING* (Parrot_get_vtable_index)
22:07 bacek PackFile_* functions can use STRING*
22:07 bacek data_types enum can use STRING*
22:07 bacek src/runcore/profiling.c init_profiling_core, runops_profiling_core and destroy_profiling_core
22:07 bacek here we go.
22:07 bacek There is a list of places where we can replace char* with STRING*
22:10 NotFound allison: redoing the patch to use again OFFSET, the only difference that remains is 2 instead of 3 in line 529 of core.ops
22:10 Whiteknight ack "char *"
22:11 darbelo Whiteknight: "| more"
22:11 moritz better ack 'char\s*\*' or so ;-)
22:11 moritz 'char *' also finds 'char'
22:11 cotto_work left #parrot
22:11 NotFound Don't forget char * const
22:12 cotto_work joined #parrot
22:12 bacek cotto_work: what the heck are you doing at work?
22:12 NotFound And probably we have char const * instead of const char * in some place.
22:13 darbelo bacek: Oh my! I hope he's not working...
22:13 cotto_work bacek, what do you mean?  It's only 1515 here.
22:13 bacek clock?
22:13 purl bacek: LAX: Thu 3:13pm PDT / CHI: Thu 5:13pm CDT / NYC: Thu 6:13pm EDT / LON: Thu 11:13pm BST / BER: Fri 12:13am CEST / IND: Fri 3:43am IST / TOK: Fri 7:13am JST / SYD: Fri 8:13am EST /
22:13 hercynium joined #parrot
22:13 bacek cotto_work: ah. It's not Friday yet :)
22:13 darbelo I was *convinced* it was 2009 everywhere.
22:14 * bacek wave from Friday :)
22:14 Whiteknight bacek: where do you live?
22:14 bacek Whiteknight: Sydney
22:15 Whiteknight oh awesome
22:15 Whiteknight that's as far away from me as you can get
22:15 bacek It's nice spring Friday morning here :)
22:15 bacek And it's far far away from any place
22:15 Whiteknight it's cold autumn thursday night here
22:15 allison NotFound: currently running a comparison of test failures with and without the fix to see if it looks more like a real fix or a mask for another problem
22:17 rdice joined #parrot
22:17 theory joined #parrot
22:17 darbelo bacek: Well at least there someone on the same hemisphere as me.
22:17 bacek darbelo: where do YOU live?
22:18 darbelo Argentina.
22:18 purl i think argentina is http://www.terryapodaca.com/wp-con​tent/uploads/2006/06/argentina.jpg
22:18 NotFound allison: a disassembly of a pmc suggest that 2 is the value appropiate for all that ops
22:18 cotto_work GeJ isn't too far away
22:18 NotFound s/pmc/pbc
22:18 bacek darbelo: cool.
22:18 darbelo Where's GeJ?
22:18 purl GeJ is logged in
22:19 bacek darbelo: Caledonia Islands
22:20 darbelo Okay, that's three of us that aren't upside down :)
22:20 allison NotFound: looks like that was an error introduced in the merge
22:20 bacek darbelo: :)
22:20 Whiteknight pcc_reapply hangs on a test for me
22:20 allison NotFound: ("argc + 3", that is)
22:21 NotFound allison: good to know
22:21 Whiteknight t/compilers/imcc/reg/spill.t
22:21 dalek parrot: r41598 | bacek++ | trunk/src/library.c:
22:21 Whiteknight why do we even have tests for register spilling?
22:21 dalek parrot: [cage] Remove wrong description in Parrot_locate_runtime_file_str.
22:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41598/
22:21 dalek parrot: r41599 | bacek++ | trunk/src/hll.c:
22:21 dalek parrot: [cage] Don't create "constant" String for HLL_info entry_name. HLL_info isn't constant and will mark keys during GC anyway.
22:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41599/
22:21 dalek parrot: r41600 | bacek++ | trunk/src/io (2 files):
22:21 dalek parrot: [cage] Replace free with Parrot_str_free_cstring
22:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41600/
22:22 allison NotFound: and I'm tired of killing infinite loop tests, so go ahead and apply
22:22 bacek darbelo: http://img-fotki.yandex.ru/get/​8/bacek.2/0_66fa_35c797bf_orig
22:22 shorten bacek's url is at http://xrl.us/bfppsw
22:22 NotFound allison: go
22:22 NotFound going
22:22 darbelo bacek++
22:22 bacek Best World map ever :)
22:23 darbelo I had one with the outline of south america in a t-shirt.
22:25 dalek parrot: r41601 | NotFound++ | branches/pcc_reapply/src/ops/core.ops:
22:25 dalek parrot: [core] fix a OFFSET problem, probably introduced in the merge
22:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41601/
22:26 particle1 joined #parrot
22:28 Whiteknight where the hell did that problem come from?
22:28 allison Whiteknight: the OFFSET problem?
22:28 Whiteknight yeah
22:28 NotFound Maybe right from hell ;)
22:29 darbelo goto hell?
22:29 Whiteknight goto hell;
22:29 jhelwig joined #parrot
22:30 allison Whiteknight: I'm searching revisions, it appears first in this branch with the merge of pcc code into the fresh branch
22:30 Whiteknight well if it's just a stupid merge issue, that's not anything that we can help
22:30 Whiteknight sucks we have to debug it
22:32 allison Whiteknight: curiously, it doesn't seem to appear in the old pcc_arg_unify branch at all
22:34 allison The merge added 400 failing tests, so there likely are a few merge issues still lurking
22:36 Whiteknight urg
22:46 mikehh joined #parrot
22:46 mikehh All tests PASS (pre/post-config, smoke (#28438), fulltest) at r41597 - Ubuntu 9.04 i386
22:53 bacek Next commit probably will break it :)
22:53 cotto_work It'd be so boring and predictable if the tests always passed.
22:54 dalek parrot: r41602 | bacek++ | trunk (6 files):
22:54 dalek parrot: [cage] Change Parrot_*env functions to accept STRING*
22:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41602/
22:55 cotto_work Why does that clobber Parrot_str_init?
22:55 * bacek veeeery good at breaking stiff
22:55 cotto_work I think that's an important function.
22:56 bacek cotto_work: I don't quite understand...
22:57 cotto_work That patch deletes a call to Parrot_str_init in inter_create.c at +164
22:57 bacek cotto_work: it is not
22:58 bacek I just moved it up
22:58 cotto_work oic
22:58 bacek Because I need CONST_STRING working :)
22:58 cotto_work yup
22:59 bacek Bah. All tests passed on my box. Time to break stuff at $dayjob
23:00 ttbot Parrot trunk/ r41602 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/110877.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:01 bacek cotto_work: see! I broke it!
23:01 darbelo bacek++ # Making life less boring!
23:03 cconstantine joined #parrot
23:04 dalek parrot: r41603 | allison++ | branches/pcc_reapply (3 files):
23:04 dalek parrot: [pcc] More intelligent handling of a null CallSignature in fill_returns, though
23:04 dalek parrot: it's still not perfect, due to the asymmetrical nature of return argument
23:04 dalek parrot: passing (i.e. return arguments aren't currently handled the same way as call
23:04 dalek parrot: arguments, though they should be and will be).
23:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41603/
23:06 jdv79 Coke: what?
23:07 dalek parrot: r41604 | bacek++ | trunk/config/gen/platform/win32/env.c:
23:07 dalek parrot: [cage] Blind commit to fix environment handling on Win32.
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41604/
23:08 * bacek killed TapTinder...
23:10 mj41_ joined #parrot
23:10 quek joined #parrot
23:11 allison bacek: "Blind commit" sounds branch-worthy, or at least "put patch in a ticket and get someone with the appropriate platform to test it
23:15 ttbot Parrot trunk/ r41604 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/110925.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:39 bacek_at_work hi again
23:39 purl oh, you're back!
23:40 dalek parrot: r41605 | bacek++ | trunk/config/gen/platform/win32/env.c:
23:40 dalek parrot: [cage] Fix win32 build (hopefully).
23:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41605/
23:42 patspam joined #parrot
23:47 ttbot Parrot trunk/ r41605 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/110990.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:47 theory joined #parrot
23:53 dalek parrot: r41606 | bacek++ | trunk/config/gen/platform/win32 (2 files):
23:53 dalek parrot: [cage] Fix another failure on win32. bacek--
23:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41606/
23:56 ttbot Parrot trunk/ r41606 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/111026.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
23:57 cotto_work windows hates you, bacek_at_work
23:57 bacek_at_work cotto_work: I hate it too...

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

Parrot | source cross referenced