Camelia, the Perl 6 bug

IRC log for #parrot, 2010-06-08

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 tcurtis How have you been?
00:01 whiteknight chromatic is neither good nor bad. he is precisely how he intends to be
00:01 darbelo What if he intends to be bad?
00:01 chromatic I'm chaotic awesome.
00:02 * tcurtis wishes he had known that was an option.
00:03 chromatic Don't worry about it.  Rerolling is hard.
00:10 GeJ joined #parrot
00:11 dalek parrot: r47440 | darbelo++ | branches/gsoc_nfg/src/string (2 files):
00:11 dalek parrot: Clone the grapheme table when cloning the string.
00:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47440/
00:11 dalek parrot: r47441 | darbelo++ | branches/gsoc_nfg/src/string (2 files):
00:11 dalek parrot: Move a TODO to the place where the fix would go.
00:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47441/
00:11 dalek parrot: r47442 | darbelo++ | branches/gsoc_nfg/src (3 files):
00:11 dalek parrot: Destroy the grapheme table when releasing the string header for collection.
00:11 dalek parrot: Make table cloning deep, to avoid having graphemes freed from under our strings.
00:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47442/
00:11 dalek parrot: r47443 | darbelo++ | branches/gsoc_nfg/src/string/grapheme.c:
00:11 dalek parrot: Whitespace police.
00:11 purl ALL TAB STOPS AT 8 COLUMNS.  LINE UP ENCLOSING BRACES.  EVERY COMMA HAS A SPACE AFTER IT.  AND THIS MEANS *YOU*, BOY!
00:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47443/
00:11 ash_ was the 'restrict' keyword added in c99?
00:11 sorear yes
00:12 tcurtis Do you know if a video and/or transcript of your talk at OSBridge will be posted somewhere? It sounds interesting and might finally motivate me to actually try coding something beyond "Hello, world" in Perl 5. Also, is there any time in the next few days you have free for us to meet and discuss how my project has gone so far?
00:13 chromatic There's audio, but if you read modernperlbooks.com and skim the book in progress on GitHub, you'll know most of it already.
00:14 chromatic I can talk some tomorrow before or after #ps too.
00:14 GeJ Good morning again.
00:14 darbelo Good tomorrow morning, GeJ.
00:15 ash_ what time is #ps?
00:15 cotto_work parrotsketch?
00:15 purl parrotsketch is a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch
00:18 ash_ is utc the same thing as gmt? I never understand time zones...
00:20 darbelo ash_: Yeah, except when it isnt.
00:20 ash_ sweet, now i get to be more confused
00:21 ash_ :p
00:21 darbelo GMT can move in the summer. UTC can't.
00:21 darbelo most of the time UTC == GMT. UTC is the one you want.
00:21 cotto_work date --utc will tell you what utc time it is
00:22 cotto_work Tue Jun  8 00:21:59 UTC 2010
00:23 darbelo ... Okay, I need to adjust my clock.
00:23 darbelo Tue Jun  8 00:22:45 UTC 2010
00:23 cotto_work looks only a little inaccurate
00:24 darbelo Amusingly, my local time shows fine. So myt tz must be wrong too.
00:25 cotto_work I'm not seeing the problem.  utc should be the same everywhere.  That's the point.
00:25 ash_ during this last semester i had to setup a server for a sys admin class and there was some problem with the hardware, it wouldn't keep the date settings between boots, so every time i booted it said half the files were last modified to far in the future since it reset the date to 1904
00:26 tcurtis joined #parrot
00:27 darbelo But how could such a sane default as 1904 ever go wrong?
00:28 ash_ well it was a ppc from 2004, so... i see the connection, sorta
00:29 darbelo When in doubt, travel back in time 100 years.
00:30 tcurtis chromatic: Is it okay if I tell you whether it would be better for me to talk before or after #ps later tonight? I may be away from my computer for either most of the morning and afternoon prior to #ps or for much of the evening following it, and I won't know until a few hours from now which will be the case.
00:30 ash_ because there were totally computers in 1904
00:30 ash_ i mean who else was managing when the light bulbs were on?
00:33 chromatic That's fine, tcurtis.
00:36 sorear ash_: if you upgrade it to OSX, it will jump to 1970
00:38 ash_ OS X's date doesn't take --utc btw
00:38 darbelo try -u
00:38 ash_ ah that did it
00:39 darbelo It's probably a BSD derivative, insteda of the GNU one.
00:39 ash_ was reading the man pages for it, hadn't found -u yet
00:43 dalek parrot: r47444 | darbelo++ | branches/gsoc_nfg/src (2 files):
00:43 dalek parrot: Fix non-icu builds. Again.
00:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47444/
01:00 abqar joined #parrot
01:12 jsut joined #parrot
01:16 ash_ so... the root.in makefile, can you check if something is not defined?
01:16 ash_ i see #IF() used, #UNLESS() is the opposite right?
01:23 jsut_ joined #parrot
01:28 kid51 ash_: yes, see config/gen/makefiles/root.in
01:29 ash_ i am looking at it now, thanks kid51
01:57 TiMBuS joined #parrot
01:57 plobsing joined #parrot
02:29 gbacon joined #parrot
02:31 theory joined #parrot
02:45 s1n joined #parrot
02:53 s1n joined #parrot
02:55 s1n joined #parrot
03:00 khairul joined #parrot
03:02 s1n joined #parrot
03:07 Andy joined #parrot
03:13 dalek parrot: r47445 | khairul++ | branches/gsoc_instrument (4 files):
03:13 dalek parrot: Made codetest mostly happy, exposed data attribute of task pmc.
03:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47445/
03:17 cotto Do we have a generic linked list implementation somewhere in Parrot?  It seems that the structure gets some use.
03:18 dalek rakudo: 0290298 | (Solomon Foster)++ | src/core/Cool-num.pm:
03:18 dalek rakudo: Clean up the Cool versions of the standard Numeric and Real methods.
03:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​290298ffaeb8025ef882d5a0203a102ffb8d952
03:18 dalek rakudo: 34c1ba4 | (Solomon Foster)++ | t/spectest.data:
03:18 chromatic Not to my knowledge.
03:18 dalek rakudo: Turn on new S32-num/cool-num.t test file.
03:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​4c1ba458d6d816b892517639001d0490efe301a
03:19 khairul hi cotto
03:20 cotto hi khairul
03:21 khairul wanna have that meeting now?
03:21 cotto wfm
03:40 dukeleto 'ello
03:41 bacek_at_work cotto, src/gc/list.{h,c} in gc_massacre branch
03:41 cotto but that won't be merged for a while, will it?
03:42 LoganLK joined #parrot
03:42 dukeleto cotto: a linked list structure would be nice
03:43 chromatic bacek_at_work, does that branch need profiling and tuning?
03:44 cotto bacek_at_work, can you move the code into a more generic place so it can be used once the branch is merged?
03:45 janus joined #parrot
03:45 cotto also, what's the eta on the merge (if it's foreseeable)?
03:49 cotto nm.  bacek_at_work, do you mind if I make the linked list code more generic?
03:50 bacek_at_work chromatic, a lot. Especially "gc triggering" situation.
03:51 bacek_at_work cotto, go for it.
04:02 dalek parrot: r47446 | plobsing++ | trunk/t (2 files):
04:02 dalek parrot: avoid dynops in one io test and move another to a dynops test
04:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47446/
04:13 tcurtis chromatic: Talking before #ps would be better for me.
04:18 dalek parrot: r47447 | plobsing++ | trunk/t (2 files):
04:18 dalek parrot: avoid dynop use in 1 io test, move another to dynop tests.
04:18 dalek parrot: also fix io dynops tests (closing stdout is NOT COOL!)
04:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47447/
04:23 cotto stdout?  nobody ever writes to that.
04:35 integral joined #parrot
04:36 dalek parrot: r47448 | plobsing++ | trunk/t/pmc/io.t:
04:36 dalek parrot: fix a few more io coretests, converting PASM to PIR at the same time
04:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47448/
04:51 tcurtis_ joined #parrot
05:13 eternaleye joined #parrot
05:21 cotto bacek_at_work, howcome LIST_APPEND and LIST_REMOVE are macros?  Is there really that much of a speed improvement?
05:26 dalek parrot: r47449 | plobsing++ | trunk/t (2 files):
05:26 dalek parrot: move io tests away from dynops and PASM towards methods and PIR
05:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47449/
05:32 bacek_at_work cotto, they are in hot path in GC
05:32 bacek_at_work poor-man templates...
05:34 cotto wfm then
05:43 dalek parrot: r47450 | tcurtis++ | branches/gsoc_past_optimization (2 files):
05:43 dalek parrot: Refactor the way matching works and hopefully implement capturing attributes and children of the matched nodes(this part isn't yet tested).
05:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47450/
05:45 jan joined #parrot
06:11 uniejo joined #parrot
06:16 dalek parrot: r47451 | plobsing++ | trunk (2 files):
06:16 dalek parrot: more io coretest dynop => method conversion
06:16 dalek parrot: also fix FileHandle.seek identified as wrongly implemented by a converted test
06:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47451/
06:32 dalek parrot: r47452 | plobsing++ | trunk/t (2 files):
06:32 dalek parrot: move stat test to dynop tests and avoid getstderr dynop in another test
06:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47452/
06:35 bacek_at_work plobsing, ping.
06:36 bacek_at_work plobsing, I did move getstd* ops back to core in r47392 (temporary)
06:37 plobsing bacek_at_work: hmmm... that's news to me
06:38 plobsing probably better off this way anyways
06:39 bacek_at_work plobsing, it was quicker than implementing methods on FileHandle/Interpeter
06:40 plobsing what's wrong with stdhandle?
06:42 aukjan joined #parrot
06:45 bacek_at_work plobsing, nothing actually.
06:47 plobsing so there wouldn't be objections if I moved them back to dynops after converting all core instances to method calls?
06:48 plobsing (not that that is particularily high in my priorities)
06:49 chromatic Seems like busy work to me.
06:49 plobsing which is why its at the bottom of my list
06:53 aukjan joined #parrot
06:53 bacek_at_work plobsing, we still need reliable way to get stderr/stdlog handled.
06:53 bacek_at_work handlers
06:53 purl handlers are neato
06:54 plobsing fair enough. if this works, it's not worth arguing over.
07:20 cotto testing gc_massacre makes my lappy sad
07:22 dalek parrot: r47453 | cotto++ | branches/gc_massacre (5 files):
07:22 dalek parrot: [list] move linked list code out of gc (function renaming still to come)
07:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47453/
07:25 jsut joined #parrot
07:30 chromatic It's difficult to create a local branch tracking the gc_massacre branch when you always spell it gcc_massacre.
07:30 chromatic Apparently I secretly root for clang.
07:33 cotto having 'make' eat my ram and make my computer nearly unusable for a minute is really good training for using corevm.
07:33 cotto corevm++
07:34 cotto also, sed++ for doing most of my editing for me
07:38 dalek parrot: r47454 | cotto++ | branches/gc_massacre (5 files):
07:38 dalek parrot: [list] function renaming to make the list code look more separate from gc
07:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47454/
07:40 chromatic You're not kidding about eating RAM.
07:44 cotto The code needs love and tries to fill the void by eating memory.
07:44 chromatic Just like me and pie.
07:48 chromatic Part of the slowdown on gc_massacre (8.91% of runtime) is gc_ms2_free_fixed_size_storage() and gc_ms2_free_pmc_attributes() eventually calling free().
07:48 chromatic 25% of the runtime is the use of the corresponding malloc()s.
07:49 chromatic If you want a 33% speedup, it's pool time.
07:49 chromatic bacek_at_work, ping
07:49 cotto headerizer++
07:51 moritz I thought bacek_at_work wanted to remove the pools?
07:52 chromatic Removing the pools is fine, as long as we don't replace them with the system malloc/free, which appears to manage free lists with some sort of cloud-based serializationn.
07:52 chromatic As in SMOKE SIGNALS
07:52 moritz with what else could they be replaced? a custom malloc?
07:53 chromatic Those are the two options, a custom malloc or pools.
07:53 chromatic (and a custom malloc may indeed use pools anyway)
07:54 chromatic The good news is that we can get faster than trunk by ~8-10% if we use a better strategy there.
07:54 dalek parrot: r47455 | cotto++ | branches/gc_massacre (2 files):
07:54 dalek parrot: fix and rerun headerizer
07:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47455/
07:54 dalek parrot: r47456 | chromatic++ | branches/gc_massacre/config/gen/makefiles/root.in:
07:54 dalek parrot: [config] Added root Makefile deps for src/list.c.
07:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47456/
07:55 dalek parrot: r47457 | cotto++ | branches/gc_massacre (2 files):
07:55 dalek parrot: [list] change int return type to INTVAL, add PARROT_EXPORT, reheaderize
07:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47457/
07:55 moritz chromatic: so how are pools managed in trunk, if not by a malloc-like routine?
07:56 chromatic It's basically a malloc-like routine.
07:56 chromatic You should have heard me trying to answer the question "Does Parrot use the stack?" in a BOF last week.
07:56 moritz "yes, but not like you think it does"?
07:56 chromatic I'm trying to figure out how much I can lie to you to answer your question honestly.
07:57 moritz let me rephrase my question
07:57 moritz in trunk, we have pools managed by a malloc-like routine
07:58 moritz in the branch, you want pools managed by a malloc-like routine
07:58 moritz what's the big difference? "just" the internal management of those pools?
07:58 chromatic Yeah.
07:59 chromatic From the point of view of using these routines, the interface is "I want some free memory of size n" and "I'm done with this memory, so recycle it."
08:00 chromatic The GC could malloc a pool of m items of size n, or it could call malloc() for each item.
08:00 moritz or it could re-use an existing pool, if applicable
08:00 chromatic Exactly.
08:01 moritz \o/ I'm just as dumb as I look, not more :-)
08:02 bacek pong
08:03 chromatic I profiled the slowness of gc_massacre.
08:03 bacek chromatic, there is todo list on GCMassacre wiki. PMC_Allocator is first priority.
08:03 chromatic Okay, good.
08:04 chromatic There's little reason to profile much until after that point.
08:04 bacek actually after StringPool
08:05 bacek Which is second priority :)
08:06 chromatic The existing hotspots are too hot to get good information on anything else.
08:07 bacek strings are currently using same malloc/free.
08:08 chromatic I only used the fib.pir benchmark; that's all integers.
08:10 bacek I did test it on examples/benchmarks/stress_strings.t
08:10 bacek And added similar stress_integers
08:11 dalek parrot: r47458 | mikehh++ | trunk/t/dynoplibs/io.t:
08:11 dalek parrot: fix codetest failure - trailing whitespace
08:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47458/
08:16 mikehh make corevm/coretest has 1/4 failure(s) remaining - t/pmc/io.t - Failed tests:  25, 27, 29, 31
08:17 mikehh all subtests fail with - error:imcc:loadlib directive could not find library `io_ops'
08:18 preflex joined #parrot
08:20 mikehh make test PASS
08:52 mikehh make corevm/make coretest - t/pmc/io.t - Failed tests:  25, 27, 29, 31
08:52 mikehh t/compilers/imcc/syn/clash.t - Failed test:  13 in testr see: http://nopaste.snit.ch/20983
08:52 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34251), fulltest) at r47458 - Ubuntu 10.04 amd64 (g++)
08:52 mikehh t/op/annotate-old.t - TODO passed:   1 in testf
09:07 dalek joined #parrot
09:43 dngor joined #parrot
10:44 clinton joined #parrot
10:59 Myhrlin_ joined #parrot
11:00 whiteknight joined #parrot
11:21 cognominal joined #parrot
11:36 mikehh make corevm/make coretest - t/pmc/io.t - Failed tests:  25, 27, 29, 31
11:36 mikehh t/compilers/imcc/syn/clash.t - Failed test:  13 in testr see: http://nopaste.snit.ch/20983
11:36 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34254), fulltest) at r47458 - Ubuntu 10.04 amd64 (g++ with --optimize)
11:36 mikehh t/op/annotate-old.t - TODO passed:   1 in testf
11:43 ruoso joined #parrot
11:47 bacek *incoming*
11:51 dalek parrot: r47459 | bacek++ | branches/gc_massacre/src/gc/pool_allocator.c:
11:51 dalek parrot: Comment-out assert in PoolAllocator.free. It's way too heavy even for debug builds
11:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47459/
11:51 dalek parrot: r47460 | bacek++ | branches/gc_massacre (3 files):
11:51 dalek parrot: Add skeleton for Fixed_Allocator.
11:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47460/
11:51 dalek parrot: r47461 | bacek++ | branches/gc_massacre/src/gc (2 files):
11:51 dalek parrot: Implement Fixed_Allocator (not tested)
11:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47461/
11:52 dalek parrot: r47462 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
11:52 dalek parrot: Use Fixed_Allocator for allocating fixed size storage.
11:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47462/
11:52 dalek parrot: r47463 | bacek++ | branches/gc_massacre/src/gc/pool_allocator.c:
11:52 dalek parrot: Fully initialize Pool_Allocator
11:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47463/
11:52 dalek parrot: r47464 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
11:52 dalek parrot: Use Fixed_Allocator for PMC Attributes.
11:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47464/
12:04 mikehh rakudo (e3153ad) builds on parrot r47458 - make test PASS, spectest_smolder -> #34257 (pugs r31179) PASS - Ubuntu 10.04 amd64 (g++ with --optimize)
12:04 mikehh 19 TODO PASSes in 4 files
12:12 moritz does the parrot NCI support any form of callbacks?
12:18 bacek moritz, unlikely
12:18 moritz will the future NCI support it?
12:18 moritz it would be extremely useful for wrapping GUI toolkits, for example
12:19 arnsholt I'd go so far as to say callbacks are necessary for GUI toolkits
12:21 bacek moritz, no idea... It's one dark parrot's sides for me
12:22 moritz as opposed to the bright GC? :-)
12:22 bacek purl, (2332524536 - 2837195584) / 2332524536 * 100
12:22 purl -21.6362589207936
12:22 bacek moritz, no... GC is even darker
12:23 bacek That's why I'm implementing new GC with blackjack and hookers! :)
12:24 dalek parrot: r47465 | mikehh++ | branches/gc_massacre/MANIFEST:
12:26 dalek parrot: re-generate MANIFEST
12:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47465/
12:26 dalek parrot: r47466 | bacek++ | branches/gc_massacre (56 files):
12:26 dalek parrot: Merge branch 'master' into gc_massacre
12:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47466/
12:26 dalek parrot: r47467 | mikehh++ | branches/gc_massacre/src/gc (2 files):
12:26 dalek parrot: add svn properties
12:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47467/
12:30 bacek msg chromatic It's still slow. We can merge fixed_allocator.{c,h} and pool_allocator.{c,h} and use common static functions to avoid function calls.
12:30 purl Message for chromatic stored.
12:32 bacek msg chromatic ... and probably swap their names...
12:32 purl Message for chromatic stored.
12:36 mikehh bacek: will it mees you up if I add ASSERT_ARGS to src/gc/fixed_allocator.c
12:36 mikehh mess
12:36 bacek mikehh, go ahead
12:44 mikehh bacek: gc_massacre branch codetest is passing except for c++ comments :-}
12:44 bacek :)
12:56 dalek parrot: r47468 | mikehh++ | branches/gc_massacre/src/gc/fixed_allocator.c:
12:56 dalek parrot: add ASSERT_ARGS and fix line length
12:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47468/
13:01 whiteknight joined #parrot
13:03 whiteknight good morning, #parrot
13:06 Coke morning.
13:07 whiteknight hello Coke, how are you today?
13:10 dalek winxed: r490 | julian.notfound++ | trunk/examples/ajax.winxed:
13:10 dalek winxed: improve example ajax
13:10 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=490
13:10 cognominal joined #parrot
13:11 atrodo joined #parrot
13:41 JimmyZ joined #parrot
13:49 gbacon joined #parrot
13:49 whiteknight joined #parrot
13:54 lucian joined #parrot
14:07 Coke whiteknight: not bad, althoguh I am frustrated with this work project. it's interesting, but the research is taking too long. =)
14:07 Coke you?
14:07 purl you is a wave
14:07 plobsing joined #parrot
14:19 dalek parrot: r47469 | bacek++ | branches/gc_massacre (8 files):
14:20 dalek parrot: Merge pool_allocator and fixed_allocator files
14:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47469/
14:20 dalek parrot: r47470 | bacek++ | branches/gc_massacre/src/gc (4 files):
14:20 dalek parrot: Rename PoolAllocator functions and made them consistent in accepting interp
14:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47470/
14:20 dalek parrot: r47471 | bacek++ | branches/gc_massacre/src/gc (2 files):
14:20 dalek parrot: Split PoolAllocator methods into public and static part
14:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47471/
14:20 dalek parrot: r47472 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c:
14:20 dalek parrot: Use static pool functions in Fixed_Allocator
14:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47472/
14:20 dalek parrot: r47473 | bacek++ | branches/gc_massacre/src/gc/fixed_allocator.c:
14:20 dalek parrot: Add ASSERT_ARGS
14:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47473/
14:35 bubaflub joined #parrot
15:36 fperrad joined #parrot
15:45 contingencyplan joined #parrot
15:46 patspam joined #parrot
15:58 theory joined #parrot
16:21 * Coke wants an irc proxy.
16:21 Coke (so I can stay connected from a single server, but just connect to that server to play back everything since the last time I connected with whatever my local client is.
16:22 gbacon joined #parrot
16:23 Andy joined #parrot
16:26 whiteknight Coke, that would be nice
16:26 tewk Coke: http://search.cpan.org/~hinrik/App-Bondage-0.4.4/
16:32 dalek rakudo: 7821618 | (Solomon Foster)++ | src/core/Real.pm:
16:32 dalek rakudo: [t/spec] Add "our" to infix:<mod> definition so [mod] works.
16:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​8216182a3b1a0a83096c4b8d1adc39ac31c29cb
16:33 Coke tewk: nifty. danke.
16:33 whiteknight Oh those crafty perl people.
16:35 Coke tewk: I also want parrot_debugger to work.
16:37 Andy This gives me a kick in the ass for the restrict keyword: http://lbrandy.com/blog/2010/06​/you-cant-beat-a-good-compile/
16:42 tcurtis joined #parrot
16:43 Andy In Trac, if I'm logged in, does it somehow indicate that?
16:44 cotto top of the page "logged in as x"
16:44 Andy ok, so I'm not crazy
16:44 Andy it's not logging me in
16:46 Coke where is HLL::Compiler defined. nqp-rx?
16:46 moritz Coke: yes
16:46 moritz src/HLL/Compiler.pm
16:48 Coke apparently that .eval() is now eating my CONTROL_RETURN.
16:48 Coke and that is PCT::HLLCompiler's .compile...
16:48 Coke s/is/uses/
16:49 * Coke gets dizzy trying to find things under the covers.
16:49 Andy Is anyone else able to log in to Trac?
16:51 Coke Andy: yes.
16:51 Andy i cleared all my cookies, reset PW.
16:51 Andy Still no happy.
16:51 particle flush browser cache?
16:52 particle try RT
16:52 Coke ISTR andy had problems ages ago getting started on trac.
16:53 Coke wonder if this is the same or related bug.
16:53 Andy yeah, me too
16:55 Coke (CONTROL_RETURN) it would be most helpful to me if someone could figure out why Partcl::Compiler.eval is eating CONTROL_RETURN exceptions. (that eval isa HLL::Compiler, which in turn seems to use PCT::HLLCompiler, and then it gets into stages, and I get a little lost.
16:55 dalek winxed: r491 | julian.notfound++ | trunk/winxedst (2 files):
16:55 dalek winxed: predef constants true and false
16:55 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=491
16:56 Andy No longer going thru a proxy, now it's happy.
16:56 Coke Andy: I'm using a proxy here (squid), no worries.
16:57 Coke proxy cache, perhaps?
16:58 Andy right
16:58 Andy could be
16:59 Andy so my cache seems to be overly aggressive.
17:00 dalek winxed: r492 | julian.notfound++ | trunk/examples/ajax.winxed:
17:00 dalek winxed: method HEAD and command line options in example ajax
17:00 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=492
17:01 cotto_work GOOD MORNING
17:01 purl For you maybe.
17:06 Andy well, bah, my squid proxy at home is messing it up, but the work proxy does it right.
17:07 cotto_work nice to see that the build in gc_massacre works now
17:07 cotto_work bacek++
17:11 * Coke sighs. I'm going to have to do another bisect to figure out when partcl-nqp died. =|
17:15 szabgabx joined #parrot
17:16 dmalcolm joined #parrot
17:21 ambs joined #parrot
17:22 ambs joined #parrot
17:23 estrabd joined #parrot
17:25 Coke ambs: ho
17:25 ambs Coke: hellows.
17:26 estrabd joined #parrot
17:50 tcurtis_ joined #parrot
17:52 estrabd joined #parrot
17:54 chromatic joined #parrot
17:54 dalek tracwiki: v62 | cotto++ | ParrotQuotes
17:54 dalek tracwiki: it's a vicious cycle
17:54 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=62&amp;action=diff
17:54 chromatic gc_massacre is just a touch faster than my most recent trunk measurement now.
17:54 estrabd joined #parrot
17:56 gaz joined #parrot
17:59 dalek rakudo: acecb97 | moritz++ | src/core/Match.pm:
17:59 dalek rakudo: remove some clutter from Match.perl output
17:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​cecb97d04b45b4d7f5cb09c28ef232f0a9adb46
18:02 whiteknight chromatic: awesome. Any faster is welcome faster
18:03 whiteknight I haven't spoken to bacek today, though I have seen some of his commits. What's the status of that branch?
18:04 chromatic corevm builds for me
18:04 cotto_work coretest still gets stuck on t/op/string_mem.t
18:04 cotto_work the full build seems to work nicely though
18:06 chromatic That test hangs for me too.
18:06 chromatic make: *** [src/dynoplibs/math_ops.c] Error 1
18:06 chromatic too few positional arguments: 1 passed, 2 (or more) expected
18:06 chromatic current instr.: 'parrot;Ops;Trans;C;getop' pc 25824 (compilers/opsc/gen/Ops/Trans.pir:397)
18:08 cotto_work Hmmm.  nothing like that for me
18:08 davidfetter joined #parrot
18:10 cotto_work it does look like runtime/parrot/library/distutils.pbc needs to depend on io_ops though
18:17 * tcurtis got his GSoC payment card and welcome package today!
18:17 bubaflub tcurtis: nice!  i haven't been home to check my mail yet.
18:17 cotto_work I got my not a GSoC payment card today.  It comes with not $500.
18:18 bubaflub cotto_work: can't forget your not google shwag
18:26 mikehh joined #parrot
18:28 Coke pmichaud: can I barter for some of your time? =-)
18:28 pmichaud Coke: very possibly, yes.
18:30 mikehh gc_massacre branch - make corevm/make coretest (parallel running) hangs on t/op/string_mem.t, make world ok, make test - grabs all my memory - towards the end
18:30 Coke Trying to figure out why, in partcl-nqp, puts [catch {return}] is printing 0, not 2 (the one failing test). looks like return is throwing a CONTROL_RETURN, but the eval() in catch is eating it.
18:31 cotto_work Coke, can you ping that osuosl ticket about a trac/git test site for parrot.org?
18:31 Coke (so the catch sees that as a normal parrot .return() instead.)
18:32 Coke pmichaud: let me know if there's something I can help you with. =-)
18:33 pmichaud Coke: will do.  I'm fairly booked today, but tomorrow is very likely (and I'll reserve some time for it)
18:34 Coke k. I may figure it out by then, but so far am stymied.
18:35 Tene Coke, I vaguely remember telling you that I'd clean up a lot of the exceptions stuff in PCT, including that.  Did I actually say that, that you recall, or am I misremembering?
18:38 chromatic You said that.
18:38 Coke I vaguely remember you working on hll stuff. I don't remember anything recent.
18:38 Coke I don't mind if YOU fix my problem. =-)
18:39 Coke I think I'm just at the point where I need a really good step through debugger or an svn bisect.
18:39 Tene Okay.  Sorry for ignoring this for so long.
18:40 Coke cotto_work: pinged it.
18:41 Coke Tene: I only found this bug this week.
18:41 Tene Coke: Well, *something* has been mistreating return exceptions for a long time, and PCT doesn't expose a way to make it not broken.
18:45 cotto_work coke, thanks
18:48 Coke Tene: any help you can provide appreciated.
18:50 Andy_ joined #parrot
18:53 dukeleto 'ello
18:54 cotto_work 'hi
18:57 cotto_work #ps in 93
19:02 chromatic Want another 5% performance improvement from gc_massacre?  Allocate the pool structs from a fixed-size pool themselves.
19:13 atrodo Anyone know how much work and thought has gone into the design of the embedding interface?
19:14 atrodo I'm trying to decide if the problems I'm having are because of me
19:14 PerlJam atrodo: about -->this<-- much.
19:19 atrodo PerlJam> So good, sounds like it's not all me
19:20 chromatic There are likely bugs and certainly infelicities.
19:20 whiteknight atrodo: design of the embedding interface is driven by users, and so far we have very very few users
19:20 whiteknight atrodo: if you want something, you can ask or you can submit a patch
19:21 chromatic There's a special case of Warnock's dilemma when discussing GC and performance improvements.
19:21 GeJ Bonjour tout le monde.
19:21 purl salut tout seul
19:22 whiteknight chromatic: no warnock, I just haven't read the gc_massacre code enough to know what you mean
19:23 NotFound atrodo: Problems when trying to improve the design, or when trying to use it?
19:23 atrodo whiteknight> That's what I was guessing, but wasn't real sure
19:25 atrodo NotFound> Using it.  It hasn't been easy for me to use, and I've actually found the easiest way to work with it was to just pass it PIR I create on the fly
19:26 whiteknight Chandon: ping
19:28 tcurtis chromatic: Are you busy at the moment?
19:28 NotFound atrodo: we need use cases to provide, or maybe just document, ways of doing the required things. If you can provide some, will be a great help.
19:29 Tene chromatic: what's special re Warnock there?
19:32 dalek parrot: r47474 | tcurtis++ | branches/gsoc_past_optimization (3 files):
19:32 dalek parrot: Added .from() to PAST::Pattern::Constant. Added tests for matched attributes and children subpatterns($/[0], $<name>, etc.).
19:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47474/
19:37 chromatic tcurtis, I have a few moments free.
19:38 chromatic Tene, I think you have to add a special case.  People don't respond because they're doubly horrified.
19:38 Tene Ah.
19:39 whiteknight GC isn't so bad anymore. I think our collective understanding of it has increased significantly
19:39 whiteknight There are certainly more people now willing and able to hack on it should the need arise
19:39 tcurtis chromatic, shall we talk about my project's status so far now, then?
19:40 chromatic Yes, let's do that.
19:42 chromatic How much work remains to be able to do simple constant folding of integers?
19:44 tcurtis That was achievable(although inconvenient) starting May 25(see http://trac.parrot.org/parrot/browser/b​ranches/gsoc_past_optimization/examples​/library/pasttransformer.pir?rev=46970 ).
19:45 tcurtis Very little remains to be able to do it using PAST::Pattern.
19:47 chromatic Will it be more convenient now?
19:47 tcurtis Two things left to implement for that: global matching(started working on it last night but ended up refactoring the way match results were created first), and a .transform method that takes a pattern and a sub or PAST::Transformer and uses it to transform the matching subtrees.
19:47 tcurtis Yes.
19:48 chromatic Do you have work estimates for those?
19:49 mikehh make corevm/make coretest - t/pmc/io.t - Failed tests:  25, 27, 29, 31
19:49 mikehh t/compilers/imcc/syn/clash.t - Failed test:  13 in testr see: http://nopaste.snit.ch/20983
19:49 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34261), fulltest) at r47473 - Ubuntu 10.04 i386 (g++)
19:49 mikehh t/pmc/packfile.t - TODO passed:   34 in coretest, smoke, testb, testf and testr
19:49 mikehh t/op/annotate-old.t - TODO passed:   1 in testf
19:49 mikehh t/op/exit.t - TODO passed:   6 in testf
19:52 tcurtis Estimates of when I'll have them implemented? The former either tonight or tomorrow, I expect. The latter I think Friday or sooner. It's less certain in part because I haven't yet decided on the best way to implement it.
19:52 khairul joined #parrot
19:52 allison joined #parrot
19:53 chromatic How does that fit with your proposed schedule which I have failed, so far, to find?
19:54 chromatic June 7-June 12: implement the pattern matcher using the AST traversal library.
19:56 tcurtis I got ahead early on, which turned out well, because pattern matching has taken longer than expected, but I should still finish implementing it on schedule.
19:58 chromatic How are you choosing what to work on next?
20:03 NotFound allison: ping
20:03 Psyche^ joined #parrot
20:05 allison NotFound: pong
20:05 tcurtis In the general sense of whether to work on traversal or matching or integrating transformations with PCT, orc.: I mostly followed the schedule. In the specific sense of what order to implement various parts of pattern matching(for example), partially by starting with the simpler parts(e.g., implementing exact matching of attributes and children before implementing smart matching or implementing matching of a specific node before implementing matching any su
20:05 tcurtis of the node), partially based on what I think might depend on what else(.transform could potentially benefit from global matching, so I'll implement it first), and arbitrarily when there's no particular reason for one to precede the other.
20:05 dalek parrot: r47475 | NotFound++ | trunk/t/pmc/packfile.t:
20:05 dalek parrot: make packfile test 'pack produced same result twice' independant of platform/config and untodo it
20:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47475/
20:07 NotFound allison: please take a look at TT #1659
20:07 chromatic If I were doing this, I'd order my optimizations from simplest to most complex, then try to get them working straight through.
20:07 allison NotFound: ok
20:10 ambs joined #parrot
20:11 allison NotFound: the patch looks good
20:11 allison NotFound: did you have another question?
20:11 NotFound allison: the question is at the bottom of the last comment.
20:12 NotFound "I'm not sure if this change can affect some non deprecated feature"
20:12 allison NotFound: whether it affects a non-deprecated feature?
20:12 chromatic Can we reliably reuse the CallContext returned from set_args?
20:12 NotFound allison: doing two invokes with the same set_args
20:13 allison NotFound: since get_results is now called after the invocation is complete, it's safe to remove the reference there
20:13 allison NotFound: though, I'm not sure manually setting it to NULL is the best way
20:13 cotto_work khairul, ping
20:13 khairul cotto_work: pong
20:14 cotto_work khairul, have you taken a look at bacek++'s linked list code in gc_massacre?
20:14 khairul yea, i have.
20:14 khairul saw it during our meeting.
20:14 cotto_work is it something that'd work for your purposes too?
20:14 cotto_work or could be made to work
20:14 Coke I will likely miss #ps today due to $dayjob
20:14 NotFound allison: suggestion welcomed
20:14 khairul yup. its similar.
20:15 allison NotFound: if it passes all tests now, I'm inclined to say go for it, and we
20:15 allison 'll think about interface later
20:15 NotFound Ok
20:17 tcurtis I'm not sure if that would have really changed my order of implementing things so far. Essentially any optimization would need most of the things I've implemented so far(PAST::Walker::Dynamic and PAST::Transformer::Dynamic excluded).
20:17 chromatic Okay.
20:17 chromatic My concern is to make sure that whatever happens, we have something usable -- if incomplete.
20:18 chromatic How much work is it to document writing an optimization stage, at least after you get this week's work done?
20:18 smash joined #parrot
20:18 smash hello everyone
20:22 ambs hello, smash
20:23 tcurtis I could probably do that in the day or two following finishing implementing it. Although I haven't implemented a convenient way to integrate it into a PCT compiler yet. After .transform() is implemented, that and writing example optimizations with it will be my main priorities for the next couple of weeks.
20:24 chromatic I'd like other people to be able to write stages as soon as possible.  This'll make you more productive and get more feedback on design issues.
20:26 chromatic #ps in 5, please report
20:26 allison tcurtis: pretty much anything that takes one PMC as input and returns another PMC as output can be easily integrated into PCT
20:27 allison tcurtis: it's very generic
20:28 tcurtis I'll write some docs this weekend.
20:31 tcurtis allison: How easily? I haven't really looked into that part much yet.
20:32 allison tcurtis: I'll pull up a code example for you, it's basically add one "stage" to HLL::Compiler's list, then add method with the name of the new stage
20:33 bubaflub i think we flooded #ps
20:33 chromatic I didn't get your blockers, bubaflub.
20:34 darbelo Nor me.
20:34 Tene that's right, you just need a method on the compiler class, and then there are methods to modify the list of stages.
20:34 Tene .'add_stage' iirc
20:34 Tene $P0.'add_stage'('optimize', 'after' => 'PAST')
20:35 Tene is approximately what I remember.
20:36 nopaste "allison" at 192.168.1.3 pasted "An example of an HLL::Compiler stage method for tcurtis" (6 lines) at http://nopaste.snit.ch/21088
20:36 dalek rakudo: 4df5081 | pmichaud++ | docs/release_guide.pod:
20:36 dalek rakudo: Tentative name for June release.
20:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​df5081d5758333e831cbf593b04e197182891f3
20:36 allison tcurtis: that's a method for a stage called 'irt'
20:36 pmichaud I've been hoping that we could make the staging less "linear", but never got around to implementing it.
20:37 darbelo allison: Will you be staying about after #ps? I have some questions.
20:37 tcurtis In that case, any potential especial PCT integration wouldn't really be necessary(I suppose it might be nice to be able to eventually do $P0.'add_optimization',(someSubOrTransformer), but hardly a priority).
20:37 allison tcurtis: in that case, the transformer was written in straight PIR, and registered as a compiler for the language IRT (an intermediate tree form), but you can call any arbitrary code in the stage method
20:37 allison darbelo: yes, I'll be around
20:37 darbelo Good to hear.
20:38 dalek parrot: r47476 | NotFound++ | trunk (5 files):
20:38 dalek parrot: clear current context siganture in get_results, TT #1659
20:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47476/
20:38 dalek parrot: r47477 | NotFound++ | trunk/t/pmc/filehandle.t:
20:38 dalek parrot: untodo filehandle timely destruction test, TT #1659
20:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47477/
20:38 allison tcurtis: there's no need for a separate method name, it's best to call all of them "stages" in the compiler, and name the stage "optimize" or something like that
20:39 mikehh make corevm/make coretest - t/pmc/io.t - Failed tests:  25, 27, 29, 31
20:39 mikehh t/compilers/imcc/syn/clash.t - Failed test:  13 in testr
20:39 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#34262), fulltest) at r47475 - Ubuntu 10.04 i386 (gcc with --optimize)
20:39 mikehh t/op/annotate-old.t - TODO passed:   1 in testf
20:39 mikehh t/op/exit.t - TODO passed:   6 in testf
20:40 tcurtis Can you have multiple stages of the same name, though?
20:41 tcurtis My idea of the .'add_optimization' method is that you could have just one 'optimize' stage that would run each optimization that you added, possibly with some constraints on order, without require you to have named each of them uniquely.
20:42 tcurtis s/require/requiring/
20:42 luben_k joined #parrot
20:44 allison tcurtis: you can add one stage named 'optimize' and have it run multiple different blocks of code
20:44 tewk tcurtis: Eventually you are going to want a optimzation pass manager, that I would forsee you just adding the optimization pass manager as a stage to the HLLCompiler.
20:45 allison tcurtis: it's really up to you what that stage does
20:45 dmalcolm joined #parrot
20:45 Tene tcurtis: that would be a very normal sort of thing to do.
20:46 nopaste "allison" at 192.168.1.3 pasted "A couple of code examples for adding a stage to an HLLCompiler" (6 lines) at http://nopaste.snit.ch/21089
20:46 Tene allison: don't you want a before or after named param to addstage?
20:48 allison Tene: yes, you do, for a particular ordering
20:50 dalek TT #1675 created by dukeleto++: Cannot load perl6.pbc from PIR
20:50 dalek TT #1675: http://trac.parrot.org/parrot/ticket/1675
20:50 Topic for #parrotis now Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: fix io_ops mess in corevm/coretest, review and update documentation before release
20:56 bacek aloha, humans
20:56 GeJ G'Day bacek.
20:56 chromatic bacek, want another 5% performance improvement from gc_massacre?  Allocate the pool structs from a fixed-size pool themselves.
20:57 bacek chromatic, really? I don't think that we have _so_ many pool structs...
20:58 nopaste "tcurtis" at 192.168.1.3 pasted "chromatic, an example of how constant folding of Integer add with PAST::Pattern will look once I have .transform()" (11 lines) at http://nopaste.snit.ch/21091
20:58 chromatic bacek, reviewing the profile again.
21:02 GeJ mikehh: Can't reproduce your failures with  `make coretest` on FreeBSD 7 here.
21:03 chromatic tcurtis, that looks reasonable for now.
21:03 mikehh Gej: did you do a make realclean, make corevm, make coretest - it passes in make test
21:04 GeJ mikehh: I was one revision behind you (r47474). realcleaning and updating now.
21:05 whiteknight joined #parrot
21:06 mikehh Gej: i got the failures as far back as r47458
21:07 jjore joined #parrot
21:07 mikehh GeJ: it important to do a make realclean first, configure and then make corevm, make coretest otherwise some of the dynoplibs etc are already built
21:10 GeJ mikehh: Ok, I usually do a make && make test.
21:10 theory joined #parrot
21:12 GeJ mikeh: at r47477 with `make corevm && make coretest` I confirm the errors in t/pmc/io.t
21:12 GeJ And t/compilers/imcc/syn/clash.t looks ok.
21:13 tcurtis cotto_work: I'm interested in Lorito, and may look over it and offer thoughts and such on it, although I'm still not very knowledgeable about parrot, especially about the internals.
21:13 whiteknight cotto_work: I was working on a big blog post about Lorito last week with tons of feedback, but I never finished it
21:14 GeJ bbl &
21:14 cotto_work tcurtis, that's great.  You'll have a different perspective.
21:14 cotto_work whiteknight, post that thing!
21:15 dalek tracwiki: v1 | chromatic++ | LoritoPurpose
21:15 dalek tracwiki: created page skeleton
21:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Lo​ritoPurpose?version=1&amp;action=diff
21:15 dalek tracwiki: v1 | chromatic++ | LoritoOpBalance
21:15 dalek tracwiki: created skeleton page
21:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Lor​itoOpBalance?version=1&amp;action=diff
21:15 dalek tracwiki: v2 | chromatic++ | LoritoOpBalance
21:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Lor​itoOpBalance?version=2&amp;action=diff
21:15 dalek tracwiki: v16 | bacek++ | GCMassacre
21:15 dalek tracwiki: Remove one TODO item
21:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CMassacre?version=16&amp;action=diff
21:15 dalek tracwiki: v17 | bacek++ | GCMassacre
21:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CMassacre?version=17&amp;action=diff
21:16 ambs darek--  #spammer
21:16 ambs :D
21:17 Andy joined #parrot
21:20 chromatic gc_massacre is 1.483% faster than trunk right now with oofib.
21:24 mikehh GeJ: t/compilers/imcc/syn/clash.t is onlt failing in testr which compiles it to pbc and runs the pbc (part of fulltest) it seems ok elsewhere
21:24 mikehh only
21:27 cognomore joined #parrot
21:28 whiteknight chromatic: that's promising. I bet we can improve that
21:28 whiteknight bacek here?
21:29 darbelo Both here and there.
21:29 darbelo At least he was a bit ago.
21:29 bacek whiteknight, yes
21:29 whiteknight bacek: what's going on with that gc branch? what help do you need?
21:30 bacek whiteknight, StringAllocator, .get_info method
21:30 bacek there is TODO list on wiki
21:33 whiteknight okay, I'll take a look at that tonight
21:35 darbelo allison: ping
21:36 bacek chromatic, I suspect branch is faster because we are doing less collects.
21:37 chromatic Entirely possible.
21:38 bacek ms2 should be slower than ms. It's algorithmically more complex.
21:38 chromatic It's not sweep-free yet, is it?
21:38 bacek It's just very good foundation for GenGC. Or Incremental TriColour.
21:39 bacek chromatic, we can't have sweep-free. We have to paint live objects back to white.
21:40 chromatic I must run an errand, but I don't think we do.
21:40 chromatic I had a flash of insight a moment ago but I must think about it more.
21:40 bacek ok.
21:45 dalek parrot: r47478 | NotFound++ | trunk/examples/embed/cotorra.c:
21:45 dalek parrot: stop using deprecated functions in example cotorra
21:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47478/
21:47 allison darbelo: ping
21:48 darbelo I have a question about NFG semantics, regarding character classes.
21:48 allison okay
21:49 dalek tracwiki: v16 | chromatic++ | LoritoRoadmap
21:49 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Lor​itoRoadmap?version=16&amp;action=diff
21:49 darbelo Should we 'fake' unicode data for our dynamic graphemes?
21:50 allison darbelo: it will certainly be desirable to have access to the attributes of the characters contained within the dynamic grapheme
21:50 allison darbelo: but, what do you mean by 'fake'?
21:50 allison darbelo: for example, when matching a string, and looking for characters that are word-forming characters
21:51 allison darbelo: you'd want to match a dynamic grapheme that contains an 'a', even if it also contains a diacritic
21:52 dukeleto chromatic: you were correct about "parrot load.pir" not working, where load.pir loads perl6.pbc
21:53 darbelo allison: Ok, And how wrong would it be, as a first approximation to delegate to the base character.
21:54 allison darbelo: that sounds like a reasonable first approximation
21:55 darbelo Excellent. I'll try to fit into our unicode charset this week.
21:56 allison great!
21:56 darbelo One sticky point I'm running into is the interactions of COW and our grapheme tables.
21:56 NotFound Easy solution: kill COW
21:57 darbelo I'm not sure how to make two strings properly share grapheme tables without having to either disable COW, or writing a lot of code to fit this into the gc.
21:59 darbelo And writing gc code that is going to get rewritten when gc_massacre lands doesn't sound very good to me.
21:59 cotto_work there was a prpopsal to kill cow
21:59 cotto_work sounds like it'd make life nicer for you
22:00 darbelo I'm all for killing cow. I can probably do it myself, but that'd be a 2 week detour from my main gsoc goals.
22:03 darbelo Maybe I can do it in one week.
22:05 dalek tracwiki: v18 | bacek++ | GCMassacre
22:05 dalek tracwiki: Add TODO.
22:05 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CMassacre?version=18&amp;action=diff
22:08 bacek darbelo, COW??
22:08 mikehh joined #parrot
22:09 bacek darbelo, do you change string behind the scene?
22:10 darbelo bacek: Right now, I don't do anything :) I just give each string it's own grapheme table, without caring wether the buffer is shared or not.
22:10 bacek "COW"ed string can just share same table.
22:11 bacek NFG normalisation will produce new string. With own table.
22:11 bacek And we share buffers only between immutable strings.
22:12 pmichaud (from #parrotsketch)   :load subs are run when something is loaded via load_bytecode.  :init subs are run when something is compiled from PIR.
22:12 darbelo Yes, but a substring won't really need all of it's superstring's table.
22:13 pmichaud (although :init subs also get run when a .pbc is loaded via the parrot command line, iirc)
22:14 bacek darbelo, you just share pointer.
22:15 bubaflub joined #parrot
22:17 darbelo bacek: That would mean that I have to bind the table to the lifetime of the buffer, and not the string header.
22:18 bacek darbelo, ah... Yes. Than implement .clone. You'll need it anyway.
22:18 dalek parrot: r47479 | bacek++ | branches/gc_massacre/src/gc (2 files):
22:18 darbelo ".clone"?
22:18 dalek parrot: Start extracting Variable_Size_Pool into own files.
22:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47479/
22:19 dalek parrot: r47480 | bacek++ | branches/gc_massacre (2 files):
22:19 dalek parrot: Add skeleton file for Variable_Size_Pool.
22:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47480/
22:19 dalek parrot: r47481 | bacek++ | branches/gc_massacre/src/gc (4 files):
22:19 dalek parrot: Extract GC_Statistics from Memory_Pools.
22:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47481/
22:19 dalek parrot: r47482 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
22:19 bacek Actually, in gc_massacre I already made str_copy alias for str_clone.
22:19 dalek parrot: Use GC_Statistics
22:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47482/
22:19 bacek darbelo, perl6ish style of methods :). "GraphemeTable.clone"
22:19 darbelo I have that already :)
22:20 darbelo I can create, clone, and (later today) merge tables.
22:20 eternaleye joined #parrot
22:22 darbelo bacek: Wait, in gc_massacre most of COW is gone then?
22:23 bacek darbelo, last bit. It's not "gone". It's just NYI. But I'm not sure do I want to implement it :)
22:24 darbelo AFAICT, all of our COWs are substr's and copy's.
22:25 bacek darbelo, it's not "COW". We just share same immutable buffer.
22:25 kid51 joined #parrot
22:25 bacek So, there is no "W" part. So no "C" part. Only "O" or even "o_O" part.
22:26 NotFound Moo
22:26 darbelo True, but it's still shorter to type, than 'Shared buffers'
22:26 darbelo And it makes for better jokes.
22:28 darbelo I'm not sure how we could have real COW without playing unportable mprotect() games anyway.
22:28 NotFound We can make lot of jokes until people gets so bored that like to kill it.
22:29 lucian_ joined #parrot
22:30 davidfetter joined #parrot
22:31 bacek I don't mind killing "shared buffers". We just have to ask sorear to build rakudo without them.
22:31 NotFound But maybe they want to kill *me* instead of the cow
22:31 darbelo "Like sahred buffers to the slaughter..."
22:32 * bacek feels like a butcher cutting pigs, sheeps and COWS
22:33 * cotto_work suddenly wants a COWburger
22:33 cotto_work as soon as I take a bite, it gets cloned
22:34 darbelo . o O( Copy On Bite )
22:34 * davidfetter likes his COW done rare
22:34 mikehh that would be corny
22:35 dalek parrot: r47483 | NotFound++ | trunk (4 files):
22:35 dalek parrot: initial incomplete implementation of ByteBuffer PMC
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47483/
22:35 dalek parrot: r47484 | bacek++ | branches/gc_massacre/src/gc (2 files):
22:35 dalek parrot: Extract Parrot_gc_get_info from gc_ms_get_gc_info with statistics
22:35 dalek parrot: related stuff.
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47484/
22:35 dalek parrot: r47485 | bacek++ | branches/gc_massacre/src/gc/gc_ms2.c:
22:35 dalek parrot: Expose some statistics from MS2. Make t/op/gc-leaky.t test happy.
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47485/
22:38 kid51 Getting massive packfile-related failures in 'make test' in trunk:  http://smolder.plusthree.com/ap​p/projects/report_details/34264
22:39 NotFound kid51: about to regenerate native pbc
22:39 dalek tracwiki: v19 | bacek++ | GCMassacre
22:39 dalek tracwiki: GC_Statistics is done.
22:39 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CMassacre?version=19&amp;action=diff
22:41 bacek mikehh, t/op/string-mem.t is unlocked in branch.
22:42 kid51 Ah, I see:  PackFile_unpack: This Parrot cannot read bytecode files with version 6.20
22:42 mikehh bacek: 'k testin' now
22:55 dalek parrot: r47486 | bacek++ | branches/gc_massacre/t/op/string_mem.t:
22:55 dalek parrot: Temporary disable Strings collecting test.
22:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47486/
22:55 dalek parrot: r47487 | NotFound++ | trunk (2 files):
22:55 dalek parrot: fix c++, codingstd and metadata in bytebufer
22:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47487/
22:55 dalek parrot: r47488 | mikehh++ | branches/gc_massacre/MANIFEST:
22:55 dalek parrot: re-generate MANIFEST
22:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47488/
22:55 dalek parrot: r47489 | mikehh++ | branches/gc_massacre/src/gc (2 files):
22:55 dalek parrot: add svn properties
22:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47489/
22:55 dalek parrot: r47490 | NotFound++ | trunk/t/native_pbc (4 files):
22:55 dalek parrot: native_pbc upadte to 6.21
22:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47490/
22:56 bacek NotFound++ # ByteBuffer ftw!
23:02 NotFound WTF? packfile test still failing
23:04 darbelo The regeneration got separated into two scripts, IIRC.
23:04 bacek NotFound, which one?
23:05 NotFound bacek: all
23:05 bacek not ok 26 - FixupEntry name preserved
23:05 bacek ?
23:06 bacek it's... weird
23:07 NotFound scripts?
23:07 purl scripts are for methadone, vicodin etc
23:08 bacek NotFound, hang on.
23:08 NotFound This makes no sense. That tests are supposed to test packfiles, not foreign pbc readability.
23:08 bacek I've updated build_native_pbc to make correct files.
23:09 bacek It's prefixless files.
23:09 bacek Bah... I didn't update docs...
23:09 bacek It's tools/dev/mk_packfile_pbcs
23:09 bacek tools/dev/mk_packfile_pbc
23:11 bacek NotFound, fixed.
23:12 bacek NotFound, hey! I did add comment into PBC_COMPAT! :)
23:12 dalek parrot: r47491 | bacek++ | branches/gc_massacre/src/string/encoding/utf8.c:
23:12 dalek parrot: Fix assert to avoid buffer overrun in next-after-last character.
23:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47491/
23:12 dalek parrot: r47492 | bacek++ | branches/gc_massacre/src/string/api.c:
23:12 dalek parrot: Fix recalculating buffer length in str_join.
23:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47492/
23:12 dalek parrot: r47493 | bacek++ | trunk/t (5 files):
23:12 dalek parrot: Rebuild PBCs for packfile testing. Add bit of doc in t/pmc/packfile.t
23:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47493/
23:13 NotFound bacek: will not be a lot simpler to use for those tests pbc files built in the current system instead of the ones stored in the repo?
23:13 arnsholt joined #parrot
23:13 bacek NotFound, makes sense now.
23:19 mikehh bacek: the t/compilers/opsc test seem to grab all the memory on my machine particularly 02, and I stopped 07 after my swapfile grew to 4GB
23:27 kid51 mikehh:  I noticed something similarly weird.  My drive which is normally 80% full is now 100% full.
23:27 * kid51 must reboot
23:31 eternaleye joined #parrot
23:37 kid51 joined #parrot
23:38 szabgabx_ joined #parrot
23:43 kid51 okay, my disk full problem was probably not Parrot-related
23:43 kid51 A test in File-ReadBackwards test suite fills up disk.
23:43 kid51 Blame Uri!
23:54 ttbot Parrot trunk/ r47494 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/340671.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
23:54 cotto_work mikehh: r47495 looks like it got cut off before
23:58 mikehh cotto_work: let me check

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

Parrot | source cross referenced