Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:16 kid51 joined #parrot
00:25 Whiteknight pmichaud: ping
00:37 lichtkind joined #parrot
00:37 lichtkind is it true that the major parrot versions are now coming every year because distributions can plan better then
00:38 kid51 In part
00:38 kid51 High-Level Language developers have similar concerns
00:39 lichtkind kid51: thanks
00:41 snarkyboojum joined #parrot
00:43 davidfetter joined #parrot
00:43 lichtkind kid51: if you were so kind to have a look at http://www.perlfoundation.​org/perl6/index.cgi?parrot
00:50 dukeleto 'ello
00:51 kid51 lichtkind:  What about it?
00:51 lichtkind dukeleto: jo
00:52 lichtkind kid51: just i fthere some mistakes or something to add
00:53 kid51 My impression is that that page is just meant to be a brief intro to Parrot for people coming to it via wiki pages for Perl 6
00:53 lichtkind it is
00:53 lichtkind but more info can help
00:53 sorear dukeleto: http://pastie.org/869725
00:53 kid51 Since the creation of the Parrot Foundation in late 2008, all the "official" Parrot wiki pages are at parrot.org
00:54 kid51 lichtkind:  patches welcome
00:54 purl patches welcome is always true
00:54 Austin whiteknight: warnings about pmc_new on my box. Do you get these?
00:55 Whiteknight Austin: not that I am aware of. Where?
00:55 lichtkind kid51: you mean i should also contribute to the parrot wiki?
00:55 nopaste "Austin" at 68.39.12.202 pasted "Warnings in pla" (12 lines) at http://nopaste.snit.ch/19950
00:55 Austin (is github up to date?)
00:56 kid51 lichtkind:  Well, wikis are meant for public contributions.
00:56 Whiteknight Austin: pmc_new was renamed to Parrot_pmc_new recently. You might need to update your Parrot install
00:56 Austin How recently?
00:56 kid51 But if you'd like, you can send a patch for any wiki to our mailing list and one of the devs will look it over.
00:56 Austin I'm at 2.1
00:57 lichtkind kid51: i dont think there is room for a sixth wiki under my belt :)
01:01 Austin Geez, dude. You weren't kidding.
01:07 lichtkind kid51: plumage is the child of allison?
01:09 lichtkind Austin: you mean me?
01:10 Whiteknight Austin: how in hell do I use a key in NQP that isn't an integer?
01:10 Austin lichtkind: No. I was talking to w-k
01:10 Austin Whiteknight { }
01:10 lichtkind yes
01:11 Austin $foo{$key}
01:11 kid51 IIRC plumage was created by japhb
01:18 hudnix joined #parrot
01:21 lichtkind kid51: thanks
01:21 Whiteknight Austin: urg, that syntax creates a segfault for me
01:22 Austin Really? That's awesome.
01:22 Austin Reproducible?
01:23 Whiteknight my $m := Parrot::new("NumMatrix2d"); $m{Key::new(0;0)} := 0;
01:24 Whiteknight and to top it off, distutils doesn't build the lib with debugging symbols, so I can't GDB it
01:26 Whiteknight now I need to dig through the distutils source to see if I can find a way to shoehorn that option into the compiler commandline
01:27 dukeleto Whiteknight: adding support to distutils for using debug symbols would be very useful indeed
01:29 Whiteknight what's the GCC flag to turn on debugging?
01:29 dukeleto Whiteknight: -g ?
01:29 purl rumour has it -g is debug
01:30 Whiteknight hmm, it looks like it is already building with -g
01:30 Whiteknight so then why isn't the library debuggable?
01:32 dukeleto Whiteknight: is your parrot built with debug symbols?
01:33 Whiteknight I think so
01:33 Whiteknight yeah, because I can GDB it
01:33 Whiteknight but when I step into linalg_group code, it goes opaque
01:36 sorear Whiteknight: usually when people install libraries these days, they strip them
01:37 Whiteknight sorear: this is a library I'm building, and I don't think it is getting stripped
01:37 sorear install -s?
01:37 Austin It's getting stripped.
01:37 Austin distutils.pir:104
01:37 Austin 1004
01:37 kurahaupo joined #parrot
01:37 Austin $I0 = _has_strip(cflags)
01:38 sorear the fact that it's a library doesn't matter
01:38 sorear hasn't mattered for years... that bug/misfeature where stripping libraries destroyed them was fixed circa 2000
01:39 dalek parrot: r44929 | dukeleto++ | trunk/CREDITS:
01:39 dalek parrot: Add sorear++ to CREDITS
01:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44929/
01:39 Austin whiteknight: gcc, or something else?
01:39 Whiteknight gcc
01:40 Austin It looks for -g in cflags, strips if not found.
01:41 dalek kakapo: e196d45 | austin++ |  (4 files):
01:41 Whiteknight yeah, so now I need to figure out where it's getting that cflags value
01:41 dalek kakapo: Added NQP::compile_file, testcase.
01:41 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
01:41 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/e196d4536d9db8e6e266cb9b9d489f391f11c956
01:41 Whiteknight looks like it's in the config hash
01:44 Austin Default for dynops_cflags is ''
01:44 Austin ditto pmc
01:45 Whiteknight ah, ccflags in parrot's config doesn't contain -g
01:45 Whiteknight cc_debug does
01:46 Austin whiteknight, if I put $P0['dynpmc_cflags'] = '-g' in setup.pir, it doesn't strip
01:47 Austin (strip is the 2nd to last line of output, before Glue.pir)
01:48 Whiteknight yeah, if I do "--dynpmc_cflags -g" on the commandline, it doesn't strip either"
01:48 Austin whiteknight: For the test methods, what order to use?   vtable, op, method, other?
01:48 Whiteknight good to  know
01:48 Whiteknight I don't know what order to use yet
01:48 Whiteknight probably op, vtable method
01:48 Whiteknight though there is at least one test in there that's different from those three
01:49 Austin other?
01:55 Whiteknight urg, I don't think I like where this is going...
01:55 Whiteknight What I want to do: $P0[2;1] = $P1
01:56 Whiteknight what I apparently have to type: $m{Key::new(0, 1, 2)} := $n
01:56 Whiteknight why I need the first zero, I have no idea
01:56 Whiteknight and why I need to reverse the order of keys, I don't know either
01:56 Austin Is that a Key bug?
01:56 Whiteknight no idea
01:57 Whiteknight adding the zero makes the test not segfault anymore, and reversing the order of the keyes makes most of the tests pass again
01:57 * Austin sings, "My parents taught me what life was about; so I grep up the type they'd warned me about..."
01:57 Whiteknight I think the later issue may be a problm with ordering in Key::new
01:57 Whiteknight anyway, it's time for bed now. I'll dig into this more tomorrow
01:58 Austin Okay. Niterz.
01:58 Whiteknight later
01:58 japhb lichtkind, I'm lead on Plumage, yes.  What can I do for you?
01:58 lichtkind japhb: im writing an article and just mentioned you
01:59 japhb Ah, gotcha.
01:59 lichtkind japhb: but if you have some usefull infos i would be glad
01:59 japhb OK, what do you want to know?
01:59 lichtkind japhb: something that is remotly relevant for perl 5 folks :)
01:59 japhb *chuckle*
02:00 lichtkind how it going whats special about it
02:00 lichtkind like that
02:01 japhb Well, development is picking up again after a lull.  Plumage can be used to install Blizkost (the Parrot <-> Perl 5 linkage), though I believe Blizkost needs to be updated to the latest HLL interop spec -- jnthn++ is working on that.
02:03 sorear blizkost also needs to be made to work at all
02:03 hiroyuk__ joined #parrot
02:03 sorear I'm working on that
02:03 lichtkind sorear++ great
02:03 japhb Plumage can already work with a number of different configure/build systems, including Perl 5 MakeMaker scripts; more build systems are easy to add, and are done on an as-requested basis.
02:03 lichtkind japhb: since a talk with jnthn not only about beer i know that already :)
02:04 japhb well, there you go.  :-)
02:04 lichtkind i mean not your last sentence :)
02:04 japhb And of course, there's useful (though somewhat out of date) info at:
02:04 japhb plumage?
02:04 purl plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at http://gitorious.org/parrot-plumage/parrot-plumage and the design docs are at https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
02:04 lichtkind japhb: but you cant sompare plumage with cpan.pm?
02:05 japhb lichtkind: partially.  It's more powerful in some ways, weaker in others.
02:05 japhb dang, AFK for a bit, kids
02:05 lichtkind allright
02:08 AndyA joined #parrot
02:08 sorear that's good, cpan is powerful in most of the wrong ways
02:11 nopaste "Austin" at 68.39.12.202 pasted "Key exercise, for whiteknight++" (11 lines) at http://nopaste.snit.ch/19951
02:12 Austin msg whiteknight I think you're doing Key::new, but should be doing Key.new. That explains the 0.
02:12 purl Message for whiteknight stored.
02:13 Austin msg whiteknight Also, I nopasted (http://nopaste.snit.ch/19951) a test that works for me. I notice you've got ROWMAJOR and COLMAJOR macros for access. Are you sure you've got your expectations right?
02:13 purl Message for whiteknight stored.
02:15 * kid51 must sleep
02:15 purl $kid51->sleep(8 * 3600);
02:44 davidfetter joined #parrot
02:44 japhb lichtkind, OK, back
02:45 lichtkind japhb: thanks but here its almos 4 am
02:45 lichtkind maybe time to sleep :)
02:45 japhb For example, CPAN has a massive FTP/rsync file hosting system,
02:45 lichtkind interesting
02:45 japhb Plumage does not -- it pulls from whatever hosting system each project is stored in.
02:46 japhb So if the canonical source of a project is a VCS repo, it just pulls from there.
02:46 japhb (In fact, most of the current projects are exactly that way -- hosted at github, gitorious, googlecode, etc.)
02:46 * japhb notices the "4 am" comment ...
02:46 japhb ah, well, rest well!
02:49 lichtkind not yet
02:49 lichtkind doing curretly typo proof
02:49 japhb Currently Plumage understands Subversion, Git, and Mercurial repos, but I expect someone will decide to put a project in a Bazaar, Darcs, or (perish the thought) CVS repo, and then I'll add that.
02:49 lichtkind now i understand thanks
02:49 lichtkind shure cpan cant do that
02:50 sorear What about stone age folks who just host code on HTTP?
02:50 lichtkind but how you know which version to pull?
02:50 japhb sorear, we have a proof of concept HTTP puller in place ... but no one has actually hosted a Parrot project that way so far, so it is unused.
02:51 japhb lichtkind, right now it pulls from the VCS-specific default HEAD/master/trunk/whatever.  On the short list is allowing it to track a specific branch or even pull a particular tag or commit.
02:52 * sorear googles parrot plumage
02:52 japhb plumage?
02:52 purl plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at http://gitorious.org/parrot-plumage/parrot-plumage and the design docs are at https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
02:52 sorear first entry about actual psittacine hair is #3
02:52 sorear #1 and #2 are your project
02:52 japhb Well good then.  ;-)
02:52 japhb I wander if purl can google ...
02:52 japhb google parrot plumage
02:53 japhb purl, google parrot plumage
02:53 purl japhb: excuse me?
02:53 japhb ah well
02:54 * japhb slightly increases the priority of writing an IRC MCP
02:54 parthm joined #parrot
02:54 sorear MCP?
02:54 purl i guess MCP is the root of all evil. or a good way to get better pay. or Master Control Program or MacMillan Computer Publishing (SAMS) or Male Chauvinist Pig or Master Control Program
02:54 japhb tron?
02:54 purl tron is pr-ah-n
02:55 japhb bleah
02:55 japhb TRON?
02:55 purl TRON is pr-ah-n
02:55 japhb sorear, well, look for MCP in the context of TRON.
02:56 * japhb wonders when TRON 2.0 will actually, finally, no really, we mean it, hit theaters.
02:56 lichtkind japhb: thanks
02:56 lichtkind was real help
02:56 japhb lichtkind, np, happy to help
02:56 snarkyboojum joined #parrot
02:56 japhb #perl6 spirit is alive and well here too.  ;-)
02:57 lichtkind japhb: and due parrot wiki i really have still some major open works in the perl 6 wiki
02:57 japhb ?
02:57 lichtkind japhb: there are major work i started in perl6 wiki
02:58 lichtkind japhb: id rather finish that befor begin new stuff
02:59 lichtkind good night
03:03 japhb good night!
03:04 lichtkind :)
03:08 sorear hmm
03:08 sorear how does Plumage get told about new projects?
03:08 sorear s/does/will/
03:09 sorear unrelately, I have visions of blizkost being a very confusing program to install
03:09 sorear I'm probably going to have to do an entirely custom configure/build system for it
03:09 japhb Right now, the metadata repository is hosted inside the Plumage repo.  Eventually the metadata repo will be a web service, somewhere in the cloud, that Plumage will use remotely
03:10 sorear since it needs to install both in perl -V:inc and (wherever parrot looks, I'm new)
03:10 japhb sorear, but once you get that done, no one else will have to know it, they'll just do 'plumage install blizkost' and wait.
03:11 japhb sorear, I believe you are thinking of the Parrot versioned libdir.
03:11 japhb Plumage's metadata is just JSON files.  Readable everywhere.
03:12 sorear who writes them?
03:14 japhb Some are hand-written by project owners.  Others are written by people who want to "package" a project so that Plumage will know about it.  Still others use Parrot distutils, which can make a Plumage JSON metadata file directly from the build instructions and a few hash keys.
03:30 lichtkind_ joined #parrot
03:30 * sorear notes to self to add Plumage metadata generation to the blizkost configure/build system
03:35 Andy joined #parrot
03:36 janus joined #parrot
03:46 dalek rakudo: c29d389 | (Solomon Foster)++ | t/spectest.data:
03:46 dalek rakudo: Add S03-operators/not-metaop.t test.
03:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​29d389a9e414a4c3a38014f4ab9fb0bdc178b72
03:57 parthm left #parrot
03:59 snarkyboojum joined #parrot
05:15 chromatic joined #parrot
07:01 bacek joined #parrot
07:02 bacek aloha
07:05 JimmyZ joined #parrot
07:07 cotto hi
07:10 bacek cotto, I "fixed" complete_workflow.t
07:12 cotto with lasers?
07:13 bacek with fire :)
07:13 bacek check last commit in branch
07:14 cotto Interesting.  compilers/nqp should be the same as trunk.  Was the merge goofy?
07:14 dalek kakapo: af2012b | austin++ |  (2 files):
07:14 dalek kakapo: Amended String.substr to be more lax with the limit parameter.
07:14 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
07:14 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/af2012bf38c5cdc3707359bcf65408edb44f932c
07:14 dalek kakapo: 1923d23 | austin++ | examples/UnitTest/unit-test-template.nqp:
07:14 dalek kakapo: Added unit testing template in examples/
07:14 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/1923d23387141c3b5997782653f753a4d6408d42
07:14 dalek kakapo: 74c6f33 | austin++ |  (2 files):
07:14 dalek kakapo: Fixed up Assertion: assert_throws.
07:14 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/74c6f33eb28a4d6b0f2967eab9008e1f47175410
07:14 dalek kakapo: 58383cc | austin++ | src/Pmc/Array.nqp:
07:15 dalek kakapo: Fixed bug in Array::is_sorted.
07:15 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/58383ccbfec885a87293e78e9aefbb249fac308f
07:15 dalek kakapo: 2575cb0 | austin++ |  (11 files):
07:15 dalek kakapo: Added Multisub.nqp to generate multisubs/multimethods.
07:15 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
07:15 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/2575cb07c6f1377677f7c5bea068d1e369ae2d52
07:15 aukjan joined #parrot
07:16 bacek cotto, not actually. It was my hack to support string interpolation.
07:16 bacek (which wasn't merged properly)
07:20 cotto I have a patch to remove compilers/opsc/opsc.pir from the build, but it breaks some tests and ops2c.nqp.  Care to take a look?
07:21 dalek parrot: r44930 | bacek++ | branches/ops_pct (5 files):
07:21 bacek I actually use opsc to quick check generated past.
07:21 dalek parrot: Copy compilers/nqp from trunk overriding old changes in branch.
07:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44930/
07:21 cotto ok.  I have a separate driver script I've been using.
07:23 bacek then commit it.
07:24 cotto not a bad idea
07:25 cotto (assuming it == the driver script)
07:25 bacek yeah :)
07:27 bacek Files=345, Tests=12180, 107 wallclock secs ( 3.13 usr  0.76 sys + 61.87 cusr 16.14 csys = 81.90 CPU)
07:27 bacek IT WORKS
07:27 cotto It may be worth keeping opsc.pir around to avoid requiring a bunch of loadlib instructions in code that uses and tests opsc
07:27 cotto ?
07:27 cotto complete_workflow?
07:28 cotto happy times.
07:28 cotto bacek++
07:28 iblechbot joined #parrot
07:28 bacek In future we can just pbc_merge all files into single pbc.
07:28 bacek (It was test of self-generated core_ops)
07:28 cotto That's what I'm working on.
07:29 bacek ok
07:29 cotto I guess the loadlibs could go in src/builtins.pir
07:29 bacek I'll start reading other OpTrans/*.pm files
07:29 cotto they don't really fit though
07:32 bacek yeah. It's just workaround
07:32 * bacek opened beer-of-victory and OpTrans/CGoto.pm
07:33 cotto I wonder if there's any hope of opsc going through the ops at a reasonable speed.
07:35 bacek Just steal Austin++ Close grammar. There is a _LOT_ of backtracking happens.
07:37 cotto is it speedy?
07:37 bacek I hope so.
07:44 cotto Looks like it hasn't been updated in a little while.  It still looks for parrot_nqp
07:45 bacek But grammar should be same
07:45 cotto iwbn if nqp-rx implemented ::
07:46 bacek yeah...
07:48 cotto time for sleep.  Happy Monday, bacek.
07:48 cotto clock
07:48 cotto clock?
07:48 purl cotto: LAX: Mon 12:48am PDT / CHI: Mon 2:48am CDT / NYC: Mon 3:48am EDT / LON: Mon 7:48am GMT / BER: Mon 8:48am CET / IND: Mon 1:18pm IST / TOK: Mon 4:48pm JST / SYD: Mon 6:48pm EST /
07:49 bacek cotto, good night. And Monday is almost over :)
07:49 cotto That's what's happy about it.
07:49 cotto . o 0 (good save)
07:49 cotto night
08:01 JimmyZ_ joined #parrot
08:11 dalek parrot: r44931 | bacek++ | failed to fetch changeset:
08:11 dalek parrot: Remove set_label and get_label from ops.num _again_.
08:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44931/
08:15 fperrad joined #parrot
08:34 bacek joined #parrot
08:37 sorear does Parrot have a binding for file descriptor I/O?
08:38 kurahaupo joined #parrot
08:42 bacek sorear, FileHandle PMC
08:53 joeri joined #parrot
08:57 sorear how do I bind a FileHandle to a FD?
08:57 sorear and does FileHandle guarantee to not do readahead?
09:05 bacek (bind) isn't possible now. But it's easy to add method set_fd to FileHandle.
09:05 bacek (readahead). No. It doesn't readahead now, but it's not specced afaik
09:18 iblechbot joined #parrot
09:18 kurahaupo joined #parrot
09:44 lucian joined #parrot
10:34 gaz joined #parrot
10:51 payload joined #parrot
10:52 payload joined #parrot
12:06 lucian joined #parrot
12:08 whiteknight joined #parrot
12:09 dalek rakudo: 3bc40d3 | (Solomon Foster)++ | src/ (3 files):
12:09 dalek rakudo: Revert "Change !op to generate an explicit call to an infix_prefix_meta_operator function."  This goes back to the first implementation of !op, which now works and is probably a bit more efficient than the second implementation.
12:09 dalek rakudo: This reverts commit df80392510ea0791326b9243672a354e5c165842.
12:09 dalek rakudo: Conflicts:
12:09 dalek rakudo: src/core/operators.pm
12:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​bc40d36e1f8b98502e1e9e40060ab9cdd47d154
12:09 dalek rakudo: ef3cd20 | (Solomon Foster)++ |  (3 files):
12:09 dalek rakudo: Move !op implementation functions from assign.pir to new metaops.pir.
12:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​f3cd2011bc26f4882e93c05ccb1079662eb36a8
12:10 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32687), fulltest) at r44931 - Ubuntu 9.10 amd64 (g++ with --optimize)
12:12 whiteknight good morning #parrot
12:12 mikehh howdy whiteknight
12:14 whiteknight good morning mikehh
12:23 * Coke apparently lost his place in scrollback. whoops.
12:28 AndyA joined #parrot
12:36 davidfetter joined #parrot
12:40 Austin Good morning, whiteknight.
12:40 whiteknight good morning Austin
12:41 * Coke wonders if anyone would get upset if he auto-gen'd http://trac.parrot.org/parrot/wiki/ParrotFaces from CREDITS.
12:42 whiteknight you're probaly right about the Key.new thing. I'll have to try that and see how it goes
12:42 whiteknight Coke: +1
12:42 purl 1
12:42 Austin Go for it, Coke.
12:42 whiteknight DO EET
12:42 Austin white - The .new thing is trivial, if that's the problem. I'm more concerned about the ordering issue.
12:42 Austin Are you sure you're expecting the right order?
12:43 Austin Coke: Is there a trac plugin for that?
12:45 Coke Austin: no clue.
12:45 whiteknight Austin: Let me try it with the .new first, just to make sure I'm creating the correct object and passing it correctly.
12:46 whiteknight I have some updating to do on this box first, I'll test it in a little bit
12:46 Austin s'cool
12:46 szbalint Coke: bored of yours being the only face there atm? :)
12:53 Austin The one problem I have with | being the flattening operator is that it's awkwardly located on my (US) keyboard. I could wish for '*' in a dual role (flatten, splatten)
12:54 whiteknight oh, is that what | is?
12:54 whiteknight I can't remember what all the damn twigils do in P6
12:54 Austin This is an operator, not a twigil. (heh)
12:55 Austin |@list
12:55 Austin not to be confused with @|list
12:55 whiteknight ...and I can't even remember what a twigil is
12:55 Austin (which doesn't do anything, I think)
12:55 Austin $!foo - attribute
12:55 Austin !$foo - negation
12:55 whiteknight like it would kill anybody to use real, english words like flat(@list), or @list.flat, or @list :flat
12:55 Austin Hello! Perl?
12:56 whiteknight oh, you're right. it *would* kill people
12:57 Austin You're talking to the guy who campaigned to get '-' as a valid identifier character, to avoid shifting _
12:58 Austin Takin' mah keyboard BACK!!!
12:58 Coke bah. most of you have not setup gravatars!
13:00 Austin There was no killer app for it, before.
13:00 Austin Thanks to you, Coke++, now there is.
13:01 Austin Although I notice the page hasn't changed...
13:04 Coke we have a duplicate E: somewhere.
13:04 Austin What are the odds of that?
13:04 purl the odds of that are good, sadly.
13:05 Coke there are 145 entries, but 144 unique.
13:06 dalek rakudo: 01c8cc2 | (Solomon Foster)++ | src/ (3 files):
13:06 dalek rakudo: Quick implementation of reverse metaop.
13:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​1c8cc224230551f1aed830fa1ddd64df7cac6a2
13:06 dalek rakudo: f6de386 | (Solomon Foster)++ | t/spectest.data:
13:06 dalek rakudo: Add S03-operators/r-metaop.t to tests.
13:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​6de38654a74eb55f5ef4d29c19a222c16573fe0
13:06 whiteknight Austin: I think the ordering issue goes away once I fix the .new thing
13:06 whiteknight initial tests are encouraging
13:07 Austin Really?
13:07 Austin Sweet.
13:11 mikehh ops_pct branch - make corevm/make coretest, test PASS - codetest remaining failures seem to be nqp related
13:11 Coke Austin: check now.
13:12 Coke It is currently dominated by the wavatars.
13:12 Austin Heh. cvs@perl.org has a gravatar?
13:12 Coke every email address has a default one, yes.
13:13 Coke someone who wanted to refine tools/dev/faces.pl to skip known bots can get cheap karma. =-)
13:14 Coke schwern++
13:15 Coke I exluded x rated gravatars. no clue if we should ratchet that down lower.
13:15 Austin So far it's 2 stupid pictures and 1 cat.
13:15 whiteknight Austin: I'm getting a weird test failure today after your updates last night
13:15 Austin I think you should bring back the X rated ones.
13:16 Austin whiteknight: Frabjous. Where is it?
13:16 whiteknight assert_throws is giving me a weird Null PMC Access in get_number
13:16 whiteknight when I take out assert_throws, the test fails (obviously throws an exception), but it's a very different exception
13:16 Austin So much for improving it
13:16 whiteknight I waddled through the code, doesn't look like you're calling get_number anywhere
13:16 whiteknight unless boolean && does it internally
13:16 Austin Oh, you never know.
13:17 whiteknight exactly
13:17 Austin Nopaste?
13:17 purl somebody said Nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels)  or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or https://trac.parrot.org/parrot/br​owser/trunk/tools/dev/nopaste.pl
13:18 whiteknight it's t/pmc/nummatrix2d.t:test_VTA​BLE_add_NUMMATIX2D_SIZEFAIL. I've updated it from assert_throws("Exception", ... to assert_throws(Exception,...
13:18 Austin That work?
13:18 whiteknight it used to work with the string. Though I think that may have been a bad coincidence
13:18 Austin No, I probably broke something. Lemme check.
13:19 dalek parrot: r44932 | mikehh++ | branches/ops_pct/compilers/opsc/t/01-parse.t:
13:19 dalek parrot: fix 01-parse.t to pass pod_syntax.t
13:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44932/
13:19 dalek parrot: r44933 | coke++ | trunk (2 files):
13:19 dalek parrot: add faces.pl
13:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44933/
13:21 Austin Nope - I didn't break that. I corrected a bug that was probably passing you.
13:21 Austin || vs &&
13:21 whiteknight yeah, that's the conclusion I came to
13:21 Coke Austin: removed the bots. enjoy.
13:22 Austin Hunh. I was kind of wondering what purl looked like..
13:23 dalek tracwiki: v3 | coke++ | ParrotFaces
13:23 dalek tracwiki: update from tools/dev/faces.pl
13:23 dalek tracwiki: http://trac.parrot.org/parrot/wiki/P​arrotFaces?version=3&amp;action=diff
13:23 dalek tracwiki: v4 | coke++ | ParrotFaces
13:23 dalek tracwiki: rm bots
13:23 dalek tracwiki: http://trac.parrot.org/parrot/wiki/P​arrotFaces?version=4&amp;action=diff
13:25 Coke msg notfound: "perl tools/dev/faces.pl > /dev/null"
13:25 purl Message for notfound stored.
13:30 nopaste "whiteknight" at 173.12.37.77 pasted "Example test failure for Austin++" (24 lines) at http://nopaste.snit.ch/19952
13:30 whiteknight Austin: That's the test and the error I get. Below the divider, I comment out assert_throws and I see the exception I am trying to "catch"
13:30 whiteknight so any insight about how to do it correctly would be much appreciated
13:31 Austin Yowza. You get this even after converting from string to protoobject.
13:32 whiteknight yes
13:33 whiteknight before converting from string, error was worse
13:33 whiteknight "method 'type' not found in String", etc
13:34 Austin Ahh.
13:34 Austin I see it.
13:34 Austin You can't do that.
13:34 Austin (yet)
13:35 Austin I suspect you're trying to say "throws any old exception"
13:35 Austin But subclassing exceptions doesn't work in trunk just yet, so I have to use .type
13:35 dalek parrot: r44934 | coke++ | trunk/tools/dev/faces.pl:
13:35 dalek parrot: Skip bots; avoid repeating ourselves.
13:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44934/
13:35 dalek parrot: r44935 | coke++ | trunk/tools/dev/faces.pl:
13:35 dalek parrot: warn about duplicated email addresses in CREDITS
13:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44935/
13:36 whiteknight so I would have to throw a kakapo-approved exception type?
13:36 Austin And the Exception class has no assigned type number. (And it would be the wrong one, if it did..)
13:36 Austin The 'wanted' parameter (e_type) to assert_throws has to have a .type that returns a number.
13:36 whiteknight okay. So is there any way to make this work with assert_throws, or do I need to homebrew a workaround?
13:37 Austin So if you are making up your own exceptions, that's okay so long as it has a type.
13:37 whiteknight I'm throwing that exception at the C level
13:37 Austin And ...
13:38 Austin Just a message?
13:38 whiteknight Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_OUT_OF_BOUNDS,  "ComplexMatrix2d: cannot set unknown PMC type");
13:38 whiteknight src/pmc/complexmatrix2d.pmc:126
13:39 Austin Exception::OutOfBounds
13:39 Austin src/Exceptions.nqp:145
13:39 Austin :)
13:39 whiteknight ah, nice. That works
13:39 smash joined #parrot
13:39 smash hello everyone
13:40 Austin If there's a EXCEPTION_ or CONTROL_ constant, I've got it in CamelCase with one ::
13:40 Austin Hello, smash.
13:44 Austin Whiteknight: I've put in a todo for when subclassed exceptions come up
13:48 Andy joined #parrot
13:48 Coke Andy++ # keeping a job you don't love
13:49 Andy Thanks, Coke.
13:49 whiteknight Austin: being able to specify something like Exception::Any might be nice
13:49 whiteknight but then again, you should really know what exception you are expecting
13:49 Austin Heh
13:50 Austin I'm torn on that one. I've written some pretty funky code for that - do you realize how many ways a symbol can fail to exist in NQP? But OTOH, I'm not sure I love "catch frenzy"
13:55 whiteknight well, you're the expert framework designer.
13:56 Austin Bwahahahaha! ROTLMAO.
13:56 Austin There's three words I never expected to hear in a sentence about me.
14:03 whiteknight well, you're certainly an expert at using your framework
14:04 whiteknight and you are designing it
14:04 Austin Heh
14:04 whiteknight whether you are desiging it expertly, that's something I cannot say
14:04 Austin :)
14:04 Austin As soon as I'm done, I'll be able to tell you how I *should* have done it..
14:12 ruoso joined #parrot
14:17 chromatic joined #parrot
14:17 payload joined #parrot
14:17 bubaflub joined #parrot
14:25 dalek parrot-linear-algebra: 2a73c57 | Whiteknight++ | t/pmc/nummatrix2d.t:
14:25 dalek parrot-linear-algebra: rewrite nummatrix2d.t:matrix2x2() to use fancy new Key.new syntax. Does not affect any test results. Also, fix a problem with assert_throws that was uncovered after Austin++ made some changes to kakapo last night
14:25 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/2a73c57a19ac188bf2103230e8ccffb2b791a77f
14:25 dalek parrot-linear-algebra: 5807d1e | Whiteknight++ | t/pmc/complexmatrix2d.t:
14:25 dalek parrot-linear-algebra: update complexmatrix2d.t to use better function names for tests. Also, add a test for set_pmc_keyed<String>, which should fail. Remove several instances of Q:PIR, which are unneeded now with newer syntax (but leave one case where I want to be double-sure I am calling the right VTABLE)
14:25 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/5807d1e0558b060fc3341dcbecf56b1508542537
14:25 dalek parrot-linear-algebra: bee5da1 | Whiteknight++ |  (2 files):
14:25 dalek parrot-linear-algebra: fix ComplexMatrix2D.fill() to work. Add a passing test for the behavior. Also, expand several other TODO tests
14:25 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/bee5da18dc0bebb34a946b182f4148d936b1436b
14:26 dalek parrot: r44936 | mikehh++ | branches/ops_pct/compilers/opsc/src/Ops/Op.pm:
14:26 dalek parrot: fix Op.pm to pass pod_syntax.t
14:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44936/
14:27 whiteknight Austin: You said you had a way to include NQP files into one another?
14:27 Austin Compile, not include.
14:28 Austin Check out src/Parrot/NQP.nqp
14:28 whiteknight awesome, thanks
14:28 Austin Nqp::compile_file($file)
14:29 whiteknight Most of the types in PLA share (or should share) a lot of common behaviors, especially with respect to indexing and resizing. I'm looking for a good way to include a number of boilerplate tests and helper methods into each test file
14:30 whiteknight So I'm thinking I create a PLA::Test type, and inherit that
14:30 Austin Exactly.
14:30 whiteknight so then how do I make sure that PLA::Test file is included in each test?
14:31 nopaste "Austin" at 68.39.12.202 pasted "Started Pla Testcase" (44 lines) at http://nopaste.snit.ch/19953
14:31 whiteknight I guess as part of the normal build I could compile it down to .pbc and loadlib it
14:31 nopaste "Austin" at 68.39.12.202 pasted "Sanity, with changes" (24 lines) at http://nopaste.snit.ch/19954
14:32 Austin I started on this last night. Sorry I didn't have time to finish it for you.
14:32 whiteknight no problem. I'm happy for any help I can get
14:33 whiteknight so two questions: To add tests to all files, I would just add the test methods to PLA::TestCase itself?
14:34 Austin Right
14:34 payload joined #parrot
14:34 Austin (at least, if it doesn't work it should)
14:36 * Austin sings, "Straight from 12th grade into Junior College...buddy, buddy, buddy I passed my exam..."
14:42 dalek parrot: r44937 | mikehh++ | branches/ops_pct/compilers/opsc/src/Ops/File.pm:
14:42 dalek parrot: fix File.pm to pass pod_syntax.t
14:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44937/
14:42 patspam joined #parrot
14:42 dalek parrot: r44938 | mikehh++ | branches/ops_pct/compilers/ops​c/src/Ops/Compiler/Actions.pm:
14:42 dalek parrot: fix Actions.pm to pass pod_syntax.t
14:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44938/
14:43 payload1 joined #parrot
14:55 theory joined #parrot
14:58 dalek parrot: r44939 | mikehh++ | branches/ops_pct/compilers​/opsc/src/Ops/Trans/C.pm:
14:59 dalek parrot: fix trans/C.pm to pass pod_syntax.t
14:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44939/
15:03 PacoLinux joined #parrot
15:06 Psyche^ joined #parrot
15:13 dalek rakudo: eff4bd3 | (Solomon Foster)++ | src/Perl6/ (2 files):
15:13 dalek rakudo: Switch the grammar to look for an infixish rather than an infix after infix_prefix_meta_operator so that you can stack metaops.
15:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​ff4bd3221d48720b6830bb8a68e44f7171902f6
15:38 * Coke gets "cold-call" email about local perl work. freaky.
15:42 * dukeleto is making progress on a bitbake recipe for parrot: http://gist.github.com/332962
15:44 * davidfetter waves to dukeleto
15:47 * dukeleto waves back
15:51 NotFound joined #parrot
15:51 NotFound hi
15:53 davidfetter oh hai
16:03 payload joined #parrot
16:27 cotto_work hi
16:27 purl salut, cotto_work.
16:37 cotto_work bacek_at_work, what's broken about get_label and set_label?
16:39 chromatic joined #parrot
16:56 chromatic joined #parrot
17:02 dalek rakudo: b12fd89 | moritz++ | src/cheats/parrot/Protoobject.pir:
17:02 dalek rakudo: don't warn on boolification of type objects.
17:02 dalek rakudo: Just evaluate them always to false.
17:02 dalek rakudo: Also include a wee bit more information in the warnings when using a type
17:02 dalek rakudo: object as a value (in the vtable methods in cheats/parrot/Protoobject.pir)
17:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​12fd896ea72ead4e360a9283f58c0115b19d5e0
17:19 particle joined #parrot
17:24 ttbot joined #parrot
17:31 dalek rakudo: 79085cd | (Solomon Foster)++ | src/Perl6/Grammar.pm:
17:31 dalek rakudo: Add Zop to the grammar.  (Actual implementation not yet there.)
17:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​9085cd694047ef5f67929899e695ba547964dbc
17:31 dalek rakudo: bc08aa4 | (Solomon Foster)++ | src/ (2 files):
17:31 dalek rakudo: Implement infix:<X>.
17:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​c08aa40449bcace0eea33602e78629441ef3c6c
17:31 dalek rakudo: e3b5d7b | (Solomon Foster)++ | src/Perl6/Grammar.pm:
17:31 dalek rakudo: Add Sop and Xop to the grammar, without actually implementing them.
17:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​3b5d7b61ffbcb89110c559152cd9af737e169cc
17:34 whiteknight bt
17:47 plobsing No stack.
17:47 payload joined #parrot
17:54 cotto_work we need to fix pod_syntax.t to deal properly with nqp
17:54 cotto_work fsvo we
17:54 whiteknight my PMCMatrix2D type is going to have a fill() method to populate a swath of elements with a given value. But, I don't know whether I should do straight pointer copies, or use VTABLE_clone
17:55 whiteknight any opinions?
17:56 plobsing you can build a cloning fill out of a non-cloning one easily enough. the reverse is not true.
17:56 kthakore hi
17:56 purl hola, kthakore.
17:57 kthakore are OS threads possible with parrot?
17:57 dalek parrot: r44940 | chromatic++ | branches/pcc_hackathon_6Mar10/src/call/args.c:
17:57 whiteknight plobsing: true, but I'm wondering if there is a utility for a cloning fill?
17:57 dalek parrot: [PCC] Tided code; no functional changes.
17:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44940/
17:57 dalek parrot: r44941 | chromatic++ | branches/pcc_hackathon_6Mar10/src/ops/core.ops:
17:57 dalek parrot: [ops] Made set_returns op clear current object so that the new PCC sig object
17:58 dalek parrot: won't unshift in the invocant.  That'd be one positional too many to return.
17:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44941/
17:58 Coke chromatic: what's the eta on mergeback on that branch? post-release?
17:59 payload joined #parrot
17:59 chromatic Definitely post-release.
17:59 chromatic Lots of tests still fail.
18:00 * Coke realizes that 2.2 is due tomorrow.
18:00 cotto_work yes it is
18:01 iblechbot joined #parrot
18:01 ash_ joined #parrot
18:06 plobsing chromatic: if we de-dupped strings while generating PBC, we should get all the advantages of that PBC string consting patch plus smaller PBCs.
18:10 chromatic I think we do de-dup strings when generating PBCs.
18:10 chromatic However, the de-dup on loading de-dups *across* PBCs.
18:10 chromatic It also de-dups between multiple PBCs *and* constant STRINGs in libparrot.
18:11 plobsing chromatic: OK I see how its not as big a win, but I don't see us doing that right now. I'm looking at PF_store_string.
18:12 chromatic I thought NotFound wrote some code to merge constants.
18:13 Psyche^ joined #parrot
18:14 plobsing sounds cool. where can I see that?
18:14 atrodo joined #parrot
18:15 plobsing but in any case, that wouldn't catch all strings. I know that ImageIO freezing calls PF_store_string directly.
18:16 cotto_work plobsing, r44606
18:16 dalek parrot-linear-algebra: 65aa330 | Whiteknight++ | t/ (3 files):
18:16 chromatic r44606, TT #1493
18:16 dalek parrot-linear-algebra: update nummatrix2d.t to use the new Testcase library. Fix things so all tests pass. Move more common stuff into the parent.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/65aa330677c56e4d1773195833625605cb633bd1
18:16 dalek parrot-linear-algebra: 67bff8b | Whiteknight++ |  (2 files):
18:16 dalek parrot-linear-algebra: identify and avoid an issue in nummatrix2d where we set_block with a non-nummatrix2d argument. Causes segfault before the workaround. Add TODO notes and test stubs for when we do fix it
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/67bff8b3a90f065dc1fe11281827f2b9a3d44284
18:16 dalek parrot-linear-algebra: cf4d838 | Whiteknight++ | t/pmc/charmatrix2d.t:
18:16 plobsing so string constants in PMCs are excluded
18:16 dalek parrot-linear-algebra: update CharMatrix2d to use the Test library. Some tests fail.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/cf4d838155941d9a45b0c837283b1fcac7b16a2a
18:16 dalek parrot-linear-algebra: e630f9d | Whiteknight++ | t/Testcase.nqp:
18:16 dalek parrot-linear-algebra: update CharMatrix2d to use the Test library. Some tests fail.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/e630f9dcadf4021445d271c8fe250725e5f2bd20
18:16 dalek parrot-linear-algebra: a13f126 | Whiteknight++ | t/ (2 files):
18:16 dalek parrot-linear-algebra: override fill() tests for charmatrix2d. It behaves subtly different than other matrix types because of it's focus on string arrays.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/a13f126f6f7527d531e073d43b1421ccfd2bdb9b
18:16 dalek parrot-linear-algebra: 6f0ce99 | Whiteknight++ | src/pmc/charmatrix2d.pmc:
18:16 dalek parrot-linear-algebra: update charmatrix2d to use rows/cols isntead of x/y internally, for clarity
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/6f0ce9925ddf91f13c14c7fa8a0685a84ef464bb
18:16 dalek parrot-linear-algebra: 04f9eff | Whiteknight++ | t/pmc/charmatrix2d.t:
18:16 dalek parrot-linear-algebra: add some todo notes. All charmatrix2d tests pass, or are properly todo'd
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/04f9efff55620015ea6baaa0c748b482b03a7485
18:16 dalek parrot-linear-algebra: e46e5d7 | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
18:16 dalek parrot-linear-algebra: add an is_equal vtable to pmcmatrix2d
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/e46e5d783ed952e08a26c614c2e3171aae38d311
18:16 dalek parrot-linear-algebra: ec0e7ab | Whiteknight++ |  (2 files):
18:16 dalek parrot-linear-algebra: update pmcmatrix2d.t to use new Test library. Fix PMCMatrix2D so empty spots are PMCNULL instead of NULL. Add is_equal and clone_vtables. All but two tests pass now.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/ec0e7abbd2d40fad2d4590ea1555cfb82eea2ad4
18:16 dalek parrot-linear-algebra: a4d0b23 | Whiteknight++ | src/pmc/pmcmatrix2d.pmc:
18:16 dalek parrot-linear-algebra: add a fill() method which fills the specified area with clones of the given argument.All tests now pass.
18:16 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/a4d0b2318e49a07c04189aed0d3f4a19b294dd90
18:16 whiteknight ... I forgot how many commits I made. Sorry for the flood
18:17 Tene Yeah, quit doing so much work!  You're making the rest of us look bad!
18:25 kjeldahl joined #parrot
18:27 cotto_work mikehh, next time you fix opsc code, make sure the build still works (make opsc).  nqp has a different pod syntax from Perl 5.
18:34 mikehh cotto_work: ok - we got to incorporate tests for nqp in the test suite then
18:34 cotto_work agreed
18:35 Coke any tests that test "perl" are meant for "perl5", not nqp or perl6
18:35 Coke easy fix is to fix the Parrot::Distribution modules that checks for perl files.
18:36 mikehh everything passes for me except copdetest and mostly it fails on nqp stuff, and ext/nqp-rx/src/gen/settings.pm line which it shouldn't be testing anyway
18:37 payload joined #parrot
18:38 Coke nothing in ext/ should be run under codest, IMO.
18:38 Coke "codetest"
18:38 whiteknight +1
18:38 purl 1
18:39 mikehh yes - we agreed on that a few months ago
18:39 mikehh talking about ext - has the latest nqp been put there?
18:39 Andy joined #parrot
18:40 mikehh nqp_rx or whatever
18:40 payload joined #parrot
18:42 Coke mikehh: can  you open a ticket on that codetest stuff so we don't forget?
18:43 mikehh Coke: its in the ops_pct branch, but I will do something on that
18:48 mikehh cotto_work: what is required regarding src/ops/core_ops.c - it gets removed by make realclean and it gets restored by svn update
18:49 mikehh also the build generates line no's now (for me at least) which the file in the repo doesn't have
18:49 cotto_work It shouldn't be removed by clean anymore.
18:50 cotto_work unless something's changed, it's the old ops2c perl code that generated the line numbers
18:51 mikehh you did a merge from trunk - so maybe that need to be checked
18:52 cotto_work I remember doing some work but the build infrastructure is a bit rough around the edges.
18:52 mikehh or bacek might have added it
18:52 cotto_work It'll be easier to fix once ospc does everything that osp2c does now.
18:55 cotto_work until then it's worthwhile for the branch to have some quirks
18:56 cotto_work Yeah.  The opsc-generated code doesn't do line numbers yet.
18:58 mikehh anyway I'll have a look later - got an LUG meeting in half an hour
19:03 dalek parrot: r44942 | chromatic++ | branches/pcc_hackathon_6Mar10/src/call/args.c:
19:03 dalek parrot: [PCC] Removed invocant unshifting from Parrot_pcc_build_sig_object_from_op(),
19:03 dalek parrot: which was the source of many failing tests.  There's something still odd here,
19:03 dalek parrot: but many, many more tests pass than fail now.  We need a different approach.
19:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44942/
19:05 eric_j joined #parrot
19:06 TiMBuS joined #parrot
19:22 lichtkind joined #parrot
19:25 bacek joined #parrot
19:27 chromatic bacek, I reclaimed a lot of tests on the PCC branch with r44942.
19:28 chromatic Unfortunately, one or two regressed.
19:29 hercynium joined #parrot
19:32 bacek morning...
19:32 whiteknight incoming
19:32 purl duck!
19:32 dalek parrot-linear-algebra: 6140e52 | Whiteknight++ | t/ (3 files):
19:32 dalek parrot-linear-algebra: change fancyvalue to take an index. This allows us to return an ordered set of interesting values, which we can use to run interesting tests. Add common tests for transpose and mem_transpose.
19:32 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/6140e5298106f64831cd220c927823f448b7e189
19:32 purl dalek: that doesn't look right
19:32 dalek parrot-linear-algebra: 455f275 | Whiteknight++ | t/ (3 files):
19:32 dalek parrot-linear-algebra: add common tests for initialize_from_array and initialize_from_args. I think only nummatrix2d has these methods right now, so tests for other types fail.
19:32 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/455f2750c62fc894bdd80fc927e7d92489e1e234
19:32 dalek parrot-linear-algebra: a46790c | Whiteknight++ | t/ (2 files):
19:32 dalek parrot-linear-algebra: add tests for iterate_function_inplace using closures. Fix tests for initialize_from_args
19:32 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/a46790cd0532e84660949fe395c7db589d421d78
19:32 dalek parrot-linear-algebra: e0f1f05 | Whiteknight++ | t/Testcase.nqp:
19:32 dalek parrot-linear-algebra: fix test ordering to me more like what Austin++ had before I was stupid and broke it
19:32 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/e0f1f05060d832e7aa0388d34b0ad168c502aeb3
19:33 bacek chromatic, I never understand removed code anyway.
19:35 chromatic We're down to 25 failing test files in coretest now.
19:35 chromatic Most of the other failures were because test_more.pir didn't work, thanks to that removed code.
19:38 bacek 2 failing tests about return_info
19:38 bacek and we need IMCC magician to fix them :)
19:39 chromatic Tell me what I need to do (preferably in a ticket) and I may be able to make them work.
19:40 bacek we need new opcode "set_return_info" which will simulate old behaviour
19:41 bacek and change IMCC to emit it for PCC calls
19:41 purl bacek: that doesn't look right
19:41 bacek purl, forget change
19:41 purl bacek: I forgot change
19:52 dalek parrot: r44943 | bacek++ | branches/pcc_hackathon_6Mar10/​src/call/context_accessors.c:
19:52 dalek parrot: Add assertions in Parrot_pcc_get_foo_constant to prevent access to wrong constant and catch it early.
19:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44943/
19:52 dalek parrot: r44944 | bacek++ | branches/pcc_hackathon_6Mar10/src/runcore/trace.c:
19:52 dalek parrot: Use Parrot_pcc_get_foo_constant instead of PCONST in trace runcore.
19:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44944/
19:52 dalek parrot: r44945 | bacek++ | branches/pcc_hackathon_6Mar10​/t/compilers/imcc/syn/tail.t:
19:52 dalek parrot: Update test to use get_results after call.
19:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44945/
19:52 bacek chromatic, Coro.yield is broken.
19:52 chromatic I'm looking at t/oo/methods.t
19:53 chromatic That one looks like a nice, easy fix once we figure out what's going on.
19:53 chromatic I have to decommute right now though.
19:56 bacek ok. Coro.invoke fixed.
19:56 bacek I'll see what I can do this morning.
20:05 kthakore left #parrot
20:08 dalek parrot: r44946 | bacek++ | branches/pcc_hackathon_6Ma​r10/src/pmc/coroutine.pmc:
20:08 dalek parrot: Propogate ctx.current_signature into callee context in Coro.invoke
20:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44946/
20:08 dalek parrot: r44947 | bacek++ | branches/pcc_hackathon_6Mar10/src/extend.c:
20:08 dalek parrot: Fetch current_singature before filling results in Parrot_ext_call.
20:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44947/
20:08 dalek parrot: r44948 | bacek++ | branches/pcc_hackathon_6Mar10/t/pmc/nci.t:
20:08 dalek parrot: Update test to use get_results after invokecc
20:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44948/
20:13 kurahaupo joined #parrot
20:14 cotto_work draft news for Parrot 2.2.0, feel free to add your contributions: http://gist.github.com/333270
20:16 cotto_work note: I've added a deliberate lie.  See if you can find it.
20:16 cotto_work (or have I?)
20:20 Coke sun cc support was never missing?
20:21 Coke I think it's more important that we we no longer invoke perl to invoke the compiler (rather than that the build verbosity increased).
20:21 cotto_work I thought we used to support it.
20:22 cotto_work I could be wrong.
20:23 chromatic We did, sort of.
20:29 kurahaupo joined #parrot
20:38 Coke andy d's been building on it for some time. it never went away, except in branch.
20:38 Coke ... where it was restored before mergeback to trunk.
20:59 payload joined #parrot
21:02 cosimo joined #parrot
21:04 kurahaupo joined #parrot
21:19 bacek chromatic, easiest way to fix other bugs is to remove invoke_method. And fix all calls to use invoke_from with "Pi" signature.
21:19 Whiteknight joined #parrot
21:20 bacek chromatic, check build_call_from_varargs. It has same hairy code as you removed in build_sigobject.
21:20 chromatic I saw that; wasn't sure if removing it would help.
21:21 tewk It would at least be more readable.
21:21 bacek chromatic, it will. Removing it help with t/pmc/object-meths.t
21:22 chromatic I get a lot of too few positional arguments: 0 passed, 1 (or more) expected exceptions in coretest.
21:24 chromatic Ah, I see what you're saying.
21:25 bacek Anyway, time to prepare for $dayjob.
21:25 bacek See you.
21:26 hercynium joined #parrot
21:37 NotFound plobsing: ping
21:41 joeri1 joined #parrot
21:41 joeri1 left #parrot
21:46 dalek parrot: r44949 | chromatic++ | branches/pcc_hackathon_6Mar10/src/call/pcc.c:
21:46 dalek parrot: [PCC] Added static Parrot_pcc_add_invocant() function to call only when
21:46 dalek parrot: necessary, rather than relying on the state of interp->current_object which was
21:46 dalek parrot: frequently wrong.
21:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44949/
21:47 cotto_work We need to rip off speed.pypy.org .
21:59 bacek joined #parrot
22:05 dalek rakudo: 8826895 | (David Romano)++ |  (10 files):
22:05 dalek rakudo: Merge remote branch 'upstream'
22:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​826895c7aba40dd01795a0e6af3ec48857ce5f0
22:07 Whiteknight chromatic: methinks interp->current_object should disappear eventually. We should be able to store that info directly in the CallContext and not worry about copying i
22:08 chromatic Agreed.
22:08 chromatic I managed to get rid of some of it though.
22:09 Whiteknight how far are we on the pcc stuff? I'm up'ing and rebuilding now
22:09 chromatic 12 test files have failures currently.
22:09 chromatic PGE doesn't build.
22:09 Whiteknight oh wow, that's not bad at all
22:09 Whiteknight PGE never builds. It's the canary in the coalmine
22:10 chromatic CodeString doesn't build, so PGE has no chance.
22:10 bacek chromatic, check callmethodcc. Looks like we have to call add_invokant here
22:10 chromatic Er, CodeString doesn't pass tests.
22:11 chromatic bacek, we don't build a signature there sadly... I'm not sure where to put it.
22:11 chromatic Unless you mean getting one after VTABLE_invoke...?
22:12 chromatic Isn't there a problem with NCI methods there though?
22:18 dalek parrot: r44950 | bacek++ | branches/pcc_hackathon_6Mar10/src/call/args.c:
22:18 dalek parrot: Remove invokant unshifting similar to r44942.
22:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44950/
22:20 plobsing NotFound: pong
22:21 NotFound plobsing: the strings contained in pmc are not so easy to unduplicate in the pbc, they follow a differente path.
22:22 plobsing NotFound: exactly. I think we'd have to pass some kind of state to PF_store_string to manage it.
22:23 NotFound plobsing: even with that, I think it can't be done with the current freeze and thaw implementation.
22:25 plobsing NotFound: why not? if we passed some kind of state object to PF_store_string (which is what freeze/thaw and IMCC use), it could contain a list of strings already seen and use a flag to indicate this. PF_fetch_string could use a similar list to lookup flagged duplicates.
22:27 Essobi_ joined #parrot
22:28 NotFound plobsing: I'm not compltely sure, but looks like PF_store_string gets passed the PMC content already serialized, doesn't even know what strings are on the inside.
22:29 plobsing NotFound: that's not quite how it works. PMCs don't (or shouldn't, Eval is evil here) pick their serialization.
22:30 plobsing The way freeze/thaw works is that you tell the visitor about your attributes. In the end an object graph is nothing more that INTVALS, FLOATVALS, STRINGS, and links between nodes.
22:31 NotFound plobsing: I don't see such strings in the pbc constant table.
22:32 plobsing NotFound: that's because they are inline ATM. I'm suggesting we put them in the constant table or give them an ID some other way so that we can refer back to the first encountered instance upon duplicate detection.
22:33 cotto_work particle, ping
22:34 particle pong
22:34 plobsing This could be a big win for any code that stores a lot of constants based on hashes with the same keys (objects of the same type for example)
22:36 NotFound plobsing: the problem I see is that there are several functions invoked to do teh unpacking, that doesn't have any information about the possible related constant segment.
22:36 plobsing NotFound: If freeze/thaw new about the PF being generated, it could cooperate.
22:37 plobsing s/new/knew/
22:37 NotFound plobsing: that was I said, the current freeze/thaw way can't do that.
22:38 pjcj joined #parrot
22:38 plobsing NotFound: we can add an init_pmc vtable that accepts a PackFile PMC
22:39 Whiteknight I configured with --no-line-directives, but my src/pmc/codestring.c file is still infected with them
22:40 bacek_at_work Whiteknight, make reconfig
22:40 plobsing another reason I'd like freeze/thaw to know about the surrounding PackFile: every constant PMC gets its own PBC header. If it is going into a larger PBC, I don't think that is necessary.
22:40 NotFound plobsing: too complicated to require the cooperation of all pmc, IMO.
22:40 plobsing NotFound: how does it require cooperation of all PMCs?
22:40 Whiteknight bacek_at_work, Already reconfigured, twice
22:41 NotFound plobsing: if you want a vtable function for that purpose...
22:42 plobsing NotFound: there is already a vtable function init_pmc
22:43 plobsing It is just not defined on  ImageIO yet.
22:43 mj41 http://schlueters.de/blog/arch​ives/128-Future-of-PHP-6.html Future of PHP 6 - ... UTF-16 as internal encoding for "everything" ... is dead.
22:44 NotFound plobsing: oh, you mean in the ImageIO PMC only. Yes, I suppose that must be one of the changes required.
22:44 lucian mj41: i wish it'll just die already
22:46 patspam joined #parrot
22:59 Whiteknight bacek_at_work, I'm tracing througe the codestring failures. Any hints about where to look?
23:01 tetragon joined #parrot
23:03 bacek_at_work Whiteknight, callmethodcc
23:03 Whiteknight callmethodcc? That's where the error is?
23:06 Whiteknight callmethod_p_p, _p_s, _p_s_?
23:07 Whiteknight _p_s_p
23:08 bacek_at_work At least _p_s.
23:08 patspam joined #parrot
23:08 bacek_at_work Check t/oo/methods.t
23:11 patspam joined #parrot
23:16 Whiteknight we get into the find_method :vtable alright, with the correct invocant and argument
23:17 sorear I was thinking about how best to add raw file descriptor IO... how about I add a "POSIX" pmc, operates kindof like the existing OS pmc, but provides methods for the man 2 stuff instead
23:17 Whiteknight sorear: feel free to prototype it, or create it in an external projct
23:17 sorear instantiatable on all platforms, but the available methods vary - use can and catch ENOSYS
23:18 sorear is this a sane idea?
23:18 Whiteknight sorear: sounds good to me
23:44 ruoso joined #parrot
23:45 sorear Whiteknight: Do you have any good example code for small, JustWorks, Parrot extensions w/ custom PMC code?
23:45 Whiteknight Parrot-Linear-Algebra
23:45 purl it has been said that Parrot-Linear-Algebra is a package of matrix datatypes for Parrot
23:46 Whiteknight http://www.github.com/whitek​night/parrot-linear-algebra
23:48 darbelo decnum-dynpmcs
23:48 purl decnum-dynpmcs is http://code.google.com/p/decnum-dynpmcs/ or a 2009 GSoC porject or a set of 'big' decimal arithmetic types for parrot.
23:52 plobsing my 2 cents: I'd like to see a dynops posix API, so that work on restricted runloops and TT #1500 are more useful
23:53 sorear plobsing: please explain what you mean by this
23:54 plobsing C-based PMCs are opaque to parrot, so if one is available that allows possibly undesirable actions, it could be used to violate security implemented by filtering ops
23:54 Whiteknight Austin: ping
23:54 dalek rakudo: dea0a59 | jonathan++ | src/Perl6/ (2 files):
23:54 dalek rakudo: $.foo can now accept arguments, and various issues with the RHS of has $.x = ... are resolved.
23:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​ea0a59672af4a19fe758f6f7e869a268cf2f69c
23:54 dalek rakudo: 1c75cfe | jonathan++ | t/spectest.data:
23:54 dalek rakudo: Turn S12-methods/syntax.t back on.
23:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​c75cfecdc2b2c78521d5ac957becee7ccfcec19
23:55 plobsing sorear: restricted runloops are sort of like Safe.pm for Perl 5
23:55 AndyA joined #parrot
23:58 sorear (I thought the cool way to do security these days was limiting object visibility?)
23:59 sorear OK.
23:59 sorear How does this affect me?
23:59 plobsing hmmm... maybe you're right. I'm no security expert.
23:59 sorear What would a dynops extension look like, and how would I use it, especially from other extensions?

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

Parrot | source cross referenced