Camelia, the Perl 6 bug

IRC log for #parrot, 2010-08-17

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Psyche^ joined #parrot
00:02 Paul_the_Greek Do we have our own POD compilers, or do we use standard ones?
00:05 dngor joined #parrot
00:06 mikehh Paul_the_Greek: we generally follow the perl5 rules, and make html generates html from our pod, but html_cleanup branch is an attempt (not completed yet) to fix some deficiencies there
00:07 mikehh nqp-rx uses perl6 rules which are different
00:07 Paul_the_Greek So we have our own POD compilers? I just discovered "simple POD" in the code tree.
00:09 mikehh in terms of generation yes, as regards .c and ,pmc files
00:09 mikehh we include pod in c comments
00:10 Paul_the_Greek But then standard compilers to generate HTML from POD?
00:11 mikehh and tey need to follow the rules - t/codingstd/c_function_doc.t aand pmc_doc.t test for this and other pod tests
00:11 Paul_the_Greek Yes, I noticed those tests.
00:15 mikehh html_cleanup branch is trying to simplify make html, which is quite complicated and is basically set up, but we need to work on indexing
00:17 allison_ joined #parrot
00:17 mikehh I was going to try and get it ready for the release, but *real life^ intruded and I did not have time for it, will probably work on it for the next release
00:18 Paul_the_Greek Is there a list of the tasks?
00:19 mikehh not really up to date, again will try and sort it out real soon now :-}
00:19 mikehh or get coke to do it :-}
00:19 Paul_the_Greek Perhaps I can help later on if there is still work to do.
00:19 cotto_work http://trac.parrot.org/parrot/wiki/CleanupMakeHtml
00:23 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48536 - Ubuntu 10.04 amd64 (g++)
00:30 Paul_the_Greek There's a book that seems to be new.
00:31 dngor_ joined #parrot
00:31 lucian_ joined #parrot
00:34 kid51_at_dinner make fulltest: PASS: Darwin/PPC: r48536
00:41 dalek parrot: r48537 | mikehh++ | trunk/t/codingstd/pmc_docs.t:
00:41 dalek parrot: remove src/pmc/null.pmc from TODO list of pmc_docs.t
00:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48537/
00:46 kid51 Ah, the miracle that is 'gzip'!
00:46 kid51 When I run 'make test', then gzip the log file, it comes to 11550 bytes.
00:47 kid51 When I run 'make fulltest', then gzip the much larger log file, it comes to 11689 bytes: only 139 bytes more!
00:50 dalek parrot-linear-algebra: 9e126c6 | Whiteknight++ | :
00:50 dalek parrot-linear-algebra:       <pre>m src/pmc/complexmatrix2d.pmc
00:50 dalek parrot-linear-algebra: m src/pmc/pmcmatrix2d.pmc
00:50 dalek parrot-linear-algebra: m t/pmc/complexmatrix2d.t
00:50 dalek parrot-linear-algebra: m t/run_test
00:50 dalek parrot-linear-algebra: </pre>
00:50 dalek parrot-linear-algebra:       <pre style='white-space:pre-wrap;width:81ex'>add item_at methods to PMC- and ComplexMatrix2D types. Fix the last lingering test failure with complex matrices. All important tests pass</pre>
00:50 dalek parrot-linear-algebra:
00:50 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/9e126c64a883614a9a859c393b8c20630cd3165e
01:01 kurahaupo joined #parrot
01:08 pgollucci joined #parrot
01:13 cotto ~~
01:14 bacek_in_sing joined #parrot
01:14 dalek parrot: r48538 | jkeenan++ | trunk/src/pmc/object.pmc:
01:14 dalek parrot: [codingstd] Insert POD 'item' so that documentor will know where to add
01:14 dalek parrot: function documentation.
01:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48538/
01:14 dalek parrot: r48539 | jkeenan++ | trunk/src/pmc/namespace.pmc:
01:14 dalek parrot: [codingstd] Insert POD 'item' so that documentor will know where to add
01:14 dalek parrot: function documentation.
01:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48539/
01:14 dalek parrot: r48540 | jkeenan++ | trunk/src/pmc/nci.pmc:
01:14 dalek parrot: [codingstd] Insert POD 'item' so that documentor will know where to add
01:14 dalek parrot: function documentation.
01:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48540/
01:14 dalek parrot: r48541 | jkeenan++ | trunk/src/pmc/nci.pmc:
01:14 dalek parrot: [codingstd] Make POD item meet linelength standard.
01:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48541/
01:23 gbacon joined #parrot
01:39 mikehh I am going to switch to i386 version of Ubuntu to do some tests there - bbiab
01:45 petdance joined #parrot
01:54 mikehh joined #parrot
01:55 dalek parrot-linear-algebra: 2857f6d | Whiteknight++ | :
01:55 dalek parrot-linear-algebra:       <pre>m src/pmc/complexmatrix2d.pmc
01:55 dalek parrot-linear-algebra: </pre>
01:55 dalek parrot-linear-algebra:       <pre style='white-space:pre-wrap;width:81ex'>Implement Gemm for ComplexMatrix2D. Needs tests</pre>
01:55 dalek parrot-linear-algebra:
01:55 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/2857f6d92e7f72e8e9d1ddd2920d9c48c1202559
01:59 whiteknight joined #parrot
02:04 ruoso joined #parrot
02:07 dalek parrot: r48542 | petdance++ | trunk/t/codingstd/pir_code_coda.t:
02:07 dalek parrot: Improve the diagnostics
02:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48542/
02:16 petdance tell me that frame_builder is still used
02:17 petdance 'cause I'm spiffing it up
02:18 cotto if so, it's been a while
02:20 petdance I'm not seeing how it IS used
02:24 cotto nm.  I thought you were referring to a branch for some reason.
02:25 petdance no
02:31 ruoso joined #parrot
02:40 dalek parrot: r48543 | petdance++ | trunk/src/pmc (3 files):
02:40 dalek parrot: reran headerizer
02:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48543/
02:41 janus joined #parrot
02:43 mikehh Andy: perlcritic does not seem to like the extra tabstop=4 at line 65 in r48542
02:43 petdance perlcritic?
02:43 purl perlcritic is *very* unhappy about parrot. =-)
02:43 petdance specifically?
02:43 petdance Or do you mean some .t file in Parrot?
02:44 mikehh #   Failed test 'Test::Perl::Critic for "/home/mhv/parrot/t/codingstd/pir_code_coda.t"'
02:44 mikehh #   at t/codingstd/perlcritic.t line 96.
02:44 mikehh #
02:44 mikehh # Perl::Critic found these violations in "/home/mhv/parrot/t/codingstd/pir_code_coda.t":
02:44 mikehh # Missing properly located perl coda for parrot source at /home/mhv/parrot/t/codingstd/pir_code_coda.t line 85
02:44 petdance OK, so that's not actually Perl::Critic
02:44 petdance looking
02:46 mikehh sorry me above comment should have been line 85 not 65
02:46 mikehh my
02:49 bacek_in_sing joined #parrot
02:51 atrodo cotto> ping
02:53 mikehh bacek_in_sing: what you doin' there, you cannot be a proper codin' robot if you aint home?
02:53 bacek_in_sing I'm just quite busy with work project...
02:53 atrodo bacek_in_sing> i thought parrot was your work
03:04 ruoso joined #parrot
03:06 cotto atrodo, pong
03:07 atrodo cotto> http://github.com/atrodo/lo​rito/blob/master/t/90_fib.t # I have calls working
03:07 atrodo and i correctly calculate the 20 fib number.  But if I try 30 or 40, my little box runs out of memory
03:09 mikehh atrodo: you need to try caching it :-}
03:10 atrodo mikehh> Real men use recursion!  That, and it was far more interesting this way.
03:10 cotto Is that using CPS?
03:10 atrodo especially since I have no GC
03:10 atrodo cotto> mostly yes, sort of no
03:12 * cotto has yet to wrap his head around a CPS fibonacci implementation
03:12 atrodo it has a result context that you can set, but you don't have to use it
03:13 dalek parrot: r48544 | petdance++ | trunk/t/codingstd/pir_code_coda.t:
03:13 dalek parrot: reverted a coda that made perlcritic.t cranky
03:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48544/
03:14 atrodo well basically, if I wanted to switch to purely CPS, i would remove the implied context return at the end of each block
03:14 cotto so it *can* work with pure CPS?  That's a big plus.
03:15 atrodo and in order to return, you have to pass a context into the block, and the block has to call that context
03:15 atrodo afaict, it can work with pure CPS
03:15 atrodo that is, assume I understand pure CPS well enough
03:16 cotto any reason for ALL THE CAPS?
03:17 atrodo no, i'm just inconsistent
03:17 mikehh petdance: I just love that one - the perl coda in pir_code_coda.t was failing :-}
03:18 tcurtis (define (fib n k) (cps- n 1 (lambda (n1) (cps- n 2 (lambda (n2) (cps+ n1 n2 k)))))) is CPS fib in Scheme, I think.
03:19 cotto surprisingly, that might help
03:19 tcurtis Which is probably a great deal easier than CPS fib in M0.
03:19 cotto quite
03:20 plobsing tcurtis: where does it handle the base case?
03:20 tcurtis oops..
03:20 tcurtis forgot about that bit.
03:20 cotto and the recursion?
03:20 purl i think the recursion is see recursion unless $mtfnpy;
03:20 * tcurtis messed that up terribly.
03:21 * cotto takes it as a warning
03:21 atrodo a warning against cps or scheme?
03:21 * tcurtis will write a probably working version in a moment. This time with multiple lines and everything.
03:21 Chandon I find CPS easier to think about with the return continuation as a "separate" argument.
03:22 cotto actually, this reminds me of trying to wrap my head around recursion back in college, except turned inside-out
03:25 plobsing rakudo instantiates 14 PCT::HLLCompiler objects. Anyone have any ideas about why or how to find out? (parrot_debugger doesn't seem to work at all)
03:27 plobsing s/rakudo/rakudo startup/
03:28 Chandon Point gdb at it?
03:29 cotto that wouldn't help.'
03:29 cotto you'd need a pir-level backtrace
03:30 plobsing cotto: that would be ideal. any idea how to get one of those easily without throwing/dying
03:30 plobsing s/dying/dieing/
03:31 cotto use gdb and call PDB_backtrace
03:32 tcurtis http://gist.github.com/528320 # hopefully less broken CPS fib in scheme.
03:32 cotto It just takes an interp
03:34 atrodo tcurtis> (never learned scheme) k is the continuation?
03:34 tcurtis Right.
03:35 tcurtis I'm writing up a version that uses non-CPS versions of =/+/- since that seems much more likely in Lorito.
03:36 cotto they'll just be ops in Lorito
03:38 * tcurtis updated the gist with a version that uses non-cps =/+/-.
03:40 cotto much less confusing
03:40 cotto still confusing, but substantially less than before
03:40 cotto does it run?
03:41 * tcurtis hasn't tried it.
03:41 tcurtis I don't seem to have a Scheme installed.
03:51 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48544 - Ubuntu 10.04 i386 (g++)
03:52 * mikehh needs a break - bbl
03:56 pmichaud mikehh: eta to release?
03:57 pmichaud plobsing: 14 seems slightly high, but wouldn't surprise me too much
04:07 pmichaud I have a patch for nqp-rx that gives about a 9% improvement in Rakudo's parsing speed.... should I commit it to Parrot or wait until after the release?
04:07 pmichaud s/parsing speed/compile speed/
04:09 plobsing pmichaud: my curiosity was piqued by someone on #perl6 complaining that rakudo startup slurps the same file 14 times
04:09 plobsing (config.fpmc)
04:10 petdance THAT IS WHY PERL 6 SUCKS SO MUCH LOL YOU LOSERS
04:10 pmichaud plobsing: hmmm, checking
04:10 petdance I would just like to toot my own horn right now and point out how much traction my mention of vim + Perl 6 is getting out there.
04:11 petdance Every time we mention Perl 6 outside of the strictly-Perl community, we build mindshare.
04:11 pmichaud plobsing: how was the 14 count determined, ooc?
04:11 plobsing strace, followed up by tracing statements.
04:11 plobsing s/tracing statements/debug printing/
04:11 petdance pmichaud: And even more, is there some way we could automate that?  The tracking of what's opened when?
04:12 pmichaud petdance: I suspec that "we" would have to include someone other than "me"
04:13 pmichaud *suspect
04:13 pmichaud plobsing: how is config.fpmc tied to PCT::HLLCompiler, ooc?
04:13 plobsing I cached the reading of config.fpmc in config.pir, but the GC cost of a large, long-lived object overshaddows any benefit we may gain. It eliminated ~100/1400 syscalls to no gain in wallclock speed (or callgrind metrics).
04:14 plobsing pmichaud: _config()
04:14 purl _config() is the function in library/config.imc
04:14 plobsing that seems very old.
04:14 plobsing purl, forget _config()
04:14 purl plobsing: I forgot _config()
04:14 pmichaud okay, so it's the load_bytecode 'config.pir' that seems to be causing the issue?
04:14 pmichaud or is it _config ?
04:15 plobsing pmichaud: the call itself. load_bytecode only ever executes once for a particular bytecode.
04:15 pmichaud plobsing: yes, that's what I thought
04:16 petdance pmichaud: Sure, I'm asking for a pointer somewhere.
04:16 pmichaud petdance: I'm guessing it'd have to be in the FileHandle PMC somewhere
04:16 pmichaud but I don't know.
04:16 petdance If there's any sort of framework that could support this.
04:17 nopaste "plobsing" at 192.168.1.3 pasted "PCT::HLLCompiler::init backtraces" (125 lines) at http://nopaste.snit.ch/22846
04:18 pmichaud plobsing: I'm thinking that the _config function should cache its results.
04:18 plobsing looking at some of the backtraces, it looks like objects are being instantiated while registering P6object classes.
04:19 pmichaud plobsing: sure, that's normal.
04:19 pmichaud it's creating the type objects.
04:19 pmichaud (what used to be known as "protoobjects")
04:20 plobsing I have a patch that does cache the results of _config. I cannot observe any significant advantage or disadvantage.
04:21 pmichaud well, if _config is a large object that stays around, then HLLCompiler could instead cache only those values it's interested in, instead of keeping the entire config hash around.
04:21 pmichaud and HLLCompiler could re-use those values instead of always calling _config to do it
04:22 pmichaud I didn't realize that _config caused config.fpmc to be loaded/parsed on each invocation... that's a little surprising
04:23 pmichaud #perl6 consensus is that I should go ahead and commit my nqp-rx patch
04:27 dalek nqp-rx: 6e87137 | pmichaud++ | :
04:27 dalek nqp-rx:       <pre>m src/Regex/Cursor-protoregex-peek.pir
04:27 dalek nqp-rx: </pre>
04:27 dalek nqp-rx:       <pre style='white-space:pre-wrap;width:81ex'>Allow protoregexes to avoid calling !cursor_debug when debugging is turned off.</pre>
04:28 dalek nqp-rx:
04:28 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/6​e871379b5077a32fa5fd9e70d5d59bad2680308
04:28 dalek nqp-rx: 4dc9c4b | pmichaud++ | :
04:28 dalek nqp-rx:       <pre>m src/PAST/Compiler-Regex.pir
04:28 dalek nqp-rx: </pre>
04:28 dalek nqp-rx:       <pre style='white-space:pre-wrap;width:81ex'>Avoid calls to '!cursor_debug' method when debugging is disabled.
04:28 dalek nqp-rx: This (combined with previous commit) appears to improve Rakudo
04:28 dalek nqp-rx: compilation speed about about 9% on the core.pm benchmark.</pre>
04:28 dalek nqp-rx:
04:28 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/4​dc9c4b0e34118c974c9f3dc9edb2a1527086c17
04:28 dalek nqp-rx: c95f68a | pmichaud++ | :
04:28 dalek nqp-rx:       <pre>m src/stage0/HLL-s0.pir
04:28 dalek nqp-rx: m src/stage0/NQP-s0.pir
04:28 dalek nqp-rx: m src/stage0/P6Regex-s0.pir
04:28 dalek nqp-rx: m src/stage0/Regex-s0.pir
04:28 dalek nqp-rx: </pre>
04:28 dalek nqp-rx:       <pre style='white-space:pre-wrap;width:81ex'>Update bootstrap with improved debug calling.</pre>
04:28 dalek nqp-rx:
04:28 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c​95f68aadffc984663fe9b3084affddbd762e2cb
04:28 dukeleto oh boy, dalek needs some updating
04:29 pmichaud afk for a short while
04:37 dalek parrot: r48545 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (4 files):
04:37 dalek parrot: [nqp-rx]:  Avoid calls to !cursor_debug when debugging isn't enabled.
04:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48545/
04:47 dalek partcl-nqp: 43bb387 | Coke++ | :
04:47 dalek partcl-nqp:       <pre>m src/TclString.pm
04:47 dalek partcl-nqp: </pre>
04:47 dalek partcl-nqp:       <pre style='white-space:pre-wrap;width:81ex'>Add a rudimentary .split()</pre>
04:47 dalek partcl-nqp:
04:47 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/43bb3871478976707abdfe32bac35b23f8b8ae9b
04:47 dalek partcl-nqp: 07d7ad5 | Coke++ | :
04:47 dalek partcl-nqp:       <pre>m src/TclList.pm
04:47 dalek partcl-nqp: </pre>
04:48 dalek partcl-nqp:       <pre style='white-space:pre-wrap;width:81ex'>Add helper "join" method to our list obj.</pre>
04:48 dalek partcl-nqp:
04:48 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/07d7ad5f7eeb170ac8ad071b502b87cc0fc99979
04:48 dalek partcl-nqp: 3ade1a0 | Coke++ | :
04:48 dalek partcl-nqp:       <pre>m src/Partcl/commands/namespace.pm
04:48 dalek partcl-nqp: m t/cmd_namespace.t
04:48 dalek partcl-nqp: </pre>
04:48 dalek partcl-nqp:       <pre style='white-space:pre-wrap;width:81ex'>implement [namespace current]
04:48 dalek partcl-nqp: (cribbed from splitNamespace in partcl, xlated to nqp)</pre>
04:48 dalek partcl-nqp:
04:48 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/3ade1a0f5e5138833b889d694b4bbfe7c977af0f
04:50 nopaste "plobsing" at 192.168.1.3 pasted "PCT:HLLCompiler using core config hash" (26 lines) at http://nopaste.snit.ch/22847
04:50 plobsing pmichaud: PCT::HLLCompiler doesn't even need to load config.pir - Parrot has a slimmed-down core config hash baked right in.
04:53 dalek parrot: r48546 | petdance++ | trunk (2 files):
04:53 dalek parrot: more function annotations.  Thanks, GCC!
04:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48546/
05:05 dalek partcl-nqp: 306b1e1 | Coke++ | :
05:05 dalek partcl-nqp:       <pre>m src/Partcl/commands/namespace.pm
05:05 dalek partcl-nqp: m t/cmd_namespace.t
05:05 dalek partcl-nqp: </pre>
05:05 dalek partcl-nqp:       <pre style='white-space:pre-wrap;width:81ex'>implement [namespace tail]</pre>
05:05 dalek partcl-nqp:
05:05 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/306b1e12ac8ac4854f96900ee54bbeef6eb6fe27
05:07 jsut_ joined #parrot
05:17 pmichaud plobsing: any reason you can think of that your wonderful patch shouldn't be applied?
05:18 plobsing I'm not sure of the purpose of the split between config.pir and the built-in config hash. That and it really isn't earth-shattering. Rakudo isn't really blocking on syscalls these days.
05:19 pmichaud I'd much prefer to use the built-in one, I think.
05:30 plobsing I'll put it to the list. If noone objects, it'll go in after the release.
05:31 plobsing It really shows how slow we are ATM though. Eliminating 9.8% of syscalls gives no measurable wallclock improvement.
05:37 pmichaud I went ahead and applied the patch.
05:38 pmichaud (Didn't see your comments until after I tested it on rakudo :-)
05:38 plobsing remind me never to give you patches on release day
05:40 pmichaud well, it shouldn't be that significant a patch
05:40 pmichaud (famous last words :-)
05:43 dalek parrot: r48547 | pmichaud++ | trunk/compilers/pct/src/PCT/HLLCompiler.pir:
05:43 dalek parrot: [pct]:  Update PCT::HLLCompiler to not need config.pbc.  Patch courtesy plobsing++ .
05:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48547/
06:13 Infinoid joined #parrot
06:26 sorear Infinoid!
06:26 purl infinoid is Mark Glines <mailto:mark@glines.org> or likes shiny things or the master of the universe
06:29 uniejo joined #parrot
06:54 fperrad joined #parrot
06:59 dalek plparrot: aa265eb | (Jonathan "Duke" Leto)++ | :
06:59 dalek plparrot:       <pre>m t/sql/plperl6.sql
06:59 dalek plparrot: </pre>
06:59 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Fix some tests where the signature of the PG procedure did not match the signature of the Perl 6 code</pre>
06:59 dalek plparrot:
06:59 dalek plparrot: review: http://github.com/leto/plparrot/commit/a​a265eb11be8a50418333c03028a9e85b05b9d3a
07:00 sorear Infinoid: ping
07:28 gunnar joined #parrot
07:30 * dukeleto just tickled a GC bug from PL/Parrot
07:31 dukeleto the backtrace is over >25k frames. I think it went into an infinite loop.
07:32 sorear You sure you didn't just feed the GC a large data structure?
07:32 sorear Like, say, a 5,000 element Perl 6 list?
07:33 sorear the current implementation of lazy lists uses linked lists for the lazy part in some cases involving gather
07:33 sorear or, if you recurse 5,000 deep, you'll get a huge linked structure of CallContexts
07:34 sorear each recursive CallContext adds about 5 frames to the GC stack during mark
07:35 dukeleto hmmm. i was using [+] on a 100 element list
07:35 dukeleto sorear: from perl 6, then creating a RPA from that
07:35 sorear that shouldn't be enough
07:36 sorear to result in 25k frames
07:37 dukeleto sorear: is there a way to tell gdb "show me the first X frames" ?
07:37 dukeleto sorear: there are a huge # of frames, i gave up pressing enter after 25k
07:37 sorear Yes
07:37 dukeleto bt 10 shows the top 10 frames
07:37 dukeleto bt -10 is what I want
07:38 dukeleto so it ended up generating 270k frames
07:40 dukeleto sorear: http://gist.github.com/528817 <-- first 200 frames
07:43 dukeleto sorear: i committed the code that makes that happen to the parrot_gc_branch at http://github.com/leto/plparrot/tree/parrot_gc_bug
07:45 dukeleto sorear: it blows up attempting to run test_fibonacci_plperl6
07:59 barney joined #parrot
08:11 silug joined #parrot
08:19 arnsholt The only documentation I can find on what continuations are supposed to do is that they restore "the context to the state it was in" when the continuation was created
08:19 arnsholt Does anyone have any good ideas what in particular "the context" is, or where I can find out?
08:21 sorear There isn't one
08:21 sorear Context is deliberately vague; everybody who does continuations does it slightly differently
08:22 sorear for Parrot, context is the state of the callstack (but not registers or any other mutable data)
08:22 arnsholt Thanks (it was in the context of Parrot's implementation I was curious)
08:23 arnsholt And damn. Now I have to do something clever to make sure my data isn't clobbered
08:24 sorear remember that every single function call in Parrot involves two continuation calls
08:24 arnsholt Oh?
08:24 sorear they have to be *very* lightweight to work at all
08:24 arnsholt Yeah, I can see how that'd be an advantage if there're two for each call =)
08:25 sorear Sub.pmc vtable_invoke constructs a continuation to represent the new sub, then calls it
08:25 arnsholt Ah, right. And another one for the return?
08:25 sorear yep
08:25 sorear continuations in Parrot = CallContext = stack frame
08:26 arnsholt I see. Thanks for the help!
08:26 arnsholt I think I see a solution to my woes of data behaving badly =)
08:37 luben left #parrot
08:43 dalek plparrot: 1304847 | (Jonathan "Duke" Leto)++ | :
08:43 dalek plparrot:       <pre>m plperl6.pir
08:43 dalek plparrot: m t/sql/plperl6.sql
08:43 dalek plparrot: </pre>
08:43 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>This commit makes Parrot's GC a sad puppy
08:43 dalek plparrot: This commit generates a stack trace of ~270k frames. The first 200
08:43 dalek plparrot: frames can be found at http://gist.github.com/528817</pre>
08:43 dalek plparrot:
08:43 dalek plparrot: review: http://github.com/leto/plparrot/commit/1​304847e507a2017323a29f8d29a2e4b7469a51d
08:43 dalek plparrot: 061ed2a | (Jonathan "Duke" Leto)++ | :
08:43 dalek plparrot:       <pre>m plperl6.pir
08:43 dalek plparrot: m t/sql/plperl6.sql
08:43 dalek plparrot: </pre>
08:43 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Change PL/Perl6 so that the end user can specify the function signature directly</pre>
08:43 dalek plparrot:
08:43 dalek plparrot: review: http://github.com/leto/plparrot/commit/0​61ed2ad878a97ad8f7b5b7af8509110550aa2a7
08:43 dalek plparrot: 7532acb | (Jonathan "Duke" Leto)++ | :
08:43 dalek plparrot:       <pre>m plperl6.pir
08:43 dalek plparrot: m t/sql/plperl6.sql
08:43 dalek plparrot: </pre>
08:43 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Add a test for placeholder variables in PL/Perl6 and make them work</pre>
08:43 dalek plparrot:
08:43 dalek plparrot: review: http://github.com/leto/plparrot/commit/7​532acb8290da930004b926d2d61e22ea7f863ad
08:45 dalek plparrot: ba187db | (Jonathan "Duke" Leto)++ | :
08:45 dalek plparrot:       <pre>m t/sql/plperl6.sql
08:45 dalek plparrot: </pre>
08:45 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Add a Fibonacci test using placeholder variables in PL/Perl6</pre>
08:45 dalek plparrot:
08:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/b​a187dbfa54d03ff59b384f445143291796da242
08:45 dalek plparrot: b153ff2 | (Jonathan "Duke" Leto)++ | :
08:45 dalek plparrot:       <pre>m html/plperl6.html
08:45 dalek plparrot: </pre>
08:45 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Remove description of using pointy blocks, since signatures and placeholder variables work now</pre>
08:45 dalek plparrot:
08:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/b​153ff25e6dfa91eae11dadf36ac7d483bec9666
08:45 dalek plparrot: 9065117 | (Jonathan "Duke" Leto)++ | :
08:45 dalek plparrot:       <pre>m t/sql/plperl6.sql
08:45 dalek plparrot: </pre>
08:45 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Add a test for 3 input arguments in PL/Perl6</pre>
08:45 dalek plparrot:
08:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/9​0651174278bdc5c610db0404901ebd97a7d3035
08:45 dalek plparrot: 82a1a1f | (Jonathan "Duke" Leto)++ | :
08:45 dalek plparrot:       <pre>m html/plperl6.html
08:45 dalek plparrot: </pre>
08:45 dalek plparrot:       <pre style='white-space:pre-wrap;width:81ex'>Add a blurb about how to write procedures with named variables in PL/Perl6</pre>
08:45 dalek plparrot:
08:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/8​2a1a1f3a75eb65cb5f6872f920b315aa994c061
08:49 mikehh joined #parrot
08:50 dukeleto mikehh: are you seeing t/library/pg.t fail ?
08:58 dukeleto mikehh: i have it failing at r48547 on 64bit linux, Ubuntu 10.04, gcc 4.4.3-4ubuntu5
08:58 dukeleto mikehh: it is test 13 that fails for me.
09:00 bacek dukeleto, http://trac.parrot.org/parrot/ticket/1611
09:00 * dukeleto wonders why t/library/pg.t uses Test::Builder directly instead of Test::More
09:01 dukeleto bacek: i forgot i added a TT for that a while ago, I will update with my info. This is with a different version of PG and Ubuntu
09:02 bacek So, problem is just hiding somewhere...
09:04 dukeleto mikehh: good luck with the release today
09:05 * dukeleto goes and finds a pillow
09:06 tadzik joined #parrot
09:07 kurahaupo joined #parrot
09:13 mikehh dukeleto: no - I have not got pg set up, so the tests are skipped for me
09:14 lucian joined #parrot
09:42 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48547 - Ubuntu 10.04 i386 (gcc with --optimize)
09:43 * mikehh ok going to switch to 64 bit Ubuntu - bbiab
09:46 Infinoid ... wow, seriously?
09:46 kurahaupo joined #parrot
09:47 Infinoid Data straight from the "content" tag in the github feed:
09:47 Infinoid &lt;pre>m build/PARROT_REVISION
09:47 Infinoid &lt;/pre>
09:47 Infinoid strange that they would escape one of the brackets but not the other.
09:48 sorear http://support.github.com/discussions/re​pos/3890-atom-feeds-contain-broken-html
09:48 sorear it doesn't matter though, I'm migrating all my #perl6 projects to CIA
09:48 sorear nih--
09:49 Infinoid moritz++ beats me to it as usual :)
09:49 moritz Infinoid: wget  http://github.com/api/v2/json/co​mmits/list/rakudo/rakudo/master
09:50 Infinoid sorear: pong
09:50 moritz Infinoid: parse that instead... much easier, very robust, contains all the necessary information
09:50 sorear Infinoid: that was what I pinged you about.
09:51 * Infinoid does a s/json/yaml/ and suddenly he can read it
09:51 moritz yes, that's easier for humans, but for the computer JSON is easier
10:00 cotto cia?
10:00 purl cia is, like, probably at http://www.odci.gov/cia/ or Cow Implant Authority or Capitalism's Invisible Army or Culinary institute of america or http://cia.vc/ or more specifically at http://cia.vc/stats/project/parrot for parrot or http://cia.vc/stats/project/POE
10:14 Infinoid moritz: Those feeds don't contain the list of changed files.
10:15 Infinoid So the longest-file-prefix feature will regress until I reimplement that
10:15 moritz Infinoid: oh, I forgot that. But regressing on it is certainly better than spamming the channel with HTML
10:17 Infinoid Well, I'll see if I can get everything else working in the next 15 minutes before I have to leave :)
10:37 dalek joined #parrot
10:38 Infinoid Please commit something?
10:40 dip joined #parrot
10:41 arnsholt sorear: Thanks again for your clarification on the continuations. It helped my progress along nicely
11:08 kurahaupo joined #parrot
11:27 dalek joined #parrot
11:32 moritz Infinoid: commit to what repo?
11:33 Infinoid moritz: Any github repo that dalek tracks.
11:33 Infinoid I did fix one bug, and I think it should probably emit things now
11:33 Infinoid Or, at least, give me an error message about why it didn't.
11:33 * moritz prepares a commit
11:34 moritz pushed to rakudo.
11:35 sorear pushed to niecza.
11:35 Infinoid dalek: *tap* *tap*
11:39 dalek rakudo: 85602a2 | moritz++ | /:
11:39 Infinoid Ok, more debug required it seems.  Sorry about the trouble, this thing's test suite doesn't mock the bot environment very well
11:39 dalek rakudo: remove some trailing whitespaces (dummy commit to test an IRC bot)
11:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​5602a200ab450c34ceba45af2272217086f5f0c
11:39 Infinoid Oh.  nevermind
11:40 moritz Infinoid++
11:44 sorear Infinoid++
11:55 kid51 joined #parrot
11:56 whiteknight joined #parrot
12:10 GodFather joined #parrot
12:11 Infinoid moritz: I'll redo the longest-common-prefix stuff this evening
12:12 mikehh joined #parrot
12:15 moritz Infinoid: it seems you can get modified files in a second request, http://develop.github.com/p/commits.html search for filename
12:21 dalek parrot: r48548 | petdance++ | trunk (3 files):
12:21 dalek parrot: Removing src/frame_builder.*, no longer used
12:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48548/
12:21 Paul_the_Greek joined #parrot
12:21 Paul_the_Greek Good morning, folks.
12:24 whiteknight good morning Paul_the_Greek
12:24 Paul_the_Greek Another tough day at the beach.
12:26 whiteknight you're such a trooper
12:27 Paul_the_Greek Someone has to be here.
12:27 whiteknight Andy: ping
12:30 whiteknight purl msg Andy r48548 breaks Configure.pl for me: cannot find src/frame_builder.c (which appears in Manifest)
12:30 purl Message for andy stored.
12:34 Infinoid moritz: Oh, one more thing.  I chose to emit karma++ lines using the "login" field, rather than the "name" field, because it should map better to IRC nicks.  If that turns out to be a scandal, please let me know and I'll change it.
12:37 moritz Infinoid: sure
12:44 tadzik joined #parrot
12:51 Paul_the_Greek karma++ lines?
12:51 whiteknight Paul_the_Greek++
12:51 whiteknight karma Paul_the_Greek
12:51 purl paul_the_greek has karma of 17
12:52 Paul_the_Greek What the hell? Is it counting ++ items in the IRC chat logs? And/or in the tickets?
12:52 whiteknight in the irc channel
12:53 Paul_the_Greek I guess I better not toss around ++ items willy-nilly.
12:53 Paul_the_Greek What a riot.
12:53 purl a riot is the unbeatable high
12:53 whiteknight we ++ people when they do something good, or bad but funny
12:53 szbalint karma svn
12:53 purl svn has karma of -62
12:53 whiteknight svn--
12:53 szbalint svn--
12:53 whiteknight karma C
12:53 purl c has karma of 8777
12:53 Infinoid karma karma
12:53 purl karma has karma of 61
12:53 Paul_the_Greek Metakarma!
12:53 szbalint all the c++ references :)
12:53 whiteknight they cheated and put ++ in the name of the damn language
12:54 szbalint (c++)-- # I win.
12:54 Paul_the_Greek And they postdecremented rather than predecremented. The usable language shoudn't have changed.
12:54 dalek parrot: r48549 | mikehh++ | trunk/MANIFEST:
12:54 dalek parrot: re-generate MANIFEST
12:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48549/
12:54 moritz c++--
12:55 moritz karma c
12:55 purl c has karma of 8779
12:55 moritz c++--
12:55 moritz karma c
12:55 purl c has karma of 8780
12:55 Paul_the_Greek Postincremented.
12:55 moritz karma c++
12:55 purl c++ has karma of -101
12:55 moritz :-)
12:55 Paul_the_Greek karma perl
12:55 purl perl has karma of 620
12:55 szbalint hehe
12:55 whiteknight karma purl
12:55 purl purl has karma of 9034
12:55 Paul_the_Greek karma python
12:55 purl python has karma of -118
12:55 szbalint (c++)++
12:56 Paul_the_Greek karma ruby
12:56 purl ruby has karma of 67
12:56 Paul_the_Greek karma lisp
12:56 purl lisp has karma of 42
12:57 Paul_the_Greek lisp++
12:58 Paul_the_Greek karma DCL
12:58 purl dcl has neutral karma
13:16 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48549 - Ubuntu 10.04 amd64 (g++ with --optimize)
13:21 he joined #parrot
13:27 khairul joined #parrot
13:28 tadzik joined #parrot
13:48 mikehh rakudo (85602a2) builds on parrot r48549 - make test PASS, make stresstest (pugs r32024) FAIL - Ubuntu 10.04 amd64 (gcc with --optimize)
13:48 mikehh t/spec/S02-builtin_data_types/nil.t - Failed tests:  7, 10
13:49 mikehh bah - that was g++ with --optimize not gcc
13:54 plobsing joined #parrot
13:59 mikehh partcl-nqp (306b1e1) builds on parrot r48459, make test FAIL - t/cmd_incr.t - Failed test:  12 - Ubuntu 10.04 amd64 (g++ with --optimize)
13:59 mikehh partcl-nqp - Files=63, Tests=1300, 58 wallclock secs ( 0.96 usr  0.20 sys + 52.84 cusr  2.50 csys = 56.50 CPU)
14:03 bubaflub joined #parrot
14:10 bubaflub joined #parrot
14:14 pmichaud mikehh: the nil.t failures are known failures (and okay... they'll be fixed for the rakudo release)
14:16 mikehh pmichaud: just checking if everything works at the moment
14:40 Andy sorry, y'all
15:00 dalek rakudo: e3f9c5e | pmichaud++ | /:
15:00 dalek rakudo: Bump PARROT_REVISION.
15:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​3f9c5eac74479e24e5f9633416d952e56a88550
15:00 dalek rakudo: ae18b90 | pmichaud++ | /:
15:00 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
15:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​e18b9069022114bf474826c247cde009f320d46
15:00 dalek rakudo: e26cb01 | pmichaud++ | /:
15:00 dalek rakudo: Add draft of 2010.08 release announcement.
15:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​26cb01c578124b6c475690afc412dcdbcc755b9
15:00 dalek rakudo: 5a33278 | pmichaud++ | /:
15:00 dalek rakudo: Update 2010.08 release information in release_guide.pod .
15:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​a33278a396ba0f0ae10fa03193ad745f12cfc1d
15:05 dalek rakudo: e0850ed | moritz++ | /:
15:05 dalek rakudo: [release] fix copy&pasto, add a new feature to feature list
15:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​0850edab2d98b3a342fd7f02057a0a52636eb00
15:19 Andy haha, gcc has just found another bug
15:20 Andy src/string/primitives.c:332:50: warning: logical ‘or’ of collectively exhaustive tests is always true [-Wlogical-op]
15:20 Andy Please read and enjoy.
15:21 moritz should that be an && ?
15:25 darbelo joined #parrot
15:31 Coke joined #parrot
15:31 Coke I'm getting an error 'make corevm coretest' with trunk in t/pmc/pmc.t
15:32 Coke ... not at head, though. whoops.
15:32 Coke (upping and re-checking...)
15:34 Andy moritz: yes.  The || condition is always true
15:34 moritz Andy: will you fix it? or should I do?
15:34 Andy I'll take care of it.
15:35 moritz ++Andy
15:35 theory joined #parrot
15:53 whiteknight does NQP support multiple inheritance now?
15:57 moritz nqp: class A { }; class B { }; class C is A is B { }; say("alive")
15:57 p6eval nqp: OUTPUT«PackFile_unpack: This Parrot cannot read bytecode files with version 8.1.␤␤PackFile header failed during unpack␤»
15:57 * moritz sighs
15:58 darbelo joined #parrot
16:00 dalek parrot: r48550 | petdance++ | trunk/src/string/primitives.c:
16:00 dalek parrot: fixed a test that was always true
16:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48550/
16:00 dalek parrot: r48551 | petdance++ | trunk (4 files):
16:00 dalek parrot: added PARROT_PURE_FUNCTION annotations
16:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48551/
16:02 Coke (nevermind, coretest is fine now)
16:03 zostay joined #parrot
16:04 moritz nqp: class A { }; class B { }; class C is A is B { }; say("alive")
16:04 purl i already had it that way, moritz.
16:04 p6eval nqp: OUTPUT«Malformed package declaration at line 1, near "is B { }; "␤current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-compiler.pir:205)␤»
16:04 moritz whiteknight: seems like "no"
16:08 pyrimidine joined #parrot
16:13 Coke mikehh: partcl-nqp seems to work fine with trunk.
16:15 hercynium joined #parrot
16:16 chromatic joined #parrot
16:23 brianwisti joined #parrot
16:28 dukeleto 'ello
16:28 allison joined #parrot
16:28 brianwisti good `localtime`
16:28 dukeleto allison: salutations
16:33 darbelo joined #parrot
16:38 allison dukeleto: good morning
16:38 purl For you maybe.
16:43 * cotto finished his gsoc final eval
16:46 ruoso joined #parrot
16:49 * cotto notes that it is difficult to observe the karma for svn without changing it
16:49 chromatic karma svn
16:49 purl svn has karma of -64
16:50 dalek parrot: r48552 | ash++ | branches/gsoc_nci:
16:50 dalek parrot: Create branch gsoc_nci
16:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48552/
16:52 darbelo joined #parrot
16:55 cotto dukeleto, how long does the "pencils-down" state of the gsoc code and documentation need to stay in place?
16:55 dukeleto cotto: as long as you make a snapshot (or git tag or whatever) of the code in the state that it was in at "pencils-down", feel free to keep working on it with your student
16:56 dukeleto cotto: you should just have an easy way to say "this is what we had at pencils down". In past years google wanted a zip/tarball of that state uploaded to them for legal purposes. Not sure if they want that this year
16:57 cotto I'll make a tarball then.
17:02 darbelo joined #parrot
17:03 cotto msg khairul You can move your code and docs to github whenever you have the tuits.  I have a tarball of your pencils down code and docs in case Google asks for it.
17:03 purl Message for khairul stored.
17:06 jsut joined #parrot
17:08 khairul cotto: planning on moving it this weekend.
17:09 cotto great
17:10 cotto clock?
17:10 purl cotto: LAX: Tue 10:10am PDT / CHI: Tue 12:10pm CDT / NYC: Tue 1:10pm EDT / LON: Tue 6:10pm BST / BER: Tue 7:10pm CEST / IND: Tue 10:40pm IST / TOK: Wed 2:10am JST / SYD: Wed 3:10am EST /
17:10 cotto You're up late.
17:10 khairul yep, going off soon.
17:10 cotto good idea
17:11 cotto purl, good idea
17:11 purl cotto: i'm not following you...
17:17 dalek parrot-linear-algebra: 88d5f3c | Whiteknight++ | /:
17:17 dalek parrot-linear-algebra: rename generated file from pla.pbc to pla_nqp.pbc, since it's intended for NQP use only (due to loading nqp and P6metaclass bytecodes). Ensure that the generated file is installed properly
17:17 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/88d5f3c3004219807cb36b74fa5ece81b25567c8
17:17 dalek parrot-linear-algebra: f1eae20 | Whiteknight++ | /:
17:17 dalek parrot-linear-algebra: fix a bug in complexmatrix2d where the matrix is being converted incorrectly to a string
17:17 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/f1eae20466c41fe9d030032d6ffed7a1e6e24080
17:17 dalek parrot-linear-algebra: 0fc9e91 | Whiteknight++ | /:
17:17 dalek parrot-linear-algebra: Major refactor to the test suite. Break up the single matrixtest.nqp file into several smaller files for manageability. During the build we compile these files and merge them together into t/testlib/pla_test.pbc, which can be loaded for a modest startup time improvement. Break out a subclass NumericMatrixTest which I can use to test the Num and Complex matrices for common math operations
17:17 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/0fc9e911966225ed100ebfc113a822aa01b4e6f6
17:22 darbelo joined #parrot
17:29 mikehh I just updated the NEWS file, (I managed to overwrite the one I was keeping up-to-date) and have recreated it, but I am probably missing stuff - please check and add to it
17:35 cotto have you committed it?
17:36 cotto (btw, trolling #ps reports is how I find stuff for NEWS)
17:36 pyrimidine joined #parrot
17:37 dukeleto Why doesn't the pbc for NQP get installed somewhere? Or am I missing it?
17:39 moritz in $prefix/lib/$version/library/nqp-rx.pbc
17:40 dalek parrot: r48553 | mikehh++ | trunk/NEWS:
17:40 dalek parrot: update News fore release
17:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48553/
17:42 darbelo joined #parrot
17:44 dukeleto moritz: ah, i was looking in $version/languages, since nqp-rx seems like a language, not a library
17:45 pgollucci joined #parrot
17:47 Coke blargh. So, if I'm using PCT::HLLCompiler.compiler() ... how do I indicate I want the code compiled into a specific (not the current) namespace?
17:51 Coke when I was handrolling PIR, i could just slap in a '.namespace ...' as a prefix...
17:55 jnthn Coke: Set  .namespace('Foo') on the outermost block.
17:56 Coke jnthn: what format is Foo in?
17:56 Coke (is it really a string? :( )
17:56 cotto_work ~~
17:56 jnthn Coke: If you want a multi-part name, stick an array in there.
17:56 Coke +1.
17:56 purl 1
17:57 jnthn :namespace('Foo','Bar','Baz') is probably fine
17:57 jnthn Foo::Bar::Baz for Foo;Bar;Baz woudln't cut it, afaik.
17:58 pyrimidine joined #parrot
18:04 pgollucc2 joined #parrot
18:05 Coke the sub I get back is really an eval. Should I do the [0] trick to get at the sub?
18:05 Coke or am I trying to .namespace() the wrong thing?
18:07 Coke when you say block, what exactly do you mean? =-)
18:07 jnthn I meant PAST::Block
18:07 jnthn Oh wait...what are you passing to HLL::Compiler?
18:08 Coke Ugh. so I can't just use compile(), then, I guess.
18:08 Coke jnthn: I'm passing in tcl code and getting back an Eval. (via Partcl::Compiler.compile() )
18:08 jnthn Oh
18:09 jnthn hang on a moment...
18:09 jnthn Rakudo's eval must do the "put int he right namespace" trick...
18:10 dalek rakudo: 037f685 | tadzik++ | /:
18:10 dalek rakudo: Optimize Range.pick for integers and non-replacing pick
18:10 dalek rakudo:
18:10 dalek rakudo: Includes an off-by-one fix from moritz_
18:10 dalek rakudo:
18:10 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
18:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​37f685f7538570690343cb7533b711aae5500ee
18:11 jnthn pbc = $P0.'compile'(code, 'outer_ctx'=>caller)
18:11 jnthn Heh. I wonder if it works it out from that.
18:12 Coke i'm not using contexts at all explicitly atm.
18:13 Coke I give up. =-)
18:17 Coke (no usable mentions of namespace in the squawk tutorial).
18:18 dalek parrot-linear-algebra: dc5246c | Whiteknight++ | /:
18:18 dalek parrot-linear-algebra: move tests around to maximize inheritance of tests among related types. This breaks many things, and apparently uncovers some segfaults here and there which need to be addressed
18:18 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/dc5246cbf8a3e7c11722c589eab92e1abb0176bc
18:18 dalek parrot-linear-algebra: ff04755 | Whiteknight++ | /:
18:18 dalek parrot-linear-algebra: don't need a dimensions() method, so take away the TODO
18:18 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/ff04755376f34d956e12011f1083e60537f3d252
18:21 cotto_work #ps in 130
18:24 Coke jnthn: Sent an email to parrot-users.
18:25 Coke jnthn++ # thanks for trying to help.
18:25 pgollucci joined #parrot
18:29 tadzik joined #parrot
18:33 pgollucci joined #parrot
18:40 darbelo_ joined #parrot
18:48 dalek parrot: r48554 | ash++ | branches/gsoc_nci (12 files):
18:49 dalek parrot: GSoC: The majority of my NCI changes in 1 commit.
18:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48554/
18:49 dalek parrot: r48555 | ash++ | branches/gsoc_nci/config/g​en/libffi/nci-ffi.pmc.in:
18:49 dalek parrot: A fix to a test case that was failing.
18:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48555/
18:55 ash_ joined #parrot
18:55 hercynium joined #parrot
18:56 pgollucc2 joined #parrot
19:01 pgollucci joined #parrot
19:07 mikehh has anyone had a look at the NEWS file to see if anything needs adding?
19:09 chromatic I skimmed it for my stuff and it's all mentioned.
19:15 * cotto_work finally figured out how to get the github trac plugin working
19:15 tcurtis joined #parrot
19:16 tcurtis Good afternoon.
19:21 pgollucci joined #parrot
19:23 whiteknight hello tcurtis
19:29 AndyA joined #parrot
19:29 jan joined #parrot
19:31 cotto_work msg cotto http://pypi.python.org/pypi/GitPython/0.1.7
19:31 purl Message for cotto stored.
19:32 whiteknight I'm surprised we don't have git bindings for Parrot yet, considering some of our contributors
19:33 * whiteknight would love to be able to "parrot-git parrot@parrot.org:parrot/parrot.git"
19:34 whiteknight parrot
19:34 dukeleto whiteknight++
19:34 cotto_work if you could only get that "org" out of there...
19:34 dukeleto cotto_work: what about the org?
19:35 whiteknight well, with proper bashing, it could be "parrot-git parrot@parrot$parrot:parrot/parrot.git"
19:36 cotto_work I thought there wasn't an official git library.
19:36 whiteknight but that would be silly
19:36 cotto_work (as in libgit.so)
19:37 cotto_work with the proper alias, you could do parrot-git parrot parrot@parrot.org:parrot/parrot.git
19:39 dukeleto mikehh: i just tweaked the NEWS file a bit to describe the work on hashes a bit more
19:39 dalek parrot: r48556 | dukeleto++ | trunk/NEWS:
19:39 dalek parrot: [docs] Make the NEWS item about hashes a bit more informative
19:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48556/
19:44 plobsing_work joined #parrot
19:44 mikehh dukeleto: excellent!
19:44 * purl zwooshes
19:45 mikehh anyone else?
19:45 purl i guess anyone else is welcome to answer also :P
19:46 moritz botsnack?
19:46 purl :)
19:46 cotto_work ship it!
19:46 purl Ship this piece of garbage? Better idea is to go back and write a lot more tests
19:48 atrodo I love products shipped too early.  Makes me feel like i'm living to the extreme without being in any mortal danger
19:48 moritz atrodo: do you also love bungee jumping? :-)
19:49 cotto_work That must be why you're doing so much Lorito hacking.
19:49 atrodo moritz> No, you missed the "mortal danger" part
19:49 atrodo cotto_work> correct.  I ship it early so someone else can actually rewrite it
19:56 Tene Coke: Sent mail. Make a PAST::Block with :namespace(['foo','bar'])
19:58 mikehh moritz: can you check the NQP-rx entry in NEWS and maybe add to it?
20:00 moritz mikehh: afaict only minor bugfixes went into NQP-rx in parrot, not sure any of them are worth mentioning
20:00 mikehh moritz: ok
20:00 chromatic Patrick committed a couple of minor optimizations too.
20:01 mikehh darbelo: I know you did some stuff, can you check NEWS and if necessary make sure it is there
20:02 mikehh chromatic: yeah - he commited something today, speedups, I'll chase him down
20:02 mikehh pmichaud: ping
20:03 chromatic "Optimizations to NQP-rx" seems like an appropriate level of detail.
20:05 chromatic Did anyone else see http://perlmonks.org/?node_id=855407 ?  Am I crazy?
20:06 Tene chromatic: I do not think you're crazy.
20:06 Coke Tene: yah, that doesn't really help in my current context.
20:06 Coke email replied.
20:07 chromatic I find it incredibly frustrating that we add features to Parrot that Perl 6 wanted, and Rakudo goes off and invents its own saying "That's not usable."
20:08 jnthn chromatic: Example?
20:08 chromatic Method dispatch, signature binding, metamodel.
20:08 chromatic Multiple dispatch.
20:08 purl multiple dispatch is probably always through the proto routine, which is internal to p6
20:09 jnthn chromatic: And Parrot providing an implementation of all of those has been a significant help to getting somewhere with a Perl 6 implementation on Parrot.
20:09 Coke in their defense, for a long time it was hard to get the parrot team to understand the requests.
20:10 jnthn chromatic: However, that doesn't mean that Parrot should expect Perl 6 to use what it provides where it doesn't fit, nor should Perl 6 folks expect Parrot to just adopt the exact semantics that are asked for.
20:10 chromatic I am very happy to review feature requests and bug reports.
20:11 Coke Tene: basically, I am starting out here:
20:11 Coke http://github.com/partcl/partcl-nqp/bl​ob/master/src/Partcl/commands/eval.pm
20:11 mikehh plobsing_work: can you add an entry in NEWS about dynop_mapping, not sure where it should go
20:11 perlite joined #parrot
20:12 smash joined #parrot
20:12 smash hello everyone
20:12 Tene Coke: my $*EVALNAMESPACE = ... is my first pass.
20:12 Coke Tene: ... EW
20:13 Coke it would work, though. Guess I'll do that and add it to docs/cheats or something.
20:14 plobsing_work mikehh: that's why I haven't already put it in. I suppose it falls under misc packfile improvements.
20:14 chromatic I'm very happy to help implement a hypothetical future Parrot which supports what Rakudo needs.
20:14 Tene Coke: Or add an attribute to your Compiler class and instantiate it.
20:14 chromatic I guess you pay your money and you take your chances that a hypothetical future other VM will do the same.
20:14 Coke Tene: does the Action sub have access to the compiler object?
20:14 Tene erm, your actions class, I mean.
20:15 * chromatic might miss the first part of #ps
20:15 Coke Tene: errrr. don't know where to do that - when I'm calling .compile() I don't see Actions at all.
20:16 Tene Ah, you're right.
20:16 Coke the global variable hack will get me an implementation, anyway. Danke.
20:16 Tene Coke: you could *also* compile to PAST, set the namespace of the PAST, and then compile the rest of the way.
20:17 Tene Coke: It's a dynamic variable, not a global.
20:17 Coke Tene: My apologies. the "perl six twigil that isn't a meme yet" variable.
20:17 Tene Coke: It's not that I'm offended, it's that it really is important whether or not it affects other invocations of the compiler.
20:19 Coke clock?
20:19 purl Coke: LAX: Tue 1:19pm PDT / CHI: Tue 3:19pm CDT / NYC: Tue 4:19pm EDT / LON: Tue 9:19pm BST / BER: Tue 10:19pm CEST / IND: Wed 1:49am IST / TOK: Wed 5:19am JST / SYD: Wed 6:19am EST /
20:20 Util purl, msg Paul_the_Greek If I say "GMP will compile with MinGW, if you just add MSYS to the process", is that enough detail for you to proceed? (given your MinGW knowledge) If not, I will write up a detailed wiki entry on HOWTO build GMP on Win32.
20:20 purl Message for paul_the_greek stored.
20:24 Paul_the_Greek joined #parrot
20:25 Paul_the_Greek Good afternoon.
20:26 cotto_work #ps in 4
20:27 Coke since c will be late, do we have a volunteer to lead?
20:28 Coke I'm supposed to leave work halfway through the meeting.
20:29 gunnar left #parrot
20:31 * cotto_work too
20:31 cotto_work well, leave for a meeting
20:32 * tcurtis hopes his internet won't die during #ps.
20:34 plobsing_work NotFound: does using "use static" in the winxed compiler improve performance? (I wasn't expecting it to do that)
20:34 NotFound plobsing_work: informal benchmark showed a bit of improvement
20:35 dalek winxed: r593 | NotFound++ | trunk/winxedst1.winxed:
20:35 dalek winxed: scheleton support for namespace modifiers in stage 1
20:35 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=593
20:35 NotFound Not sure why, pir should do it.
20:36 NotFound Maybe is just a little speedup in pir compiling.
20:37 plobsing_work PIR simultaneously does too much to understand fully and too little to be user-friendly
20:38 NotFound Anyway, using it on the compiler grant it's tested
20:49 Paul_the_Greek Are we delaying until people show up?
20:51 cotto_work It's going on now
20:51 cotto_work #parrotsketch
20:51 purl it has been said that #parrotsketch is the channel where the core parrot committers report weekly status, moderated by our project manager, coke, every Tuesday at 18:30 UTC
20:52 Paul_the_Greek Oops!
20:54 cotto_work you can catch up on the irclogs
20:54 allison joined #parrot
20:56 Coke no, #parrotsketch is the channel where parrot devs meet weekly, every tuesday at 18:30 UTC.
20:56 purl okay, Coke.
21:04 Paul_the_Greek Just a test.
21:06 dalek TT #1673 closed by coke++: need better "create a language docs"
21:06 dalek TT #1673: http://trac.parrot.org/parrot/ticket/1673
21:08 jsut_ joined #parrot
21:12 chromatic Thoughts on PCC performance improvements: http://trac.parrot.org/parrot/w​iki/PCCPerformanceImprovements
21:15 whiteknight joined #parrot
21:18 tcurtis joined #parrot
21:22 lucian joined #parrot
21:22 dalek TT #1730 closed by coke++: Languages page on Website needs updating
21:22 dalek TT #1730: http://trac.parrot.org/parrot/ticket/1730
21:22 dalek TT #1319 closed by coke++: Convert Squaak to nqp-rx
21:22 dalek TT #1319: http://trac.parrot.org/parrot/ticket/1319
21:23 dalek parrot: r48557 | coke++ | trunk/examples/languages/squaak/src/squaak.pir:
21:23 dalek parrot: fix comment leftover from legacy versions.
21:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48557/
21:30 Coke Does anyone here know Jeff Goff?
21:31 pmichaud mikehh: pong
21:31 pmichaud good afternoon, #parrot
21:31 lucian joined #parrot
21:31 kurahaupo1 joined #parrot
21:32 chromatic I know Jeff Goff; what's the question?
21:32 mikehh pmichaud: I was wondering if you could look at the NEWS file and see if there was anything you wanted to add before I do the release?
21:33 Coke chromatic: I'm assigning you a ticket. ;)
21:33 chromatic DrForr, ping.
21:33 Coke http://trac.parrot.org/parrot/ticket/515
21:35 Coke ->
21:37 Topic for #parrotis now Parrot 2.6.0 | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 13 tickets, merge outstanding branches, help NotFound clean up PBC tests
21:45 pmichaud mikehh: looking
21:46 NotFound The tests cleaning is probably easy, I just can't evaluate the time required because it may need some Makefile trickery
21:49 pmichaud mikehh: I don't have anything significant to add to NEWS.
21:49 mikehh pmichaud: ok thanks
21:49 mikehh anyone else got anything to add to NEWS?
21:51 mikehh or for that matter CREDITS or DEPRECATED
21:51 chromatic RAKUDO RUNS AT LEAST 10% FASTER
21:51 chromatic But I don't know the exact number, so we can leave it out.
21:52 tadzik It runs _significantly_ faster, one can see it without a timer
21:52 pmichaud it's a bit hard to know how much speed improvement is due to parrot, and how much is due to rakudo, though.  :-)
21:52 Paul_the_Greek joined #parrot
21:53 pmichaud (or nqp-rx :-)
21:53 mikehh any PLATFORM additions?
21:53 pmichaud I'm fine with crediting Parrot for the bulk of the speedup :)
21:53 chromatic I know it's at least 10% faster thanks to things I've done, because I didn't update Rakudo in between my timing runs.
21:54 pmichaud wfm
21:54 chromatic Looked like NQP-rx added an additional 10% last night.
21:55 pmichaud for compilation speed, yes, for runtime performance... not so much.
21:55 plobsing_work just another 80% to go! </math-fail>
21:56 chromatic Does parsing still dominate runtime performance?
21:57 mikehh there has been a bit of a speedup in the tests
21:57 pmichaud chromatic: I think it's about 50-50
21:58 pmichaud of course, it should be about 10-90.  but at least parsing isn't the majority of the time for most things anymore.
21:58 pmichaud (whether that's because parsing has improved or because we now do more complex things at runtime... hard to say :)
21:58 chromatic I'd really, really like to be able to profile parsing but I don't know how to do that without writing parsing benchmarks.
22:00 kurahaupo1 joined #parrot
22:00 pmichaud I don't know how to do it within what Parrot currently provides.
22:01 pmichaud right now the best parsing benchmarks would be core.pm from Rakudo, and the various .pm files within NQP
22:01 chromatic Exercising various NQP parsing features in stupid, isolated little loops?
22:02 pmichaud no, I mean compiling nqp itself
22:03 chromatic Right, but I'm saying I think we need to be able to profile and optimize and figure out what's slow in various features of NQP in isolation.
22:03 chromatic Sort of like the experience figuring out that one type of increment in Rakudo is abnormally slow.
22:03 pmichaud so, is there any way we could get some sort of pir-sub-level profiling yet?
22:04 pmichaud i.e., "parsing is taking XYZ amount of time in this subrule"?
22:04 pmichaud otherwise we're just guessing for the most part
22:04 darbelo Can't the profiling runcore handle that?
22:04 pmichaud I've found the profiling runcore to have real problems with things like tailcalls
22:05 darbelo Ouch.
22:05 pmichaud but I haven't tried in over a year, so perhaps things have improved w/o my knowledge
22:06 pmichaud note that it wouldn't be at all difficult for me to instrument the parsing methods with information about entry/exit.  in fact, that's already there
22:06 pmichaud I just need to know what sort of information is worth collecting
22:06 chromatic Mostly what gets called from where and how often.
22:07 pmichaud I can probably add that to nqp's tracing.
22:09 chromatic My intuition keeps telling me that NQP does something strange in a couple of places that we'll all slap our foreheads over and say "Wow, it runs faster now that we've re-thought that."
22:20 cotto_work If I get\ a test case that doesn't profile well, I can work on that.
22:21 cotto_work s/test case/chunk of pir/
22:21 chromatic s/chunk of pir/very small chunk of pir/
22:22 cotto_work ideally, but I also whittled partcl down to a minimal test case
22:23 cotto_work There's no (parrot-related) thing I'd like more than to make nqp parsing faster.
22:26 Paul_the_Greek When does the bulk of NQP parsing occur?
22:26 chromatic I'm not sure how to answer that question.  Can you be more specific?
22:27 Paul_the_Greek Sorry, I haven't looked at NQP yet. Is this an issue for build time?
22:27 cotto_work The time nqp spends parsing dwarfs the other stages by a couple orders of magnitude.
22:28 Paul_the_Greek The other stages of the build?
22:28 cotto_work other compilation stages
22:28 cotto_work nopaste coming...
22:28 plobsing_work Paul_the_Greek: the other stages of any nqp-based compiler and often their runtimes
22:30 Paul_the_Greek Ah, the parsing stage of compilers implemented in NQP?
22:31 cotto_work yes
22:32 Paul_the_Greek Is it the parsing itself or the rule actions?
22:39 cotto_work Gah.  Too many yaks to shave to get PIRATE working atm.
22:45 cotto_work and PIRATE needs an update for the new OpLib interface
22:46 pyrimidine left #parrot
22:48 nopaste "cotto_work" at 192.168.1.3 pasted "relative speed of nqp compilation stages" (9 lines) at http://nopaste.snit.ch/22860
22:49 cotto_work There you go.
22:49 plobsing_work cotto_work: does the past stage do anything?
22:49 cotto_work parsing gets relatively more expensive as files get longer
22:50 sorear plobsing_work: past stage does a single getattribute_p_p_s
22:51 sorear since NQP builds the past tree during the parse and attaches it to the root parse node
22:57 kid51 joined #parrot
22:58 lucian joined #parrot
23:04 nopaste "mikehh" at 192.168.1.3 pasted "getting test failure in pre_release 2.7.0 (t/pmc/threads.t - Failed test: 14)" (34 lines) at http://nopaste.snit.ch/22861
23:04 mikehh help
23:05 mikehh this is weird - it passes in some tests but not others
23:06 mikehh it looks ok except # Inconsistency detected by ld.so: dl-close.c: 731: _dl_close: Assertion `map->l_init_called' failed!
23:06 chromatic That's strange.
23:08 mikehh it passes ok in trunk, but after I did the 2.7.0 updates (before cpommiting of course) I get those failures
23:08 mikehh committing
23:23 Coke regarding the pod discussion for static docs, I am +5 on having pod in .c files only for those items that we want to document as part of the API. if someone is reading the source... they can read the non-POD comments at the same time.
23:24 Coke Conversely, exposing the internal functions to users who just want to use the API: -5.
23:24 chromatic My thoughts too.
23:35 particle smolder has been installed on parrot.org, configuration in progress.
23:39 Coke \o/
23:39 cotto_work happy
23:44 Coke \©/
23:45 mikehh ok - I think I found the problem
23:45 cotto_work clock?
23:45 purl cotto_work: LAX: Tue 4:45pm PDT / CHI: Tue 6:45pm CDT / NYC: Tue 7:45pm EDT / LON: Wed 12:45am BST / BER: Wed 1:45am CEST / IND: Wed 5:15am IST / TOK: Wed 8:45am JST / SYD: Wed 9:45am EST /
23:49 Paul_the_Greek When a PMC is destroyed, the vtable slot is set to 0xdeadbeef. Now that's amusing.
23:49 cotto_work That's to make it easy to identify attempts to use a destroyed PMC.
23:54 Paul_the_Greek I'm setting up my system to allocate a vtable at 0xdeadbeef ...
23:55 cotto_work good luck with that
23:55 purl SOL loser!
23:56 GeJ at r48557 make fulltest PASS on FreeBSD 7.2 amd64
23:56 Paul_the_Greek I'm thinking alignment may prevent me from doing that.
23:56 chromatic Likely.
23:57 mikehh I've got my normal editor (Kate) set up to remove trailing spaces and replace tabs and editing srcd/ops/core_ops.c did that, so I re-edited with vim and it now passes the tests
23:57 cotto_work There's a good reason it's not an aligned value.
23:59 Paul_the_Greek I was so amused by the word that I didn't think about the alignment.
23:59 Paul_the_Greek Which is a sorry thing, since I've been thinking about alignment a lot.

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

Parrot | source cross referenced