Camelia, the Perl 6 bug

IRC log for #parrot, 2010-08-03

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 dduncan joined #parrot
00:11 cotto_work dukeleto (whenever you see this): do you know if any import of Parrot's svn repo to git will have the same revision hash values or if that's specific to the import?
00:14 dduncan left #parrot
00:22 jevin joined #parrot
00:28 jevin joined #parrot
00:29 particle cotto_work: the hash values are deterministic
00:30 particle they must be the same, as they're generated from the file contents
00:31 cotto_work That's what I'd expect.
00:31 sorear it does, though, depend on the parameters of the conversion
00:31 sorear if a different mailmap file is used, the hash will come ou differently
01:08 plobsing joined #parrot
01:33 dukeleto cotto_work: if an import starts on the same revision and uses the same import parameters (like mailmap and a few others) then I beleive the hash values are the same
01:46 ruoso joined #parrot
01:51 chromatic joined #parrot
01:52 chromatic msg plobsing Suppose we had a mechanism to unpack PackFile constants lazily.
01:52 purl Message for plobsing stored.
01:52 plobsing chromatic: that seems doable
01:53 chromatic ping, I suppose
01:53 chromatic some 28.75% of Rakudo's startup time is unpacking constants.
01:53 plobsing already? I thought it wasn't using constants heavily.
01:54 chromatic 25,391 of them by my count.
01:54 chromatic almost 18k strings and the rest PMCs
01:55 plobsing that does seem like a lot. I doubt they are deep though. How many are non-subs?
01:55 plobsing and non-FIA
01:55 chromatic That I can't tell you offhand.
01:57 plobsing FIA and Sub are (in my completely unsupported-by-facts opinion) likely the bulk of the PMCs thawed and they don't recurse much.
01:57 chromatic You're probably right.
01:58 plobsing we could still have a look at it though. Do we let the GC know we're allocating a ton of things that won't become free before it runs out of memory while we thaw?
01:59 plobsing strings that is (I know we do for PMC)
01:59 chromatic 22,422 Subs thawed, 19,436 LexInfos thawed, 5,801 Keys thawed, 7,501 Strings thawed, 691 FIAs thawed, 135 FPAs thawed.
02:00 chromatic Parrot_thaw_pbc suspends the GC.
02:00 plobsing but what about for strings?
02:00 plobsing oh
02:00 plobsing nm
02:02 plobsing those LexInfos could get heavy.
02:02 * dukeleto would love some feedback on http://news.perlfoundation.org/20​10/08/2010q3-grant-proposal.html
02:07 bacek joined #parrot
02:17 plobsing actually, lazily decoding the const table seems pretty easy. I've got half of a patch already. Should be done sometime tonight.
02:17 plobsing doing it right might be a little tougher
02:19 chromatic It seemed straightforward, if we have good encapsulation now.
02:19 kid51 joined #parrot
02:20 kid51 Smolder down?
02:20 kid51 Could not upload report to Smolder at http://smolder.plusthree.comHTTP CODE: 500 (Can't connect to smolder.plusthree.com:80 (connect: Connection refused))
02:21 dalek parrot: r48254 | jkeenan++ | branches/tt1725_headerizer_docum​entation/t/perl/testlib/imcc.y:
02:21 dalek parrot: Add a dummy file for testing headerizer.
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48254/
02:21 dalek parrot: r48255 | jkeenan++ | branches/tt1725_headerizer_document​ation/t/perl/testlib/dummy_imcc.y:
02:21 dalek parrot: Make filename self-documenting.
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48255/
02:21 dalek parrot: r48256 | jkeenan++ | branches/tt1725_headerizer_documentation (2 files):
02:21 dalek parrot: Change name of file when mentioned inside.  Add to MANIFEST.
02:21 purl dalek: that doesn't look right
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48256/
02:21 dalek parrot: r48257 | jkeenan++ | branches/tt1725_headerizer_documen​tation/tools/build/headerizer.pl:
02:21 dalek parrot: Move declaration of main() toward top of file.
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48257/
02:21 dalek parrot: r48258 | jkeenan++ | branches/tt1725_headerizer_documentation (2 files):
02:21 dalek parrot: A little refactoring as we get started writing tests.
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48258/
02:22 khairul joined #parrot
02:23 kid51 dukeleto:  I'm sure someone will ask:  Why should the Perl Foundation fund a Parrot proposal?  Why shouldn't the Parrot Foundation do that?  (Now we know that PaFo hasn't bothered to raise any money yet, but ... )
02:24 chromatic Looks like the ImageIO PMC's mark() should mark its constant table.
02:25 plobsing One pitfall is that constants are variably sized in PBC. I'll have to scan linearly for each constant on the first lookup. It'll be more costly, but it'll be amortized better.
02:26 plobsing If and when that becomes a packfile pmc, sure. But it should be being held live by other sources.
02:33 Coke msg chandon - I don't think the SDL examples have been maintained.
02:33 purl Message for chandon stored.
02:33 Coke kid51: because Rakudo sits on top of parrot.
02:34 Coke so the Perl 6 implementation with the biggest mindshare ATM would benefit.
02:34 Coke As a GC member, I'd certainly consider a parrot-will-help-rakudo grant proposal.
02:37 kid51 Coke:  I'm not disagreeing.  I'm just trying to avert a possible objection.
02:38 dalek parrot: r48259 | jkeenan++ | branches/tt1725_headerizer_document​ation/t/perl/testlib/dummy_imcc.y:
02:38 dalek parrot: Start to trim down this dummy copy file to a more reasonable length.
02:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48259/
02:41 chromatic plobsing, is it alive during thaw?
02:43 plobsing yes. it is the constant table of the currently-decoding bytecode
02:43 plobsing it's a bit of a hack to allow for backreferences to previous constant strings in the const table
02:44 TiMBuS joined #parrot
02:44 sorear does any other implementation have any significant mindshare *at all*?
02:50 plobsing How much does allocating 1 small malloced object per constant cost us?
02:51 plobsing seems like it could be an easy win to consolodate those into one big allocation
02:54 dalek parrot: r48260 | plobsing++ | branches/dynop_mapping (129 files):
02:54 dalek parrot: sync with trunk
02:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48260/
02:56 Coke sorear: one hates to presume.
02:57 Coke especially when one is both on the TPF GC and the PaFo board. ;)
02:58 khairul cotto: ping
03:00 cotto khairul, pong
03:01 janus joined #parrot
03:03 Austin joined #parrot
03:11 dalek parrot: r48261 | khairul++ | branches/gsoc_instrument/src/dynpmc (6 files):
03:11 dalek parrot: Refactored runcore functions out of Instrument.pmc
03:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48261/
03:28 dalek parrot: r48262 | khairul++ | branches/gsoc_instrument/src/d​ynpmc/instrumentstubbase.pmc:
03:28 dalek parrot: Updated get_hook_list to return a STRING* instead.
03:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48262/
03:28 dalek parrot: r48263 | khairul++ | branches/gsoc_instrument/sr​c/dynpmc/instrumentop.pmc:
03:28 dalek parrot: Updated to initialise using an Instrument instance.
03:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48263/
03:29 dalek parrot: r48264 | khairul++ | branches/gsoc_instrument/src/dynpmc (3 files):
03:29 dalek parrot: Updated method instrumentation.
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48264/
03:29 dalek parrot: r48265 | khairul++ | branches/gsoc_instrument/src/pmc/pointer.pmc:
03:29 dalek parrot: Reverted previous change to pointer.pmc.
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48265/
03:29 dalek parrot: r48266 | khairul++ | branches/gsoc_instrument/tools/build (2 files):
03:29 dalek parrot: Updated generator scripts.
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48266/
03:29 dalek parrot: r48267 | khairul++ | branches/gsoc_instrument/src/dynpmc (2 files):
03:29 dalek parrot: Regenerated stub functions.
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48267/
03:29 dalek parrot: r48268 | khairul++ | branches/gsoc_instrument/t (7 files):
03:29 dalek parrot: Updated test cases
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48268/
03:29 dalek parrot: r48269 | khairul++ | branches/gsoc_instrument (6 files):
03:29 dalek parrot: Updated runtime library
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48269/
03:33 chromatic Every so often, a malloc has to reinvent apple pie and costs a lot.
03:35 chromatic Hm, why use an UnManagedStruct to hold the const table for ImageIO?  Why not just use set_pointer() instead?
03:45 dalek parrot: r48270 | khairul++ | branches/gsoc_instrument/MANIFEST:
03:45 dalek parrot: Updated manifest.
03:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48270/
03:48 jsut joined #parrot
04:01 dalek parrot: r48271 | khairul++ | branches/gsoc_instrument/co​nfig/gen/makefiles/root.in:
04:01 dalek parrot: Fixed build order
04:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48271/
04:20 tcurtis joined #parrot
04:22 jsut joined #parrot
04:22 Austin joined #parrot
04:22 janus joined #parrot
04:22 TiMBuS joined #parrot
04:22 bacek joined #parrot
04:22 chromatic joined #parrot
04:22 ruoso joined #parrot
04:22 plobsing joined #parrot
04:22 Patterner joined #parrot
04:22 workbench joined #parrot
04:22 dngor joined #parrot
04:22 estrabd joined #parrot
04:22 cotto_work joined #parrot
04:22 cxreg joined #parrot
04:22 davidfetter joined #parrot
04:22 zostay joined #parrot
04:22 preflex joined #parrot
04:22 NotFound joined #parrot
04:22 s1n joined #parrot
04:22 Coke joined #parrot
04:22 mikehh joined #parrot
04:22 snarkyboojum joined #parrot
04:22 jan joined #parrot
04:22 hudnix joined #parrot
04:22 contingencyplan joined #parrot
04:22 baest joined #parrot
04:22 dalek joined #parrot
04:22 simcop2387 joined #parrot
04:22 cognominal joined #parrot
04:22 AzureStone joined #parrot
04:22 jjore joined #parrot
04:22 pmichaud joined #parrot
04:22 Util joined #parrot
04:22 PerlJam joined #parrot
04:22 dukeleto joined #parrot
04:22 mj41 joined #parrot
04:22 japhb joined #parrot
04:22 slavorg joined #parrot
04:22 slavorgn joined #parrot
04:22 nopaste joined #parrot
04:22 NOTevil joined #parrot
04:22 ttbot joined #parrot
04:22 kthakore joined #parrot
04:22 ingy joined #parrot
04:22 elmex joined #parrot
04:22 KatrinaTheLamia joined #parrot
04:22 Essobi joined #parrot
04:22 Hunger joined #parrot
04:22 Ryan52 joined #parrot
04:22 szabgab joined #parrot
04:22 cotto joined #parrot
04:22 sjn joined #parrot
04:22 silug joined #parrot
04:22 knewt joined #parrot
04:22 spinclad joined #parrot
04:22 cosimo joined #parrot
04:22 rblackwe joined #parrot
04:22 jnthn joined #parrot
04:22 moritz joined #parrot
04:22 TimToady joined #parrot
04:22 ascent joined #parrot
04:22 bacek_at_work joined #parrot
04:22 athomason joined #parrot
04:22 jhelwig joined #parrot
04:22 treed joined #parrot
04:22 TonyC joined #parrot
04:22 purl joined #parrot
04:41 Chandon joined #parrot
04:45 tcurtis Tree::Optimizer.run(:combine(1)) is implemented!. \o/
04:49 LoganLK joined #parrot
04:51 dalek parrot: r48272 | chromatic++ | trunk/src/pmc_freeze.c:
04:51 dalek parrot: [freeze] Tidied code; no functional changes.
04:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48272/
04:51 dalek parrot: r48273 | chromatic++ | trunk/src (2 files):
04:51 dalek parrot: [PMC] Added set_pointer to ImageIO PMC.
04:51 dalek parrot: This allows PMC freezing to avoid creating an UnManagedStruct initializer to
04:51 dalek parrot: store a PackFile_ConstTable pointer in the ImageIO PMC.
04:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48273/
04:58 petdance joined #parrot
05:15 chromatic joined #parrot
05:22 nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] Contiguous Constant Table" (5259 lines) at http://nopaste.snit.ch/22522
05:23 plobsing That appears to shave 2% off of './perl6 -e "say qq{Hello World}" >/dev/null'
05:23 plobsing worthwhile?
05:23 plobsing other benchmarks I should do?
05:23 chromatic I thought it'd be more, but let me finish up a couple of things here.
05:23 chromatic Are you testing with Callgrind or wallclock?
05:23 plobsing perl -MBenchmark -e 'Benchmark::cmpthese(100, {map {my $x = $_; $x => sub { `cd $x; ./perl6 -e "say qq{Hello World}" >/dev/null` }} ("rakudo", "rakudo-new")})'
05:24 chromatic Too much jitter in that one for my tastes.
05:24 plobsing How should I be testing?
05:25 chromatic alias cg='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes'
05:25 chromatic cg ./perl6 hi.p6
05:25 chromatic That's what I use.
05:25 plobsing btw, that's not the lazy constants we were talking about. That's just not making a zillion tiny objects for constants.
05:25 chromatic Oh, the malloc coalescing.  Very nice.
05:26 chromatic I have 2.4% improvements here so far in another part of the code, with another possibility.
05:31 chromatic Total improvement, 2.78%.
05:32 plobsing OK, I've run the vallgrind. Now what?
05:33 chromatic Compare the instruction counts.
05:33 chromatic ==4030== Events    : Ir
05:33 chromatic ==4030== Collected : 1682101191
05:33 chromatic The latter number is important.
05:34 theory joined #parrot
05:34 plobsing the counts differ by only 0.4% in favour of the new code
05:35 plobsing all that work for 0.4%
05:36 chromatic The new code *looks* better though.
05:36 chromatic It's probably cache friendlier too.
05:38 plobsing yes. many fewer dereferences.
05:39 chromatic A modest little improvement in instruction counts but cleaner code and fewer dereferences is a clear benefit, if it passes all tests.
05:40 dalek parrot: r48274 | chromatic++ | trunk/src/hash.c:
05:40 dalek parrot: [hash] Added get_hash_val().
05:40 dalek parrot: This avoids the overhead of a function call to get a cached STRING hashval and
05:41 dalek parrot: speeds up the Rakudo startup benchmark by 1%.
05:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48274/
05:41 dalek parrot: r48275 | chromatic++ | trunk/src/hash.c:
05:41 dalek parrot: [hash] Used more get_hash_val().
05:41 dalek parrot: This improves Rakudo startup by another 1.29%.
05:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48275/
05:41 dalek parrot: r48276 | chromatic++ | trunk/src/hash.c:
05:41 dalek parrot: [hash] Added more get_hash_val().
05:41 dalek parrot: This improves Rakudo startup by 0.391%.
05:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48276/
05:41 chromatic I still think typed hashes are another 3% win.
05:41 plobsing Typed hashes where?
05:44 chromatic Instead of every hash struct being a bag full of function pointers, invert them.
05:44 chromatic Have a string hash, an int hash, etc.
05:45 chromatic All of a sudden things like string hashing and comparison are inlinable.
05:48 plobsing It wouldn't be too hard to hide those typed hashes behind the parrot_new_*_hash functions.
05:49 preflex joined #parrot
05:49 chromatic Right, we're just moving the ad hoc polymorphic dispatch elsewhere in our system.
05:55 plobsing I do doubt however, that string comparison is significantly inlinable. Don't we have string operation indirection to support different encodings?
05:57 dalek parrot: r48277 | plobsing++ | trunk (22 files):
05:57 dalek parrot: Coallesce PackFile_Constant allocations into an array held in PackFile_ConstTable.
05:57 dalek parrot: Reduces Rakudo startup by 0.4%
05:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48277/
06:09 chromatic There are eight ways to short circuit the comparisons.
06:10 chromatic We can't inline the most expensive ones, but we can inline the least expensive ones.
06:12 petdance Boy, I leave Parrot alone for a few weeks, and peopel try to sneak in const fudging!
06:13 plobsing If you're complaining about the consts I deleted, they were causing warnings.
06:13 dalek parrot: r48278 | plobsing++ | trunk (2 files):
06:14 dalek parrot: remove now unused PackFile_Constant constructor and destructor
06:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48278/
06:14 dalek parrot: r48279 | petdance++ | trunk/tools/dev/pbc_to_exe.pir:
06:14 dalek parrot: bytecode_size should be expressed as size_t, not int
06:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48279/
06:14 petdance "causing warnings" is not a problem.
06:14 plobsing it is if you use vim and ':cn' to step through your build
06:14 petdance Then other things need to be changed rather than throwing away consts.
06:15 plobsing fair enough. I dislike warnigns about "unsafe casts" however.
06:15 petdance Throwing away consts is a short-term solution.
06:15 petdance I dislike those warnings, too.
06:16 petdance But then there are better solutions than pretending they don't exist.
06:16 petdance I don't know what specifically you changed, and I'm not pointing at anyone.
06:16 petdance I just know that I tried to build today and I barf on src/hash.c
06:16 plobsing that wasn't me.
06:17 petdance Not realy interested in who.
06:17 petdance Just want to fix it.
06:17 petdance g++ is more stringent and I build under g++ because it makes sure everything isconst corect
06:18 plobsing is there any way to create a string from a C buffer without copying? I promise to not change it underneath parrot.
06:18 chromatic We had one, but I think someone removed it.
06:19 plobsing We copy every constant to a temporary string before thawing it to PBC. Just seems wasteful.
06:20 plobsing s/PBC/PMC/
06:21 uniejo joined #parrot
06:22 chromatic I fixed that a few months ago.
06:22 chromatic I think immutable strings undid it.
06:23 chromatic Though I seem to remember thinking "This is possible now we have immutable strings."
06:24 chromatic One of the STRING flags, PObj_external_FLAG I think, used to note that Parrot didn't control the underlying buffer storage.
06:24 petdance but now we don't have that any more, I think.
06:25 petdance ok, we do
06:25 plobsing yes. just found it. looks like it might do the trick
06:30 dalek parrot: r48280 | petdance++ | trunk/config/gen/makefiles/root.in:
06:30 dalek parrot: add a "tags" target because I always forget what the tags target really is
06:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48280/
06:32 dalek tracwiki: v9 | cotto++ | KhairulGSOC2010Schedule
06:32 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Khairul​GSOC2010Schedule?version=9&action=diff
06:38 petdance plobsing: So what DID you unconst?  I don't have any bummers other than src/hash.c.
06:39 plobsing some stuff in imageio.pmc IIRC
06:42 AndyA joined #parrot
06:42 plobsing petdance: C++ question - how do I write initializers for mutually referential static objects? gcc says predeclaration isn't valid in C++.
06:42 petdance dunno off hand.
06:42 petdance i'm about to head to bed.
06:42 petdance ask me tomorrow?
06:43 ruoso joined #parrot
06:47 dalek parrot: r48281 | petdance++ | trunk/src/hash.c:
06:47 dalek parrot: put back proper consting
06:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48281/
06:48 brianwisti joined #parrot
06:58 robin-gvx joined #parrot
07:20 ruoso joined #parrot
07:22 Casan joined #parrot
07:29 fperrad joined #parrot
07:53 moritz sz?
07:53 purl sz is, like, http://www.flickr.com/photos/szbalint​/3812328050/in/set-72157622011879092/
08:00 ruoso joined #parrot
08:26 ruoso joined #parrot
08:41 smash joined #parrot
08:46 ruoso joined #parrot
08:49 preflex joined #parrot
09:17 ambs joined #parrot
09:17 dalek parrot: r48282 | NotFound++ | trunk/src/pmc/imageio.pmc:
09:17 dalek parrot: add some const and change a UINTVAL to INTVAL to fix c++ and avoid warnings
09:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48282/
09:33 dalek parrot: r48283 | NotFound++ | trunk/t/pmc/oplib.t:
09:33 dalek parrot: one more test for OpLib and define and document the magic values used in one place
09:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48283/
09:49 dalek rakudo: 0a8ef0f | moritz++ | src/Perl6/Compiler.pir:
09:49 dalek rakudo: split PERL6LIB on ; on MSWin32 platform - szabgab++ for telling us
09:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​a8ef0fa793f5319ea8f7436f1ff0c18aa345b7e
09:54 jsut_ joined #parrot
10:06 AndyA joined #parrot
10:16 jsut joined #parrot
10:56 dalek parrot: r48284 | NotFound++ | trunk (2 files):
10:56 dalek parrot: some more tests and a bit of reorganization in Capture tests
10:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48284/
10:56 dalek parrot: r48285 | NotFound++ | trunk/src/pmc/capture.pmc:
10:56 dalek parrot: revert a change included by mistake in r48284
10:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48285/
11:07 whiteknight joined #parrot
11:20 whiteknight good morning, #parrot
11:40 ambs joined #parrot
11:45 Casan joined #parrot
11:45 Casan joined #parrot
11:45 dalek parrot: r48286 | NotFound++ | trunk/t/pmc/packfile.t:
11:45 dalek parrot: some more Packfile testing
11:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48286/
11:52 lucian joined #parrot
12:22 bacek aloha, humans
12:23 aloha joined #parrot
12:26 bacek http://blog.mozilla.com/rob-sayre/2010/08/02/​mozillas-new-javascript-value-representation/ - interesting idea for representation of objects in memory
12:30 ruoso joined #parrot
12:31 whiteknight good morning, bacek
12:31 bacek good evening, whiteknight :)
12:35 whiteknight very interesting idea. pointer tagging and NaN boxing would all be very cool to implement
12:38 bluescreen joined #parrot
12:40 bacek whiteknight, indeed :)
12:44 Coke kid51: if you're going to copy a file in the repository for testing headerizer, can it be one that isn't copyright melvin?
12:44 Coke er, msging.
12:45 Coke msg kid51 if you're going to copy a file in the repository for testing headerizer, can it be one that isn't copyright melvin? (and isn't IMCC? and is actual handrolled C instead of generated C? =-)
12:45 purl Message for kid51 stored.
12:49 * Coke spots a picture of allison... doing the macarena?
12:52 Coke msg kid51 (I see the length is no longer an issue. I mostly withdraw my objection.)
12:52 purl Message for kid51 stored.
13:06 ruoso joined #parrot
13:08 bkuhn joined #parrot
13:33 kthakore NotFound: ping?
13:34 ambs kthakore: sorry, not found.
13:34 ambs :D
13:34 kthakore ambs: :p
13:35 kthakore ambs: what up?
13:35 ambs in a sofa, at yapc eu, looking around and messing up with people on IRC :D
13:36 kthakore hahahah
13:36 kthakore ambs: :P
13:36 kthakore ambs: I am at work, wondering what NotFound did to stringhandle.pmc and io/api.c
13:36 ambs :D
13:36 kthakore yeah ...
13:36 * purl doo wop doo wop // shang a langa shanga langaa
13:37 kthakore ambs: so when does TPF deliberate on grants?
13:38 ambs kthakore: hope to get results published during 15th August
13:38 ambs but this time of the year is difficult
13:38 ambs as a lot of people is in vacations.
13:39 kthakore yeah
13:41 ambs but talking about that, probably a good time to send a mail to the committee members asking to vote before going in vacations.
13:42 Coke ambs: yah, a reminder of the deadline would be helpful.
13:43 Coke hey, for everyone that I told "I hate IRC"... I hate webex more. thank you.
13:45 kthakore ambs: I can vote for anyone on vacation
13:45 kthakore ambs: I volunteer
13:45 kthakore :p
13:45 ambs :D
13:45 smash Coke: IRC is nice
13:45 NotFound kthakore: I just moved some code from one file to the other
13:45 kthakore smash: I like you name. High five!
13:46 szbalint IRC++
13:46 kthakore NotFound: I know but ... why is it in io/api.c
13:46 kthakore NotFound: didn't we want to move it out?
13:46 * kthakore is soooo confused now
13:46 NotFound kthakore: What 'it' ?
13:46 purl 'it' is a euphemism for having sex with hermaphroditic micro sheep
13:46 kthakore ok
13:46 kthakore we have a else if for when PMC is stringhandle
13:46 kthakore right?
13:46 kthakore in io/api.c
13:47 kthakore for open and other methods?
13:47 kthakore you first asked me to remove those and move it to src/stringhandle.pmc
13:47 Coke purl, forget 'it'
13:47 purl Coke: I forgot 'it'
13:48 kthakore but in the last commit you moved code from string...pmc to io/api.c
13:48 Coke purl: GDIAF
13:48 purl Coke: sorry...
13:48 Coke purl: DIAF?
13:48 purl DIAF is Die in a Fire
13:48 Coke right. do that.
13:48 kthakore NotFound: ps. at this point I would like to say. thank you very much for being so patient.
13:49 Coke smash, I'm willing to believe irc just sucks for me.
13:49 ambs Coke: here you go
13:49 kthakore NotFound: btw the r48252 is what I am talking about
13:49 purl talking about is "Yeah, you're alway talking and talking and talking. Shut up and code."
13:49 kthakore ??
13:49 kthakore purl: sowwy
13:49 purl kthakore: excuse me?
13:49 smash Coke: what irc client do you use ?
13:50 szbalint shame about the no luck with bitchx on OSX. I haven't used that client for years and years, but it used to be good.
13:50 NotFound kthakore: Now there is a special case for FileHandle, or an HLL map of it, nothing else
13:50 * ambs is using colloquy. Not liking it much
13:51 kthakore HLL map?
13:51 Coke ambs: did you see kid51's question here about "why a parrot grant?"
13:51 ambs no, I didn't
13:51 kthakore gah ... I need to seriously sit down and read about io in parrot.
13:51 ambs and although there is a parrot foundation
13:51 ambs I think TPF should consider parrot grants :)
13:52 NotFound kthakore: thre is no speccial case for StringHandle now in open nor in close. Are you reading the diff backwards?
13:52 ambs (no sure if that was thetype of the question)
13:52 Coke ambs: Excellent. My thought as well. we'll see what happens.
13:52 kthakore NotFound: omg ... maybe I am
13:52 kthakore ...
13:52 kthakore .../me facepalms
13:52 * Coke ptats kthakore on the back.
13:53 Coke hey, did I ever tell you about the time partcl was SO blazingly fast it beat tcl? Then i realized it was segfaulting on startup.
13:54 kthakore Coke: hehe
13:54 kthakore NotFound: ok I am throwing my code out
13:54 kthakore it is BS
13:54 kthakore NotFound: that patch is way too stupid
13:54 kthakore yay! sqaure one!
13:54 kthakore :\
13:55 dalek rakudo: 51cc37e | pmichaud++ | src/Perl6/ (2 files):
13:55 dalek rakudo: Enable --target=pir to produce PIR code that can be run directly
13:55 dalek rakudo: from Parrot (provided Rakudo has been installed).
13:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​1cc37e664938f8350e8e29000607c6aabdcbcaf
13:55 kthakore Coke++ thanks more making me feel better
13:55 kthakore Coke: you are good at that
13:55 Coke kthakore: ... huh.
13:55 Coke well, people do come across differently online.
13:56 kthakore Coke: I have rose tinted glasses on maybe
13:56 NotFound kthakore: maybe is a ticket a bif difficult for a start.
13:56 kthakore NotFound: hehe ... too late now
13:56 kthakore my brain is broked
13:56 kthakore NotFound: I blame it on bacek  :P
13:59 Coke pmichaud: hey, what's the plan for PGE?
13:59 * Coke guesses: "Leave it alone, but don't remove it or add features"
13:59 Coke (in which case, we can close several trac tickets with "please switch to nqp-rx"
14:01 kthakore NotFound: is it really hard, or am I jsut not getting some things?
14:02 Coke kthakore: try this one instead: #1633.
14:02 Coke That's just ripping stuff out.
14:02 Coke (and updating the wiki page about deprecations.)
14:03 bubaflub joined #parrot
14:05 kthakore Coke: well that is what bacek said of the other one ...
14:06 Coke kthakore: 1633 is a ticket /I/ was going to do, so I'm sure you can. =-)
14:06 kthakore haha
14:06 kthakore -.-
14:06 kthakore I am cynical now
14:06 kthakore :p
14:06 Coke do you have commit bits?
14:07 Coke (though I suppose the git mirror makes that irrelevant._)
14:07 kthakore yeah
14:07 kthakore I only deal in patches
14:07 kthakore as I don't trust my code to have any merit for parrot yet
14:07 kthakore Coke: I mean ... I don't even know wth HLL map is
14:08 Coke HLL map?
14:08 Coke bad purl
14:08 purl U MAKE I CRY
14:08 kthakore I dunno
14:08 kthakore Coke: NotFound said something about it
14:08 Coke hll map is how you declare that your language's pmc's map to the core parrot pmcs, and force parrot to use them in place of the core ones when possible.
14:08 ambs hmm.. I am missing coke...
14:08 ambs ...fresh coke
14:08 Coke ambs: ?
14:08 Coke oh.
14:09 kthakore ambs: follow the skinny models into the bathroom
14:09 Coke don't drink the real stuff, it'll go right to your hips.
14:09 ambs only juice. damn :)
14:09 kthakore oh ... that coke
14:09 kthakore :p
14:09 kthakore 0o#)  <--- Coke'd
14:15 ambs Coke: while the English might suck, I added a comment about that parrot issue on the parrot grant.
14:20 Coke ambs: good enough.
14:20 Coke ambs++
14:20 ambs Coke: thank you
14:20 PerlJam kthakore: I thought it's supposed to be fat models and skinny controllers :)
14:21 kthakore hehe
14:25 plobsing joined #parrot
14:30 hercynium joined #parrot
14:35 brianwisti joined #parrot
14:35 dalek rakudo: efe72cb | moritz++ | src/Perl6/Actions.pm:
14:35 dalek rakudo: s:s///
14:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​fe72cb3680a0fec182a31591dcc0a5192d74ee7
14:35 dalek rakudo: cb45c52 | moritz++ | src/Perl6/ (2 files):
14:35 dalek rakudo: :i/:ignorecase adverbs for s///
14:35 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​b45c522b7cfc947a2da7f929ea5a87ef9b94757
14:41 whiteknight joined #parrot
15:17 Andy_ joined #parrot
15:18 ambs_ joined #parrot
15:31 khairul joined #parrot
15:35 ilbot2 joined #parrot
15:35 Topic for #parrotis now Parrot 2.6.0 | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis)
15:38 chromatic joined #parrot
15:40 chromatic joined #parrot
15:54 dalek parrot: r48287 | petdance++ | trunk/src/hash.c:
15:54 dalek parrot: removed unused var
15:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48287/
15:55 Andy_ Yeah, tha'ts right, all you unused variables watch out.
15:55 chromatic Good stuff!
15:55 purl i think good stuff is lazywebbed =)
15:58 kthakore hi chromatic
15:59 kthakore Coke: bah ... I crashed parrot again ... ok give me your ticket
15:59 kthakore Coke: the easy one?
15:59 purl the easy one is the submit button
15:59 Coke irclogs?
15:59 purl somebody said irclogs was http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
15:59 kthakore Coke: ... fine be like that
16:00 kthakore 1533
16:00 kthakore 16333
16:00 kthakore Coke:  /last Coke :p
16:00 kthakore trac?
16:00 purl trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities.  http://projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at https://trac.parrot.org/parrot/ or slow or REALLY slow
16:01 kthakore Cahahha
16:01 kthakore Coke: ahaha
16:02 kthakore Coke: this is the same as the bacek's one
16:02 kthakore Coke: :p
16:02 kthakore or similar
16:02 kthakore gee this looks deceptingily simple
16:02 kthakore but I know the truth now!
16:02 kthakore I have seen it!
16:02 kthakore :p
16:02 * kthakore shuts up and goes to break parrot again
16:03 kthakore lunch &
16:03 kthakore and reading parrot docs
16:03 whiteknight joined #parrot
16:04 kthakore is there like a print button for this?
16:04 brianwisti That's my favorite lunch pastime as well - reading Parrot docs.
16:04 kthakore brianwisti: reall? 0o
16:04 theory joined #parrot
16:04 kthakore brianwisti: I do it cause I suck soooo bad
16:04 brianwisti Likewise. That's a pretty good reason.
16:05 Coke purl, jeter?
16:05 purl i don't know, coke
16:07 chromatic I expect more bug reports on the docs in that case.
16:08 Coke chromatic: or patches!
16:08 purl patches are welcome
16:08 Coke but purl is not.
16:08 Coke I am beginning to agree with #perl6 that purl should be booted. though I like having a parrot-specific bot.
16:09 particle what's so wrong with /ignore purl?
16:13 chromatic New channel denizens don't know to do it.
16:14 particle put it in /topic
16:16 Coke purl is like the MST of bots.
16:16 Coke purl is ALSO like the MST of bots.
16:16 purl okay, Coke.
16:17 chromatic Wow, coretest ran in 19 seconds.  It hasn't been that fast ever.
16:21 whiteknight 19 seconds?
16:21 purl 19 seconds is good.
16:21 chromatic Parallel coretest.
16:22 whiteknight still, 19 seconds is fantastic
16:24 Andy_ make coretest took me 82 seconds
16:25 chromatic alias partest='mj coretest TEST_JOBS=5'
16:25 Andy_ mj = "make -j$TEST_JOBS" ?
16:27 chromatic something like that, yes
16:28 tcurtis joined #parrot
16:28 Andy_ still 80 seconds for me
16:33 cotto msg khairul Looks like you have some failing tests: http://nopaste.snit.ch/22534
16:33 purl Message for khairul stored.
16:34 khairul cotto: looks like i forgot to remove that file.
16:34 bubaflub coretest is running 74 seconds normally, 37 seconds with TEST_JOBS=5 for me
16:34 Andy_ Isn't someone workin' on getting rid of imcc?
16:35 Andy_ Many warnings there that I'd fix if there was reason to...
16:42 cotto PIRATE has the potential to replace imcc, though speed and incompleteness are the current major obstacles atm.
16:45 Coke Andy_: pirc also ha the potential to replace IMCC, but as I recall, no one has been able to integrate it with parrot.
16:45 dalek parrot: r48288 | khairul++ | branches/gsoc_instrument/t/libra​ry/instrument_eventdispatcher.t:
16:45 dalek parrot: Removed test for deleted class.
16:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48288/
16:45 dalek parrot: r48289 | khairul++ | branches/gsoc_instrument/MANIFEST:
16:45 dalek parrot: Updated manifest.
16:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48289/
16:45 Coke in fact, I think you tried at one point to headerize and clean it up and was stymied.
16:51 Andy_ Coke: Yes, that's right.
16:52 Andy_ That's one of the reasons I'd be glad to see it go.
16:57 Coke Andy_: what, pirc?
16:58 Andy_ no, imcc
16:58 Coke I was just talking about pirc.
16:58 Andy_ Oh, yeah, that too.  That was worse.
16:58 dukeleto pirc == PIRATE, no?
16:58 Coke no.
16:59 Coke pirate is pir in nqp.
16:59 Coke pirc is second system imcc.
16:59 Coke (done in c, using bison...)
17:04 ash_ joined #parrot
17:04 cotto_work ~~
17:10 kthakore win 3
17:23 bubaflub joined #parrot
17:27 dalek tracwiki: v1 | Chandon++ | GSOC_ThreadsInterpreterSplit
17:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GSOC_Threa​dsInterpreterSplit?version=1&amp;action=diff
17:28 preflex joined #parrot
17:34 dalek parrot: r48290 | chromatic++ | trunk (3 files):
17:34 dalek parrot: [pf] Forbade null packfiles in PF_fetch_integer().
17:34 dalek parrot: Only ImageIO calls this function, and if its packfile is NULL, there's a bigger
17:34 dalek parrot: problem.  This commit improves Rakudo startup modestly.
17:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48290/
17:34 dalek parrot: r48291 | khairul++ | branches/gsoc_instrument/t/libr​ary/instrument_eventlibrary.t:
17:34 dalek parrot: Fixed broken test.
17:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48291/
17:35 * Coke wonders when irssi stopped wrapping long lines.
17:41 hercynium joined #parrot
17:44 kthakore hercynium: hi
17:44 purl que tal, kthakore.
17:44 kthakore Coke: set wrap?
17:44 hercynium hey there, kthakore!
17:49 kthakore hercynium: hi!
17:49 kthakore hercynium: welcome to #parrot. They speak your language
17:49 kthakore or so I am told
17:51 hercynium kthakore: oh, I've been lurking here for a long time :)
17:51 kthakore I just like saying welcome
17:52 kthakore and you don't come to #sdl so I have to do it here
17:52 kthakore :p
17:52 hercynium hah! I should remedy that. There are a number of channels I need to save to auto-join
17:53 AzureStone joined #parrot
17:56 Coke kthakore: unknown setting "wrap"
17:58 kthakore Coke: I was joking but .. ok
17:58 cotto_work http://blog.mozilla.com/rob-sayre/2010/08/02/​mozillas-new-javascript-value-representation/
18:01 chromatic Hm, a 3.122% performance improvement.
18:02 Coke kthakore: ah, trick question anyway, it was screen. :P
18:02 Coke chromatic: +1
18:02 purl 1
18:03 chromatic That's 6.554% since last night.
18:03 whiteknight chromatic+
18:03 whiteknight or chromatic++
18:03 Chandon joined #parrot
18:04 chromatic plobsing did a chunk of that too.
18:06 chromatic That's 47 Perl 5 "Hello, world!"s faster.
18:10 Coke chromatic: do you find that running the parrot profiling and converting it to cg is slow?
18:10 chromatic Very.
18:10 Coke (in terms of whatever process you're following to test.)
18:11 chromatic I'm profiling the C.  The PIR profiler is currently too slow to help me much.
18:11 Coke I tried to profile some perl6 the other day, and it took forever (netbook not helping), and was crushed to find it broke a spectest somewhere. waaay too slow.
18:12 particle is anyone profiling the pir profiler to make it faster?
18:12 cotto_work These are valuable data points.
18:12 Coke particle: on my short list is to at least run the pprof -> cg perl script through nytprof
18:13 cotto_work I suspect that the best way to speed that up will be to move the callgrind output code into the runcore.
18:13 chromatic It's two parts.
18:13 Coke cotto_work: instead of outputing an intermediate format?
18:13 chromatic First, the runcore is slow because finding annotations uses the Shlemiel the Painter algorithm.
18:13 Coke *t
18:13 cotto_work well, in addition to
18:14 chromatic Second, the post-processing program is slow because it has to process a LOT of data.
18:14 Coke is the annotation finder used anywhere else?
18:14 Coke that seems like a win to fix, if so.
18:14 chromatic Sub introspection.
18:15 chromatic We have to change the way we store annotations in PBC to fix it, but we have all of the information to build the right data structure at PBC creation, and it's almost the most natural representation anyway.
18:16 dalek tracwiki: v2 | Chandon++ | GSOC_ThreadsInterpreterSplit
18:16 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GSOC_Threa​dsInterpreterSplit?version=2&amp;action=diff
18:18 Coke cotto_work: is the nqp version of pprof2cg just for show?
18:19 Coke (I imagine it's got to be slower than the .pl version)
18:19 Coke (even when compiled to pbc)
18:19 cotto_work It was an experiment.  It's way too slow to be useful.
18:20 cotto_work iirc, at least
18:20 Coke ok. we should probably remove it to avoid confusion.
18:20 cotto_work sure
18:20 cotto_work there's always vcs history
18:21 cotto_work +1 if you want to remove it now
18:23 Coke done.
18:23 dalek parrot: r48292 | coke++ | trunk (2 files):
18:23 dalek parrot: remove proof of concept port of pprof2cg.pl to NQP, cotto++
18:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48292/
18:28 cotto_work danke
18:28 bluescreen joined #parrot
18:41 chromatic Thawing could be a lot smarter.
18:48 Coke http://feather.perl6.nl/~coke/nytprof/nytprof/ NYTProf run against pprof2cg.pl against a rakudo program that loops over 100 ints and adds them together.
18:49 mikehh still can not connect to  http://smolder.plusthree.com
18:49 Coke mpeters?
18:49 purl mpeters is mailto:mpeters@plusthree.com
18:49 Coke email him.
18:50 Coke probably good to open a trac ticket first.
18:50 Coke or second.
18:50 mikehh Coke: 'k
18:52 jevin joined #parrot
18:54 AndyA joined #parrot
18:58 dalek parrot: r48293 | chromatic++ | trunk/src/pmc/imageio.pmc:
18:58 dalek parrot: [PMC] Optimized ImageIO PMC's shift_integer.
18:58 dalek parrot: Inlining what PF_fetch_integer() does avoids double dispatch and improves
18:58 dalek parrot: Rakudo startup by 3.122%.
18:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48293/
18:58 dalek parrot: r48294 | chromatic++ | trunk/src/pmc/imageio.pmc:
18:58 dalek parrot: [PMC] Tidied ImageIO PMC; no functional changes.
18:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48294/
18:59 dalek parrot: r48295 | chromatic++ | trunk/src/hash.c:
18:59 dalek parrot: [hash] Special cased most common hash thawing.
18:59 dalek parrot: PBCs tend to have lots of STRING key, INTVAL value hashes, so inverting the
18:59 dalek parrot: normal conditional "What kind of hash is this?" test in tight loops offers a
18:59 dalek parrot: modest performance improvement.
18:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48295/
19:00 particle Coke: nice work with the nytprof output
19:01 Coke particle: eh. easy to run. harder to do anything about. -)
19:01 particle one can shave off a few seconds by changing the first regex in process_input to an index call
19:01 Coke speaking of which, line 183 is the worst offender.
19:01 Coke purl 179/290
19:01 purl 0.617241379310345
19:02 particle oh, right... didn't see that yet
19:02 particle wow, that can be sped up.
19:09 particle time spent should be added lazily
19:12 Coke ?
19:15 dalek parrot: r48296 | NotFound++ | trunk/src/pmc/imageio.pmc:
19:15 dalek parrot: s/const const/const
19:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48296/
19:17 chromatic That's one immutable variable.
19:20 particle coke: don't add the $time to every op in the "stack" every time an op is called.  instead, save the accumulated time and add it when the stack is popped
19:21 ash_ joined #parrot
19:22 kthakore ash_: hi
19:22 ash_ hi
19:22 purl hi, ash_.
19:22 kthakore ash_: may I have a minute of your time?
19:22 cotto_work would /^OP:/ be meaningfully faster than /^OP:(.*)$/ ?
19:22 ash_ sure
19:22 kthakore ash_: what needs to be done for learn.perl6.org ?
19:22 ash_ learn.perl6.org?
19:22 kthakore ash_: that web REPL thing on moritz's github
19:22 cotto_work or would they be optimized to the same thing
19:22 kthakore ....
19:22 ash_ ah, thats try.rakudo.org
19:23 kthakore ash_: oops sorry
19:23 kthakore yeah htat
19:23 ash_ but, i am trying to build it and get the basics working, currently, i have a working example implementation thats kind bare bones for now
19:23 ash_ its all in the repo on github
19:23 ash_ it needs a few perl5 modules, cgi, and rakudo built
19:24 ash_ moritz++ gave me an account on feather3 with sudo access to set it up
19:24 ash_ but i have been failing to build rakudo, i was looking for moritz today, to figure out if/how to build rakudo
19:24 particle cotto_work: yes, it would be faster not to capture
19:24 ash_ building rakudo takes to much memory and that machine seems to have a limited amount
19:25 cotto_work It's good to see that the code isn't yet completely optimal
19:25 particle if ( 0 == index $line, q{OP:}, 0 ) would be faster still
19:26 bubaflub joined #parrot
19:27 Coke particle: if the stack wasn't changing each time through, that might work.
19:27 particle the full stack doesn't change each time
19:28 Coke particle: I wouldn't assume index is faster, btw.
19:28 Coke (but I'd test it, sure.)
19:28 lucian_ joined #parrot
19:28 chromatic if (s/^OP://) { ... } will be faster than greedy capture.
19:28 particle is the capture used?
19:29 mikehh Coke: just got a reply from Michael Peters saying: Sorry, I'm having some problems with that machine. I'm going to have to move smolder some place else. Please bear with me as I find the time to do that.
19:29 chromatic Yes.
19:29 particle ah, yes.
19:29 ash_ kthakore: so, in short, i have been trying to get it setup, the perl 5 backend is in working order for a decent groundwork with a minimal implementation, i can get the perl 5 modules installed, but i haven't been able to build rakudo
19:29 Coke particle: looks like the stack can change each time through: (line 222)
19:29 particle caching the file, ns, or line hash lookups would reduce the fetches in that for loop
19:30 Coke particle: on line 183? but those could change per $_, neh?
19:31 cotto_work The capture is used but there's no reason that $line couldn't be used directly.
19:31 chromatic Don't walk the stack for every op.
19:31 chromatic Keep a stack of cumulative costs, then keep that in sync with the size of the op stack.
19:32 particle yeah, that's what i'm suggesting. well put.
19:32 chromatic Not sure you even need a cumulative stack; when you pop, add the value and keep going.
19:32 kthakore ash_: what do you need for rakudo to be buildt?
19:32 kthakore ash_: I mean what problems are you having>
19:32 kthakore ash_: perl Configure.pl --gen-parrot && make install right?
19:33 ash_ the system only has like 300mb of memory, (that i can use apparently)
19:33 Coke it's also interesting to me how much of that code is never invoked.
19:33 ash_ and to build rakudo, you need about 1 gig
19:33 particle and shift/unshift... is push/pop faster?
19:33 chromatic Don't worry about the speed of shift/unshift versus push/pop.
19:33 chromatic This program is almost entirely IO bound.
19:33 cotto_work print_stats is just for debugging
19:34 Coke cotto_work: even in process_input.
19:34 ash_ kthakore: i could (in theory) build it on another machine and copy it over... but i don't have a debian based system around, i wanted to ask moritz what he thought i should do to build rakudo
19:34 cotto_work Annotation aren't part of the profile by default because they slow down the profiling runcore some.
19:34 kthakore ash_: wat arch and os do you need?
19:35 cotto_work There are some surprises there.
19:35 ash_ debian squeeze/sid amd64 2.6.32-5-xen-amd64
19:36 particle Coke: your example program was pretty simplistic
19:36 Coke particle: fair enough.
19:36 Coke nopaste is no longer reporting ANY channels.
19:37 Coke http://nopaste.snit.ch/22537
19:37 Coke Summary: sample rakudo program used to gen nytprof output.
19:38 kthakore ash_: I have a amd64 lets see if I have a 1gig of mem
19:38 kthakore ash_: aww :\
19:38 kthakore no I don't
19:38 ash_ how much do you hae?
19:38 ash_ have*
19:38 kthakore 254
19:38 kthakore 256
19:39 mikehh Coke: not in the robots list on the channel
19:39 kthakore ash_: I have the box for a month
19:39 kthakore ash_: I can give you access if you like?
19:39 mikehh opbots, names
19:40 ash_ nah, i have a linux box if i need one (its ubuntu, not normal debian)
19:40 kthakore hmmm .. ok
19:40 kthakore ash_: I will go bug people with more boxes
19:40 kthakore :D
19:40 ash_ i might try building on my ubuntu box, but i still would rather talk to moritz about it
19:40 kthakore ash_: ok
19:40 ash_ and see what he suggests
19:40 kthakore np
19:41 cotto_work #ps in 50
19:41 kthakore ash_: sowwy I couldn't help
19:41 ash_ thanks though
19:41 ash_ i'd like to get it setup soon
19:46 theory joined #parrot
19:52 chromatic Is it just me, or is hash resizing as naive an algorithm as you can imagine?
19:55 ash_ anyone in here use feather3?
20:01 cotto_work It can't be naive.  It uses bit shifting instead of multiplication.
20:14 chromatic Why realloc, then reshuffle?
20:15 Coke why roll our own hash algorithm in the first place?
20:16 Coke </deadhorse>
20:17 LoganLK joined #parrot
20:18 chromatic Because... dependencies... licensing... NIH....
20:19 Coke yah, that last one. =-)
20:20 chromatic We do get some optimization possibilities in cases where we *know* our specific data needs, but that doesn't make up for the fact that our hashes are too expensive.
20:20 atrodo NIH is my favorite excuse to learn about something
20:22 chromatic seen bacek
20:22 purl bacek was last seen on #parrot 7 hours, 41 minutes and 59 seconds ago, saying: whiteknight, indeed :)
20:24 particle HAHAHA chromatic said optimize and hash in the same sentence
20:24 ambs joined #parrot
20:26 cotto_work Would it be worthwhile to make hashing more pluggable and see if some other library would help us?
20:27 Coke I would /imagine/ so.
20:27 Coke or we could just have chromatic focus on cleaning up hashes!
20:28 chromatic I'm not sure what the right approach is.
20:28 chromatic Clearly we need a better algorithm, but our current algorithm is very fragile.
20:29 cotto_work What do you mean by "fragile"?
20:30 chromatic Changing the growth factor causes segfaults.
20:30 atrodo that's always a plus
20:30 Coke chromatic: the comments do say they do doubling for a reason.
20:30 cotto_work ...
20:31 chromatic #ps in 0
20:32 particle changing the growth factor causes *segfaults*.  WOW.  shall i invoke the three-lettered former patchmonster for that?
20:33 Paul_the_Greek joined #parrot
20:34 Paul_the_Greek Howdy folks.
20:34 Paul_the_Greek I have a question.
20:35 tcurtis Hello, Paul_the_Greek. Ask away.
20:35 Paul_the_Greek I confused about SVN vs. SVK.
20:35 Paul_the_Greek Which one do I use?
20:36 chromatic Generally whichever you're most comfortable with.
20:36 Paul_the_Greek I want a simple command line interface.
20:36 chromatic If you're new to both, choose SVN because SVK's developers have stopped maintaining it.
20:36 Paul_the_Greek Okay, SVN.
20:36 Paul_the_Greek Which command line version do you recommend?
20:37 chromatic The newest one you can install.
20:37 Paul_the_Greek Collabnet or Slik?
20:38 tcurtis http://subversion.apache.org/
20:39 Paul_the_Greek Super, thanks.
20:39 Paul_the_Greek Do you mind an even newbier question?
20:39 chromatic Ask away.
20:40 Paul_the_Greek I'm thinking of diving in to contribute. I looked around and it seemed a good way to start is with PIRC.
20:40 Paul_the_Greek What does it mean when all the modules contains comments that effectively say not to make any changes or they will be lost?
20:40 Paul_the_Greek It's something to do with annotating the function definitions.
20:41 chromatic Some of our files contain preprocessed information.
20:41 tommyd joined #parrot
20:41 chromatic The configuration/build system writes part or all of certain files.
20:41 chromatic It's just code generation.  If you need to make a change, change the code generator, not the generated code.
20:41 Paul_the_Greek The .h files, I presume.
20:42 Paul_the_Greek Oh, hmm. This was every .c file, I believe.
20:42 chromatic Those, and probably the lexer and parser.
20:42 Paul_the_Greek Let me look ...
20:42 Coke Paul_the_Greek: it's not the whole file, but between 2 comments.
20:42 Paul_the_Greek Yes, but I think it was the majority of the files.
20:42 Coke yes.
20:43 Coke so we don't have to write all the boilerplate, we can let a perl script do it.
20:43 cotto_work chromatic: you had some ideas?
20:43 Paul_the_Greek So I'm looking at pirregalloc.c
20:44 chromatic 1) a binary format for annotation data, to perform less IO in producing and consuming
20:44 chromatic 2) a binary heap to store annotation information
20:44 chromatic 3) ... just forgot
20:44 Paul_the_Greek Never mind. Indeed, I'm seeing the function declarations added by the headerizer.
20:44 Coke Paul_the_Greek: note that PIRC is not actually... really... part of parrot yet.
20:45 Coke (I'm not even sure it's built by default.)
20:45 Coke Happy to point you on the path to making it work and be usable, though. =-)
20:45 mikehh chromatic: would that be platform independant
20:45 chromatic Both should be.
20:45 Paul_the_Greek Does it make sense to start with PIRC, to help get it ready?
20:45 AndyA_ joined #parrot
20:45 Coke well, the nice thing there is that it's hard to break it. ;)
20:46 particle we wrote a script to write source code to make it easier to compile our compiler which runs code generated from high-level languages
20:46 Paul_the_Greek Is there a more useful place to start, for a newb?
20:47 chromatic Depends on your skills and interests, Paul_the_Greek.
20:47 Paul_the_Greek I've written machine emulators, assemblers, and the front ends of compilers.
20:48 Paul_the_Greek Makes sense to start simple while learning the system, clearly.
20:48 cotto_work chromatic: how do you regard pirc?  My impression was that it has an uncertain future given that imcc "works" now and PIRATE is the more self-hosted implementation.
20:49 Coke cotto_work: I wish someone would pick something and stick with it rather than having 3 ways to do something. =-)
20:49 chromatic The bus number concerns me.
20:50 cotto_work Paul_the_Greek: you could jump into Lorito.  It's still in the early design stages and input would be welcome.
20:50 Paul_the_Greek What is Lorito?
20:50 purl somebody said Lorito was "little parrot" in spanish or http://xkcd.org/707/ or http://github.com/atrodo/lorito or http://trac.parrot.org/parrot/wiki/Lorito or http://github.com/ekiru/yalp-asm
20:50 Coke but there's not much coding there. fwiw.
20:50 cotto_work http://trac.parrot.org/parro​t/wiki/LoritoDesignQuestions
20:50 Coke Or you could grab a ticket from trac.
20:50 Coke something that segfaults, perhaps. =-)
20:50 cotto_work It really depends on your interest.  Grab something fun and hack away.
20:50 particle keep your hands off of imcc, and avert your eyes.
20:51 particle ...for your sanity.
20:51 cotto_work I don't think that we do ourselves any favors by regarding imcc like that.  It's not good code, but it doesn't make your brain bleed either.
20:51 particle there are five really stupid things you can do when designing compilers.  imcc does eight of them.
20:52 particle cotto_work: true, but that's after years of sanity-work and bugfixes
20:52 Paul_the_Greek Does it represent octal numbers with leading zeroes?
20:52 hercynium joined #parrot
20:52 Paul_the_Greek If not, then it doesn't do every stoopid thing.
20:52 chromatic We're not even talking about that level of insanity.
20:53 Paul_the_Greek A little internal insanity, perhaps?
20:53 chromatic I've said before I fixed an O(n^12) algorithm to be merely O(n^8) and I'm pretty sure I meant it.
20:53 Paul_the_Greek Is there something about it that could really use fixing?
20:53 Paul_the_Greek Or should it be left well enough alone?
20:54 chromatic It's really at the well enough alone stage now.
20:54 Paul_the_Greek Okay.
20:54 chromatic Paul_the_Greek, how familiar are you with testing and benchmarking?
20:54 particle imcc was a prototype throwaway 8 or 9 years ago.
20:54 Paul_the_Greek I've certainly written tests, but I wouldn't call myself a tester/benchmarker expert at all.
20:55 Paul_the_Greek I'm more of a make-the-emulator-run-faster guy.
20:55 chromatic We have a modest task of small parts that would help us make things run faster.
20:55 Paul_the_Greek I've also built the full-featured macro subsystem for a language.
20:56 atrodo Paul_the_Greek> url for your code?
20:56 particle hrmm... lorito+macros...
20:56 Paul_the_Greek It's just a language that I use myself, so no URL.
20:56 Paul_the_Greek So Lorito is a smaller VM core?
20:57 chromatic Yes.
20:57 chromatic Think of a VM for C.
20:57 Paul_the_Greek Is the idea a small instruction set + macros, or a small instruction set + functions?
20:58 chromatic At one level, there's no difference.
20:58 Coke given the anti-imcc feelings I see here, then I guess pirc is not off the table.
20:58 Tene pirc is not far off of working, last I looked at it.
20:58 Paul_the_Greek Will there be a PIRC-like assembler in which actual humans write code, or is it just a compiler target?
20:58 cotto_work Paul_the_Greek: one problem with pirc is that its creator, kjs (kj on irc) hasn't been around recently
20:59 Tene When I got into it, kjs wasn't around, and it wasn't too bad to get into.
20:59 Paul_the_Greek Yes, I got that impression from the change dates and such.
20:59 Tene pretty straightforward and not badly documented.
20:59 chromatic It's a compiler target.
20:59 Tene there's also pirate, I hear, but I don't know anything about pirate.
21:00 Paul_the_Greek So no need for a fancy assembler.
21:00 chromatic We'll write the fancy assembler on top of it.
21:00 Paul_the_Greek Do people want macros in IMCC/PIRC, since they write code in it?
21:01 Paul_the_Greek Ah, why a fancy assembler if humans don't write it?
21:01 Tene there are currently macros in PIR
21:01 Tene I use them.
21:01 tcurtis Paul_the_Greek: PIR has a basic macro system(textual substitution style, not AST-manipulation style).
21:02 Paul_the_Greek I wrote a macro facility for one language that manipulated tokens, so somewhere in between text and ASTs.
21:03 Paul_the_Greek I found it very annoying, so the one I'm working on now is text.
21:03 Paul_the_Greek I'm guessing both text and ASTs would be good.
21:03 Paul_the_Greek Although ASTs sound annoying too. I shouldn't claim that, since I don't know.
21:04 Paul_the_Greek Lisp has the problem licked.
21:04 Chandn joined #parrot
21:05 Chandn Building Parrot is apparently good stress test for CPUs.
21:06 darbelo I know a guy who says "Never trust a machine that can't compile the OS it's running."
21:07 chromatic Chuck Moore?
21:07 Coke Chunk Noooris.
21:07 Topic for #parrotis now Parrot 2.6.0 | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), merge gc_* branches, fix/replace/optimize hashing
21:07 Coke ARGH, I've been tagged.
21:08 darbelo Amusingly, he appears to trust his android phone :)
21:08 Paul_the_Greek Okay folks, thanks. Once I'm ready, I'll just grab a simple ticket and go for it.
21:08 Chandn Bah. If you can't build Android on your phone you're not trying hard enough.
21:12 ambs joined #parrot
21:18 ascent joined #parrot
21:24 pmichaud good evening, #parrot
21:25 darbelo pmichaud: ping.
21:25 pmichaud darbelo: pong
21:25 darbelo Is there a cannonical place/procedure for nqp-setting feature requests?
21:26 darbelo And the patches that implement them :)
21:26 darbelo of course.
21:26 purl Indubitably.
21:26 ambs hello, pmichaud. Back from the pizza? :D
21:27 pmichaud darbelo: there's not a canonical place yet.  I'm willing to consider pull requests.  email to me also works.  trac tickets don't work so well, as I'm not there frequently enough to look for them (although that might change soon)
21:27 pmichaud ambs: yes, pizza was good
21:28 ambs pmichaud: :)
21:30 moritz I can confirm that :-)
21:31 darbelo pmichaud: Okay. I'll be throwing a patch adding sub replacement for subst() later this week.
21:31 pmichaud darbelo: I look forward to it.  :-)
21:33 chromatic pmichaud, ping
21:33 pmichaud chromatic: pong
21:34 chromatic I think we need a suite of NQP-rx benchmarks.
21:34 chromatic Any thoughts?
21:34 purl Any thoughts are welcome =)
21:34 pmichaud chromatic: I'm in favor of that :-)
21:34 cotto_work chromatic: so we can see where to improve performance and watch it as it happens?
21:34 chromatic Right.
21:34 cotto_work +1 either way
21:34 pmichaud we can make them live in the nqp-rx repo, if needed, or we can use a separate repo.  either is fine with me.
21:35 pmichaud the other piece we're still missing is some profiling tools that can work well with nqp and/or pct-based compilers.
21:35 chromatic Any thoughts on the best way to encourage this to happen?
21:35 cotto_work a separate repo might make it easier to test old versions
21:37 cotto_work pmichaud: do you have a profiling wishlist?
21:38 cognominal joined #parrot
21:38 pmichaud some way to measure how much time is being spent in each nqp-rx subroutine or method?  I know we had stuff using kcachegrind at one point, but I could never get it to work much with pge or nqp-rx because it seemed to have difficulty with tailcalls.
21:38 bacek Good morning, humans
21:38 pmichaud since then I've tried to eliminate tailcalls from the codebase but haven't gotten back to trying out kcachegrind
21:39 cotto_work hio bacek
21:39 bacek aloha, cotto_work
21:39 chromatic Ah, we were just talking about bacek.
21:39 bacek chromatic, in which context? :)
21:40 chromatic Reviving the gc_* branches.
21:40 bacek chromatic, ah... gc_massacre should be pretty easy to revive.
21:41 chromatic At least merging from trunk.
21:42 bacek It needs just two pieces of functionality - 1) calculating of total allocated memory to trigger GC; 2) Dynamically adjust GC triggering based on used memory.
21:42 chromatic That's not too bad.
21:42 bubaflub joined #parrot
21:43 bacek Couple days of work.
21:43 bacek But I was quite busy with RL/dayjob in last 6-8 weeks...
21:44 cotto_work Is that a couple bacek-days or a couple normal person days?
21:44 bacek cotto_work, "bacek-days" :)
21:44 tcurtis What's the proper way to separate a TT's keywords? Does it matter, since I suppose most queries on keywords are contains queries?
21:45 pmichaud well, folks, I'm fading a bit quickly here, so off to bed
21:45 chromatic bacek, is this the branch with cheaper allocations?
21:45 cotto_work clock?
21:45 purl cotto_work: LAX: Tue 2:45pm PDT / CHI: Tue 4:45pm CDT / NYC: Tue 5:45pm EDT / LON: Tue 10:45pm BST / BER: Tue 11:45pm CEST / IND: Wed 3:15am IST / TOK: Wed 6:45am JST / SYD: Wed 7:45am EST /
21:45 bacek chromatic, ?
21:45 purl chromatic, is probably that typical of CG-ed (dynamic) languages?
21:46 cotto_work forget chromatic,
21:46 purl cotto_work: I forgot chromatic,
21:47 cotto_work #ps seems to have fizzled out
21:48 chromatic I thought you mentioned that allocations were cheaper in one of the GC branches.
21:48 bacek chromatic, nope.
21:48 sorear it's a shame MAGnet doesn't have a +q channelmode
21:49 chromatic That must have been a fever dream.
21:49 bacek I had non-recursive tri-color m&s.
21:49 chromatic Non-recursive mark?
21:49 bacek yes
21:49 chromatic That came up the other day.
21:50 bacek ah.
21:51 Austin Anyone here build parrot on Windows not using gcc?
21:56 cotto_work vgp?
21:56 purl vgp is valgrind --suppressions=tools/dev/parrot.supp --num-callers=500 --leak-check=full --leak-resolution=high --show-reachable=yes ./parrot --leak-test $@ or tools/dev/vgp
21:58 ascent joined #parrot
21:59 dalek plparrot: c199d95 | (Jonathan "Duke" Leto)++ | t/sql/plperl6.sql:
21:59 dalek plparrot: Add a two tests, one for a fibonacci using a pointy block, and for the
21:59 dalek plparrot: definedness of @_[0]
21:59 dalek plparrot: review: http://github.com/leto/plparrot/commit/c​199d958814ffa772540f5c95f80e21283b0a387
21:59 dalek plparrot: 706b7dc | (Jonathan "Duke" Leto)++ | html/plperl6.html:
21:59 dalek plparrot: Update PL/Perl6 page to describe using pointy blocks
21:59 dalek plparrot: review: http://github.com/leto/plparrot/commit/7​06b7dc437ed9fccee224df8cc2e3927204f4e36
22:01 dalek parrot: r48297 | Chandon++ | branches/gsoc_threads (28 files):
22:01 dalek parrot: [gsoc_threads] Kill ParrotThread and some other dead code.
22:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48297/
22:11 Coke msg tcurtis "needs-regression-test" is too verbose of a tag. I think just "tests" is fine.
22:11 purl Message for tcurtis stored.
22:14 cotto_work "reg-test" could work in that case, though its meaning is less clear
22:23 cotto_work maybe "regression-test".  I'll leave the remaining bikeshedding up to whoever makes the actual changes.
22:26 tcurtis Coke: is "regression-test" concise enough? Distinguishing "Test all grammar rules of PIRC" from "Sub invocation consumes all memory. (needs fixing)" seems desirable to me.
22:27 sorear if sub invocation consumes all memory, a lot of other tests will break
22:30 dalek tracwiki: v27 | cotto++ | CottoTasklist
22:30 dalek tracwiki: clear out completed items, add some new ones
22:30 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Cot​toTasklist?version=27&amp;action=diff
22:33 tcurtis s/needs fixing/needs testing/
22:34 Austin_Hastings joined #parrot
22:34 dalek parrot: r48298 | bacek++ | branches/gc_massacre (298 files):
22:35 dalek parrot: Merge branch 'master' into gc_massacre
22:35 dalek parrot: Conflicts:
22:35 dalek parrot: MANIFEST
22:35 purl i guess MANIFEST is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.pl, unless i am using git-svn
22:35 dalek parrot: config/gen/makefiles/root.in
22:35 purl config/gen/makefiles/root.in is what generates parrot/Makefile
22:35 dalek parrot: src/call/context_accessors.c
22:35 dalek parrot: src/gc/gc_private.h
22:35 dalek parrot: src/pmc/imageio.pmc
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48298/
22:35 dalek parrot: r48299 | mikehh++ | failed to fetch changeset:
22:35 dalek parrot: merge trunk into branch
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48299/
22:38 tcurtis sorear: not necessarily. That bug was for calling a sub with an empty body in a loop consuming all memory. A regression in that specific situation doesn't seem likely to break tests that aren't explicitly testing it.
22:43 Austin_Hastings joined #parrot
22:45 mikehh not getting the latest parrot svn revision to my mail - usually come there before it gets here
22:46 mikehh the last I got was r48296 90min ago
22:47 chromatic same
22:48 * cotto_work too
22:49 mikehh bacek: you want me to update MANIFEST/MANIFEST.SKIP in gc_massacre?
22:53 dalek parrot: r48300 | Chandon++ | failed to fetch changeset:
22:53 dalek parrot: [gsoc_threads] Merge from trunk.
22:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48300/
22:53 Austin_Hastings joined #parrot
22:54 ascent joined #parrot
23:10 cotto_work http://www.google.com/search?q=%26%238238%3B
23:12 bacek_at_work mikehh, yes, it will be helpful
23:26 dalek parrot: r48301 | mikehh++ | branches/gc_massacre (2 files):
23:26 dalek parrot: re-generate MANIFEST/MANIFEST.SKIP
23:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48301/
23:26 dalek parrot: r48302 | mikehh++ | branches/gc_massacre (13 files):
23:26 dalek parrot: [gc_massacre] add missing svn properties
23:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48302/
23:32 theory joined #parrot
23:37 tcurtis bacek_at_work:  I get "make: *** No rule to make target `src/global.o', needed by `blib/lib/libparrot.a'.  Stop." trying to build gc_massacre.
23:39 tcurtis chromatic: Have a moment to talk about my GSoC?
23:39 Paul_the_Greek joined #parrot
23:39 chromatic Sure, what's on your mind?
23:39 tcurtis chromatic: I'm behind schedule. July 19-23 was scheduled for "Implement these convenience functions and classes." referring to the previous item on the schedule: "Design the convenience functions and classes in the vein of LLVM's FunctionPass, LoopPass, etc."
23:39 tcurtis I got delayed in working on those because I was working on something like LLVM's PassManager/PassRegistry(Tree::Optimizer). Now I've basically got that finished. I'm going to add correct null-handling (and tests) and merge the branch I was working on it in into master.
23:40 tcurtis I'm now firmly into the block of time scheduled for "Research other low-hanging-fruit optimizations." and "Implement some of these optimizations." Frankly, I'm not really certain what convenience classes like those of LLVM would be useful. Most of the pass classes LLVM has are either nonsensical for PAST or trivial to emulate with PAST::Patterns.
23:40 tcurtis Should I try to figure out some pass classes that would be useful for PASTs or work on optimizations for the remainder of GSoC?
23:41 chromatic If you work on optimizations, can we start using them by the end of the coding time?
23:44 cotto_work That seems to be a fictitious file.
23:44 cotto_work There's no src/global.c
23:44 tcurtis chromatic: assuming whatever value of "we" we're using includes/requires my code for their project, yes.
23:45 chromatic I consider the project a success if we can merge it into trunk and start using at least one optimization step.
23:46 chromatic Ideally you can have more than one ready, with documentation on how to use them and how to add more stages.
23:46 cotto_work msg khairul I'd like to meet briefly tonight (my time) to talk about your goals between now and the soft (9th) and hard (16th) gsoc pencils down dates.
23:46 purl Message for khairul stored.
23:46 chromatic Whatever you think serves those purposes best is fine with me.
23:49 mikehh bacek_at_work: need to resolve  src/call/context_accessors.c conflicts next, but need a break
23:49 tcurtis "start using at least one optimization step" in the sense of making HLLCompiler have it as one of the default stages?
23:50 chromatic Yes.
23:50 chromatic Or at least available for HLLCompiler users to use if they so choose.
23:57 tcurtis Okay. With that in mind, here's my plan for the rest of GSoC:
23:57 tcurtis 1. Merge the pass-manager branch of my project's repo into master. 2. Take the NQP-rx optimizations I was experimenting with and extract them into a module such that they can easily be added to a compiler. 3. Expand those optimizations and add more until the "soft 'pencils down'" date Monday. 4. Spend the rest of the time improving documentation and testing.
23:57 chromatic Works for me.
23:58 Psyche^ joined #parrot
23:59 dalek parrot: r48303 | mikehh++ | branches/gc_massacre/config/gen/makefiles/root.in:
23:59 dalek parrot: [gc_massacre] remove src/global$(0) from root.in
23:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48303/

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

Parrot | source cross referenced