Camelia, the Perl 6 bug

IRC log for #parrot, 2010-05-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 Coke length and bytelength are not the same.
00:04 NotFound str_byte_length: return STRING_IS_NULL(s) ? 0 : s->strlen; --- str_length: return s->strlen;
00:05 NotFound That's the difference.
00:05 tcurtis joined #parrot
00:05 Coke at least they didn't used to be. I had tests for that in tcl.
00:06 dalek parrot: r46321 | whiteknight++ | trunk/src/string/api.c:
00:06 dalek parrot: [string] remove a TODO note that, I think, isn't worthwhile. If we do want this feature, we can create a ticket
00:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46321/
00:06 NotFound Coke: they used to be different, but was a mess anyway. Calling char length changed the value of s->strlen
00:07 NotFound So the next call to bytelength give a different result.
00:07 Coke freaky.
00:10 NotFound If we really reach a point when strings are fully immutable, char length can be stored. In the meantime, if we make a real char_length people will complain that is too slow.
00:11 sorear joined #parrot
00:12 darbelo Our strings are hopelessly confused on several matters.
00:12 NotFound I'll try a test for that... but maybe tomorrow.
00:13 dalek website: tcurtis++ | PAST Optimization
00:13 dalek website: http://www.parrot.org/content/past-optimization
00:13 NotFound darbelo: we can fix it. "Just" need a radical change.
00:14 darbelo Strings that don't have an underlying buffer *lie* about the memory adress of the quite nonexistatnt buffer.
00:14 darbelo I tried to fix that last week. I ended up somewhere inside io/ feeling confused.
00:15 NotFound Strings that don't have a buffer shouldn't exist outside of the internals. The problem is that "the internals" are revolving all around.
00:15 darbelo We need to add encapsulation before we can start telling other susystems what they can or can't do with strings.
00:16 darbelo I even fixed a few cases of io allocating a STRING structure on the stack and then giving out pointers to it.
00:16 NotFound We need to add the functionality required inside src/strings/ instead of toying with the internals from elsewhere.
00:17 NotFound darbelo: yes, that was the culprit of several heisenbugs.
00:17 darbelo And that cute little stack-allocated header was getting as far as the freeze code at one time in the past.
00:20 tetragon joined #parrot
00:20 NotFound Well, too much working and ranting for today, going to bed :O
00:21 darbelo I'm hoping immutable strings can help us review and kill some of the stuff going on with strings.
00:21 darbelo But, as you say. Not today ;)
00:25 Coke NotFound: hang on. =-)
00:25 Coke (sokay, don't worry about it.)
00:27 tcurtis msg chromatic I posted a first blog post about my GSoC project at https://www.parrot.org/content/past-optimization.
00:27 purl Message for chromatic stored.
00:31 darbelo tcurtis++ # Early adopter.
00:35 Coke Is anyone looking at moritz's segfaults?
00:35 darbelo Can anyone *reproduce* moritz's segfaults?
00:39 dalek parrot: r46322 | coke++ | branches/codestring (87 files):
00:39 dalek parrot: merge latest changes from trunk
00:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46322/
00:39 Coke darbelo: working on it now.
00:40 darbelo ISTR tehy don't hapen on i386, and bacek had tried to reproduce on amd64 but failed.
00:41 sorear darbelo: Not I
00:56 Coke trying on darwin386...
01:06 khairul joined #parrot
01:07 Coke yay, I can duplicate his segfault.
01:24 abqar joined #parrot
01:45 dalek parrot: r46323 | cotto++ | branches/ops_pct/MANIFEST:
01:45 dalek parrot: [opsc] generate manifest
01:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46323/
01:45 dalek parrot: r46324 | cotto++ | branches/ops_pct/compilers/opsc/t/06-opsfile.t:
01:45 dalek parrot: [opsc] update test to reflect proper number of ops
01:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46324/
01:46 dalek rakudo: 6e98d29 | (Solomon Foster)++ | src/core/operators.pm:
01:46 dalek rakudo: Refactor infix:<...> a bit and make it handle some edge cases in the non-numerical world.
01:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​e98d2982ba41b55c3a88346908be07cfad411a9
01:59 Psyche^ joined #parrot
02:10 tcurtis joined #parrot
02:11 plobsing joined #parrot
02:21 theory joined #parrot
02:31 bacek_at_work ~~
02:32 bacek_at_work msg tcurtis Why don't use multi-methods for traversing tree? Same as current PAST-to-POST translation.
02:32 purl Message for tcurtis stored.
02:35 janus joined #parrot
02:36 parthm joined #parrot
02:40 dduncan joined #parrot
02:43 tcurtis bacek_at_work: Can you do multi-methods in NQP?
02:47 bacek_at_work tcurtis, not in current pure-nqp. But 1) you didn't mention implementation language; 2) afaik kakapo has support for multi-methods.
02:47 bacek_at_work kakapo?
02:47 purl i think kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. or See http://code.google.com/p/kakapo-parrot/ for documentation and issue tracking, or http://gitorious.org/kakapo for source code.
02:53 bacek_at_work tcurtis, http://gitorious.org/kakapo/kakapo/b​lobs/master/src/Parrot/Multisub.nqp
02:53 bacek_at_work something like this.
02:55 tcurtis Frankly, the reason why I didn't initially decide to use multi-methods is because I forgot about them. I'm a little bit hesitant to make using it in NQP inconvenient, but then again, hopefully, not many people will have to use PAST::Walker. And, I suppose if they are, they could use PAST::Walker::Dynamic or whatever I end up calling it, which would be no less convenient. If they're too worried about performance to use PAST::Walker::Dynamic, they probably wo
02:55 tcurtis mind overmuch using PIR. So, I'll edit my post to reflect that multi-methods might be better.
03:01 JimmyZ joined #parrot
03:04 plobsing how do I get another PMC (.dump and .h file) to be a part of the install make target?
03:04 tcurtis Thanks, bacek++
03:06 tcurtis bacek_at_work: I kept the post as it initially was, but added to the end a little bit marked "Update:" mentioning that multi-methods would be better.
03:07 bacek_at_work tcurtis, wfm
03:12 bacek_at_work plobsing, MANIFEST.generated.
03:14 plobsing bacek_at_work: on it
03:14 plobsing thanks
03:19 bacek_at_work plobsing, it's probably good idea to add all generated .dump files into it.
03:20 JimmyZ_ joined #parrot
03:22 patspam joined #parrot
03:23 dalek parrot: r46325 | plobsing++ | trunk/MANIFEST.generated:
03:23 dalek parrot: add (Un)?ManagedStruct to installed pmcs
03:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46325/
03:23 dalek parrot: r46326 | plobsing++ | trunk/MANIFEST.generated:
03:23 dalek parrot: Sort MANIFEST.generated as indicated should happen in the top comment. Somehow it has become disordered.
03:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46326/
03:25 bacek_at_work opbots trust JimmyZ
03:25 slavorg Ok
03:25 slavorgn Ok
03:25 JimmyZ bacek_at_work: thanks.
03:25 JimmyZ slavorgn?
03:25 purl slavorgn is run by Infinoid
03:26 bacek_at_work JimmyZ, it's usually other way round - you've got op on channel first, than commit bit :)
03:26 JimmyZ bacek_at_work: I don't know what slavorgn do
03:26 JimmyZ err, does
03:29 dalek rakudo: 9709f85 | (Solomon Foster)++ | src/core/ (4 files):
03:29 dalek rakudo: Rename the default $base versions of .log to .log-e and then create a simple .log with $base method that simply calls .log-e twice.
03:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​709f855ed2cbc7df829c5bf25b9a299982f1a7c
03:40 Andy joined #parrot
03:40 dalek parrot: r46327 | petdance++ | trunk (2 files):
03:40 dalek parrot: consting some args
03:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46327/
03:50 LoganLK joined #parrot
03:56 dalek parrot: r46328 | plobsing++ | trunk/MANIFEST.generated:
03:56 dalek parrot: add all core pmcs to install target as suggested by bacek++
03:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46328/
03:59 parthm joined #parrot
04:12 atrodo_ joined #parrot
04:35 patspam joined #parrot
04:41 cotto joined #parrot
05:13 bacek_at_work plobsing, you can claim TT#1578 and get free karma :)
05:13 bacek_at_work also, make sorear little bit more happy
05:14 parthm left #parrot
05:15 plobsing wow. guess every bug has been seen before.
05:18 dalek parrot: r46329 | plobsing++ | trunk (3 files):
05:18 dalek parrot: add tests for MANIFEST.generated
05:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46329/
05:19 ttbot Parrot trunk/ r46329 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/296746.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
05:20 plobsing ok, there is no way that's my fault
05:20 plobsing wtf
05:22 dalek TT #1578 closed by plobsing++: Iterator.dump (among others) not installed
05:22 dalek TT #1578: http://trac.parrot.org/parrot/ticket/1578
05:22 sorear plobsing++
05:42 iblechbot joined #parrot
06:10 uniejo joined #parrot
06:21 TiMBuS joined #parrot
06:23 viklund joined #parrot
06:39 dduncan left #parrot
06:39 aukjan joined #parrot
06:43 aukjan1 joined #parrot
07:00 moritz when I have a pointer to a sub, how can I store something in the lex pad associated with the sub?
07:00 moritz in PIR, that is
07:01 sorear you can't.  subs don't have lex pads, contexts do
07:01 bacek_at_work $P0 = Sub.get_lexinfo()
07:01 * sorear double checks that
07:02 sorear get_lexinfo will tell you the names of the lexicals that the sub uses, but not their current values
07:02 sorear because the current values are associated with a specific activation of the sub
07:02 sorear parrot doesn'
07:02 sorear parrot doesn't have protolexpads unless you implement them in your HLL's LexInfo mapping
07:03 moritz in my case $P0 holds an instance of a Perl 6 sub
07:04 moritz what I want to do is make $str.subst($regex, $code_block) set $/ for $code_block
07:04 moritz so I want something like $code_block.context.set_var('$/', $my_match_object)
07:05 moritz anyway, have to go to a seminar, will play with get_lexinfo() when I come back
08:11 fperrad joined #parrot
08:29 parthm joined #parrot
09:03 ttbot Parrot trunk/ r46315 cygwin-thread-multi-64int make error http://tt.taptinder.org/file/cmdout/296815.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
09:05 moritz "no space left on device"
09:05 moritz I had that too, the other day :-)
09:05 moritz and bought a 2TB hard disk :-)
09:48 mikehh joined #parrot
09:50 parthm joined #parrot
09:51 parthm left #parrot
09:55 aukjan joined #parrot
10:00 dalek rakudo: 7563a50 | moritz++ | src/core/ (2 files):
10:00 dalek rakudo: Grammar.parse sets $/ in the caller's scope
10:00 dalek rakudo: Also remove a failed attempt to set $/ in the closure passed to Str.subst
10:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​563a5046f5911e9548581b842f34db9d404d334
10:24 bacek moritz, ping
10:24 moritz bacek: pong
10:25 moritz (though I'll have to leave for lunch pretty soon)
10:25 bacek moritz, I did fix pbc_to_exe couple of days ago...
10:25 moritz bacek: you did? then I'll re-test with a ulimit
10:25 moritz bacek: sorry, didn't notice yet
10:25 bacek moritz, r46288.     Earely join codestring to avoid too much memory consumption in pbc_to_exe
10:36 * bacek freezing and drinking glühender Wein to keep warm...
10:37 fperrad_ joined #parrot
10:37 moritz wow, even with correct umlaut
10:37 * moritz impressed
10:38 bacek moritz, hey! Do you know some original recipe for it?
10:39 bacek I just made with apple, black pepper, cloves and cinnamon.
10:39 moritz not really; there are some tea-like spice mixtures that you can buy here
10:39 moritz I usually use those
10:39 bacek Cheater! :)
10:40 moritz (they are also tasty when mix different juices at cook them with these spices)
10:40 purl okay, moritz.
10:41 bacek purl, forget (they
10:41 purl bacek: I forgot (they
10:44 snarkyboojum joined #parrot
10:45 dalek parrot: r46330 | bacek++ | branches/stringbuilder:
10:45 dalek parrot: Branch for developing StringBuilder
10:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46330/
10:51 aukjan joined #parrot
11:01 dalek parrot: r46331 | bacek++ | trunk (7 files):
11:01 dalek parrot: Branch for developing StringBuilder
11:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46331/
11:27 snarkyboojum joined #parrot
11:43 clinton joined #parrot
11:50 dalek parrot: r46332 | mikehh++ | trunk/MANIFEST:
11:50 dalek parrot: re-generate MANIFEST
11:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46332/
11:50 dalek parrot: r46333 | mikehh++ | trunk/src/pmc/stringbuilder.pmc:
11:50 dalek parrot: add svn properties
11:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46333/
12:07 dalek parrot: r46334 | bacek++ | trunk/src/pmc/stringbuilder.pmc:
12:07 dalek parrot: Add init/init_pmc/mark/get_string scaffolding.
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46334/
12:07 dalek parrot: r46335 | bacek++ | trunk/t/pmc/stringbuilder.t:
12:07 dalek parrot: Add initial tests for StringBuilder.
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46335/
12:07 dalek parrot: r46336 | bacek++ | trunk (2 files):
12:07 dalek parrot: Initial implementation of StringBuilder.push_string
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46336/
12:07 dalek parrot: r46337 | bacek++ | trunk (2 files):
12:07 dalek parrot: Add test for sting capacity and fixed bug in capacilty calculation
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46337/
12:07 dalek parrot: r46338 | mikehh++ | trunk/t/distro/manifest_generated.t:
12:07 dalek parrot: fix percritic failures - hard tabs and two argument open
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46338/
12:07 dalek parrot: r46339 | fperrad++ | trunk (6 files):
12:07 dalek parrot: [library] add Archive/Zip
12:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46339/
12:13 moritz bacek: you have committed the initial stringbuilder implementation to trunk, not branch
12:13 bacek moritz, shit...
12:15 sri joined #parrot
12:15 bluescreen joined #parrot
12:18 bluescreen joined #parrot
12:23 dalek parrot: r46340 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
12:23 dalek parrot: [distutils] refactor with library Archive/Zip
12:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46340/
12:23 dalek parrot: r46341 | mikehh++ | trunk/MANIFEST:
12:23 dalek parrot: re-generate MANIFEST
12:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46341/
12:23 dalek parrot: r46342 | mikehh++ | trunk/t/pmc/stringbuilder.t:
12:23 dalek parrot: add svn properties
12:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46342/
12:23 dalek parrot: r46343 | mikehh++ | trunk/t/pmc/stringbuilder.t:
12:23 dalek parrot: add svn properties
12:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46343/
12:23 dalek parrot: r46344 | mikehh++ | trunk/src/pmc/stringbuilder.pmc:
12:23 dalek parrot: fix codetest failure - pod syntax
12:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46344/
12:28 fperrad_ joined #parrot
12:31 bacek anyway, StringBuilder is very small and can be used right now already.
12:32 ruoso joined #parrot
12:35 jsut joined #parrot
12:39 dalek parrot: r46345 | bacek++ | trunk (2 files):
12:39 dalek parrot: Expose Parrot_str_rep_compatible for use in StringBuilder.
12:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46345/
12:40 dalek parrot: r46346 | bacek++ | trunk (2 files):
12:40 dalek parrot: Add converting of strigns in different encodings to StringBuilder
12:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46346/
12:40 dalek parrot: r46347 | bacek++ | trunk/tools/dev/pbc_to_exe.pir:
12:40 dalek parrot: Migrate pbc_to_exe to StringBuilder.
12:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46347/
12:42 bacek moritz, can you retest pbc_to_exe on latest trunk?
12:43 moritz bacek: will do in a moment
12:43 bacek moritz, thanks
12:49 moritz bacek: out of memory while running ./pbc_to_exe parrot-nqp.pbc
12:50 moritz with a ulimit of 0.75GB virtual mem
12:50 bacek moritz, hmm... interesting...
12:53 bacek moritz, in pbc_to_exe?
12:54 moritz yes
12:55 Coke bacek: funny, I had just volunteered yesterday to work on that on the sixperl call. Thank you for making my job easy. =-)
12:55 bacek Coke, :)
12:56 Coke bacek: how does it compare speed wise?
12:56 Coke close to original String behaviore?
12:57 moritz it dies early, so it exits pretty fast :-)
12:57 bacek I didn't compare it yet... But looks like I "broke" memory consumption.
12:57 Coke bacek: did you make anything use the SB yet?
12:57 Coke ah, there it is.
12:58 Coke was the CodeString in PBC2EXE doing anything that actually required a codestring?
13:00 Coke bacek: you should probably also override the concatenate VTABLES.
13:00 Coke (they can just invoke push_string appropriately)
13:02 whiteknight joined #parrot
13:05 jsut_ joined #parrot
13:05 bacek Failed allocation of 3791279248 bytes
13:05 bacek Sigh...
13:06 arnsholt That's, a largish chunk of memory
13:07 plobsing joined #parrot
13:07 * Coke checks bacek's memory algorithm.
13:09 moritz 3791279248 / 1024 / 1204
13:09 purl 3075.10061513704
13:09 moritz erm
13:09 moritz typo
13:09 moritz still huge :-)
13:11 Coke bacek: when you calculate capacity, you're using the currently allocated, not the currently used vs. currently allocated.
13:11 dalek parrot: r46348 | fperrad++ | trunk (2 files):
13:11 dalek parrot: [gziphandle] fix compress()
13:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46348/
13:11 dalek parrot: r46349 | fperrad++ | trunk/runtime/parrot/library/Archive/Zip.pir:
13:11 dalek parrot: [Zip] with compression
13:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46349/
13:12 Coke no?
13:12 Coke no. nevermind, that looks right.
13:13 bacek It's looks strange. When I put debug output of size of reallocated string I've got next:
13:13 bacek ts: 4599808
13:13 bacek ts: 4603904
13:13 bacek And then it hit the roof.
13:13 bacek Almost immediately.
13:14 Coke Are you accidentally holding on to the old strings?
13:15 bacek Unlikely.
13:15 Coke (looks like you're just reusing the same header for buffer, and you don't mark the incoming s...
13:15 * bacek suspect compact_pool...
13:15 bacek "mark incoming"?
13:15 Coke also, one wonders why we can't just make this part of String.
13:16 Coke incoming == s
13:16 Coke (the one that's passed in.)
13:16 Coke given that string registers may be immutable, but Strings aren't necessarily.
13:16 Coke (unless, I suppose, we want them to be.)
13:17 bacek But I don't change it. I just memcopy it to "buffer"
13:19 Coke bacek: right. I'm saying you're not marking it and that's a good thing. (otherwise it might live over-long and chew up memory)
13:19 bacek Ah, yes...
13:20 snarkyboojum joined #parrot
13:21 * Coke tries to duplicate the OOM error.
13:23 JimmyZ joined #parrot
13:24 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33664), fulltest) at r46347 - Ubuntu 10.04 i386 (g++)
13:24 mikehh t/pmc/packfile.t - TODO passed:   34 in make coretest, make test, testb, testf and testr
13:24 mikehh t/op/exit.t - TODO passed:   6 in testf
13:26 bacek Heh...
13:27 bacek Shit...
13:27 bacek GC never called...
13:30 JimmyZ bacek:~~
13:31 bacek JimmyZ, hi
13:31 bacek YAY! I found it...
13:31 JimmyZ Hello
13:34 Coke bacek: yesss?
13:34 bacek Coke, reallocate_string_storage. Commit is coming
13:36 bacek r46351
13:37 bacek moritz, can you try again?
13:37 * moritz tries
13:44 dalek parrot: r46350 | bacek++ | trunk/MANIFEST.generated:
13:44 dalek parrot: De-dup MANIFEST.generated.
13:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46350/
13:44 dalek parrot: r46351 | bacek++ | trunk/src/gc/gc_ms.c:
13:44 dalek parrot: Update Memory_Block usage in gc_ms_reallocate_string_storage
13:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46351/
13:44 dalek parrot: r46352 | bacek++ | trunk/src/pmc/stringbuilder.pmc:
13:44 dalek parrot: Use very large chunks in StringBuilder.
13:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46352/
13:44 bacek moritz, r46352 should be much faster
13:45 moritz with 49 the build succeeded in the ulimit
13:46 moritz (parrot build, haven't tried rakudo yet)
13:48 bacek parrot should build fine. Rakudo was much more interesting :)
13:49 moritz parrot didn't build previously in the ulimit
13:49 moritz because of pbc_to_exe of nqp-rx
13:51 bacek ah, ok.
13:53 moritz bacek: yes, pbc_to_exe seems much faster now
13:54 iblechbot joined #parrot
13:55 bluescreen joined #parrot
13:59 bluescreen joined #parrot
14:02 bacek Coke, you volunteered for StringBuilder, ain't you? Now you can start adding VTABLEs into it. Like push_foo, i_concatenate, etc :)
14:02 bacek I will add i_concatenate
14:06 bacek And quite bit of documentation will be helpful...
14:09 Coke bacek want me to remove the branch you didn't use? =-)
14:09 bacek YES, PLEASE!
14:10 * bacek hate svn even more now...
14:10 PerlJam Is there some timeline for git/no-git decisions?
14:10 JimmyZ no
14:18 dalek parrot: r46353 | bacek++ | trunk/src/gc/gc_ms.c:
14:18 Coke PerlJam: no. help dukeleto write the git committer guide.
14:18 dalek parrot: Replace "ifs" with asserts in gc_ms_reallocate_string_storage to enforce "immutable stirngs contract".
14:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46353/
14:18 dalek parrot: r46354 | mikehh++ | trunk/src/pmc/stringbuilder.pmc:
14:18 dalek parrot: fix codetest failure - trailing spaces
14:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46354/
14:18 dalek parrot: r46355 | bacek++ | trunk (2 files):
14:18 dalek parrot: Implement StringBuilder.i_concatenate(_str)
14:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46355/
14:18 Coke Help cotto with migration plan.
14:20 Andy joined #parrot
14:21 bacek And organize leather pants for all git-haters :)
14:21 bacek I will lend my favourite baseball bat :)
14:21 Coke so, for codestring, I will just make it "isa StringBuilder"; that'll be the plan.
14:22 Coke if you want efficient string concat, use the Builder, if you want that plus code-y interpolation, use CodeString
14:22 Coke seem reasonable?
14:22 Coke bacek++ for doing the hard work.
14:22 moritz seems reasonable.
14:22 Coke Or we could just collapse the 2. =-)
14:23 Coke sigh. it is very wrong that my build for rakudo is "make -j 7" ... .. ... ^C "make -j1"
14:24 moritz make -j3 works here
14:24 NotFound All your core are belong to make.
14:25 Coke I do seriously wonder if we want String PMCs to also be immutable, or just the STRING's they contain.
14:26 Coke (in which case we could just move StringBuilder guts into String)
14:26 Coke (I'm happy to keep them separate for now.)
14:26 plobsing joined #parrot
14:26 NotFound You can just rename StringBuilder to MutableString
14:27 Coke can someone create an experimental ticket for StringBuilder and add it to Deprecated.pod?
14:27 NotFound Or to String, and String to ImmutbalString
14:28 bacek Coke, CodeString should just "has-a" StringBuilder, not RSA.
14:28 Coke bacek: I'm making it ISA SB.
14:29 Coke one less PMC to carry around.
14:29 bacek NotFound, why? StringBuilder is common term.
14:29 bacek Coke, hmm... You'll save a thousands of PMCs just switching from RSA to SB.
14:29 Coke yah, I'm fine with the name; we can keep them separate for now; I just wonder if everyone will end up using SB instead of String. =-)
14:30 Coke bacek: why not just go all out? then I don't need to dispatch to my hasa, either, I'll just be invoking the super vtables.
14:31 bacek Which is same as dispatch.
14:31 Coke no, it's not.
14:32 Coke if I has a, I have my vtable, and then I have to invoke the contained pmc's vtable.
14:32 Coke if I isa, then I don't have my own vtable function; my vtable points to the parent's directly.
14:32 bacek But invokation is same in terms of cost
14:32 Coke (handled when the PMC is built, rather than a runtime.) Or am I misremember how pmcs work?
14:33 bacek One pointer dereference.
14:33 Coke 2 c functions instead of 1?
14:33 Coke no, 2... one for me, one for the contained.
14:33 bacek But SB not "is-a" String...
14:34 bacek And adding a lot of String methods into it looks... insane.
14:34 Coke Ahhh. ok. yes, that's definitely a good reason.
14:34 JimmyZ parrot is more like java and .net
14:34 JimmyZ :)
14:35 dalek parrot: r46356 | coke++ | branches/stringbuilder:
14:35 dalek parrot: Most of this work went straight to trunk (bacek++), remove branch.
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46356/
14:35 dalek parrot: r46357 | bacek++ | trunk (2 files):
14:35 dalek parrot: Implement StringBuilder.set_string_native
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46357/
14:35 dalek parrot: r46358 | coke++ | branches/codestring (25 files):
14:35 dalek parrot: merge latest from trunk
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46358/
14:35 dalek parrot: r46359 | mikehh++ | trunk/src/pmc/stringbuilder.pmc:
14:35 dalek parrot: fix Pod syntax
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46359/
14:43 mikehh damnit - distro_tests FAIL - t/distro/manifest_generated.t - Failed test:  4 -  Does not exist - 'include/pmc/pmc_opcode.h'
14:44 mikehh how do you regenerate MANIFEST.generated?
14:46 Coke you don't
14:46 Coke it's hand edited.
14:46 mikehh 'k - will have a look
14:47 moritz it's quite ironic to have .generated file that's not generated
14:47 Coke rant - I shouldn't have to rebuild all of parrot because I changed the install prefix. :P
14:48 moritz Coke: it's surely a common operation, and worth optimizing for... NOT
14:50 Coke odd. if I have max memory size         (kbytes, -m) 786432
14:51 dalek parrot: r46360 | bacek++ | trunk/runtime/parrot/library/Test (3 files):
14:51 dalek parrot: Migrate Test::More to StringBuilder
14:51 Coke my rakudo build is still showing a resident size of 4700M or more.
14:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46360/
14:52 * moritz uses ulimit -v
14:55 JimmyZ I found parrot will more slower if I run the same codes in a file
14:55 moritz as opposed to...?
14:55 moritz a pipe?
14:55 purl well, a pipe is alt+shift+L or 200EUR on rue Saint Denis
14:55 moritz forget a pipe
14:55 purl moritz: I forgot pipe
14:55 JimmyZ moritz: I nopaste it
14:55 JimmyZ nopaste
14:55 JimmyZ nopaste?
14:55 purl nopaste is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or http://paste.scsys.co.uk or http://www.extpaste.com or http://gist.github.com
14:56 nopaste "JimmyZ" at 192.168.1.3 pasted "one" (22 lines) at http://nopaste.snit.ch/20483
14:57 nopaste "JimmyZ" at 192.168.1.3 pasted "two" (13 lines) at http://nopaste.snit.ch/20484
14:58 JimmyZ moritz: two is faster then one
14:58 moritz it does less than one, no?
14:58 JimmyZ one outputs: 4.18386197090149 and 6.2562301158905
14:59 JimmyZ and two outputs: 4.26384592056274
14:59 moritz maybe memory fragmentation
14:59 whiteknight joined #parrot
14:59 bacek JimmyZ, first one has more GC pressure
15:00 JimmyZ Yeah
15:01 bacek JimmyZ, you can try to replace SELF.push_string with STATICSELF in i_concatenate and test again
15:02 JimmyZ push syntax use 4.15865683555603 and .= syntax use 4.23602914810181
15:03 JimmyZ bacek: I will try that
15:04 bacek Coke, in my latest commits I started removing of concat_s_s usage. You go further and finally rip it off.
15:04 * bacek departing to bed.
15:05 bacek Night, humans.
15:05 moritz sleep well, and dream of electric shee^Wparrots
15:07 dalek parrot: r46361 | mikehh++ | trunk/MANIFEST.generated:
15:08 dalek parrot: add include/pmc/pmc_opcode.h to MANIFEST.generated
15:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46361/
15:08 dalek parrot: r46362 | bacek++ | trunk/runtime/parrot/library/parrotlib.pir:
15:08 dalek parrot: Don't use concat_s_s in parrotlib.pir
15:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46362/
15:08 dalek parrot: r46363 | bacek++ | trunk/runtime/parrot/library/Test/More.pir:
15:08 dalek parrot: Don't use concat_s_s in Test::More at all.
15:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46363/
15:08 dalek parrot: r46364 | bacek++ | trunk/runtime/parrot/library/PGE/Dumper.pir:
15:08 dalek parrot: Migrate PGE::Dumper to StringBuilder and avoid usage of concat_s_s op.
15:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46364/
15:08 dalek parrot: r46365 | bacek++ | trunk/runtime/parrot/library/Getopt/Obj.pir:
15:08 dalek parrot: Avoid usage of concat_s_s in Getopt::Obj
15:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46365/
15:09 JimmyZ bacek: It's a bit faster, but in hash.pmc is a bit slower.
15:09 khairul joined #parrot
15:10 JimmyZ 4.4 - 4.2 / 4.2
15:10 purl 3.4
15:10 JimmyZ (4.4 - 4.2) / 4.2
15:10 purl 0.0476190476190477
15:11 JimmyZ in hash.pmc, change it to static is 0.05 slow...
15:11 PacoLinux joined #parrot
15:19 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33669), fulltest) at r46361 - Ubuntu 10.04 i386 (gcc with --optimize)
15:19 mikehh t/pmc/packfile.t - TODO passed:   34 in make coretest, make test, testb, testf and testr
15:19 mikehh t/op/exit.t - TODO passed:   6 in testf
15:25 fperrad joined #parrot
15:30 PacoLinux joined #parrot
15:54 davidfetter joined #parrot
15:57 particle bacek: your last commit message explains "what", but not "why". please try to explain why, it's much more important than what.
15:58 theory joined #parrot
16:00 Coke particle: concat_s_s is deprecated.
16:00 Coke and stringbuilder is better at doing concats than String.
16:00 Coke (I know you mean in general. just answering that specific one.)
16:01 particle coke: thanks
16:02 PerlJam joined #parrot
16:03 Coke that said, I don't think avoiding .= is the right answer.
16:03 Coke I think fixing it in IMCC so it goes to concat_s_s_s is the right answer.
16:03 particle yeah, neither do i, and stringbuilder isn't used there
16:04 particle that can't be a hard fix, after all, it's only imcc....
16:04 Coke thanks for volunteering!
16:13 dalek parrot: r46366 | coke++ | branches/codestring/src/pmc/codestring.pmc:
16:13 dalek parrot: first pass at converting to has-a StringBuilder
16:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46366/
16:13 dalek parrot: r46367 | coke++ | trunk (2 files):
16:13 dalek parrot: Add push_pmc to StringBuilder
16:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46367/
16:19 Coke so, any idea why neither 'ulimit -m' or 'ulimit -v' seem to actually limit anything for me?
16:19 Coke (OS X, 10.6)
16:23 whiteknight I don't see how .= can be made to work with immutable strings
16:23 whiteknight the semantics of it get all garbled up, and then you end up with weird problems with broken references
16:24 Coke whiteknight: because $S0 = $S0 . 'foo' works.
16:24 whiteknight you certainly have a distinct semantic difference from other X= operators
16:25 Coke so you just treat $S0.= 'foo' the same way.
16:25 Coke Strings ain't ints.
16:25 Coke er, strings
16:25 whiteknight but then $S0 is pointing to a completely different string header
16:26 particle and?
16:26 Coke (we could always just make $S0 .= 'foo' an error; I don't particularly have a problem with that, given the recent deprecations, but it seems like making it work is a good thing.
16:26 particle $S0 = $S0 . 'foo' now has $S0 pointing at an entirely different string header
16:26 Coke whiteknight: yes. so if $S1 was pointing to $S0 before the concat, it's not pointing to the new S0 after the concat.
16:26 Coke that's fine.
16:26 Coke (i think)
16:26 whiteknight that seems unnecessarily confusing
16:27 whiteknight not to mention that PIR's .= operator would be distinctly different semanically from Perl5's Perl6's, and PHP's .= operator
16:28 moritz not quite
16:28 moritz in Perl 6 strings are also immutable
16:28 Coke we don't particularly care if the pir operators are different, do we?
16:28 moritz so $str ~= 'to_append' sets $str to a new Str object
16:28 whiteknight the only reason PIR has symbolic operators like that in the first place is to make it more comfortable for programmers
16:28 particle i'm sorry, what does parrot's assembly have to do with dynamic language syntax?
16:28 whiteknight those symbolic operators certainly aren't any help in terms of parsability or functionality
16:28 Coke whiteknight: ... yes. and I'm suggesting we keep .= and make it do something useful after concat_s_s is gone.
16:28 particle php uses + to concat strings
16:29 whiteknight Coke: and I'm suggesting we cut .= because we don't do inplace string concatination anymore
16:29 Coke if we just remove concat_s_s (as it's deprecated, being an inplace change of a string), then $S0 .= 'foo' will just die.
16:29 Coke whiteknight: ah, thank you.
16:29 whiteknight symbolic operators in PIR exist only to make it more familiar to programmers. Why would we add a symbolic operator that confuses programmes?
16:29 dalek parrot: r46368 | coke++ | branches/codestring (19 files):
16:29 dalek parrot: merge latest from trunk
16:29 Coke <shrug> WFM - either way requires a change to IMCC>
16:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46368/
16:29 Coke - you probably want to comment on ... 1540, I think?
16:30 particle aye, that deserves comment
16:30 * mikehh heading back to amd64 - bbiab
16:30 particle so, if you want to use .= in pir, convert the left string to a String and use concat_p_s?
16:31 particle that's fair.
16:32 whiteknight Then we restrict .= to operate on a $P LValue?
16:32 Coke whiteknight: easier just to remove it.
16:32 Coke (though that requires more notice)
16:32 particle is it easier to remove?
16:33 whiteknight easier yes, but it's doable either way
16:33 NotFound Even better, kill that sugar. We said some time ago that pir actually has too much sugar, given that his main intended usage is code generators, not human writers.
16:33 particle what are the current concat opcodes? i don't have ops.num handy
16:33 whiteknight let me look
16:34 particle i'm rebuilding my parrot build env now
16:34 particle latest ubuntu, etc
16:34 mikehh joined #parrot
16:35 whiteknight looks like SS, PS, PP, SSS, PPP, PPS
16:36 particle keep P*
16:37 particle so, we'd be removing one variant, SS
16:37 whiteknight I believe so, yes
16:37 particle strings are constant, pmcs aren't
16:37 whiteknight righ
16:41 Mokurai1 joined #parrot
16:53 lucian joined #parrot
16:57 lucian joined #parrot
17:04 patspam joined #parrot
17:08 NotFound Everyone is having "t/pmc/packfile.t TODO passed: 34" in i386?
17:08 davidfetter joined #parrot
17:11 jjore joined #parrot
17:18 dalek parrot: r46369 | NotFound++ | trunk/src/pmc/packfileannotations.pmc:
17:18 dalek parrot: read from/write to annotations groups in PackfileAnnotations PMC
17:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46369/
17:22 dukeleto 'ello
17:32 patspam joined #parrot
17:38 cotto_work good morning dukeleto
17:50 patspam joined #parrot
18:07 patspam joined #parrot
18:07 jjore joined #parrot
18:07 cotto_work http://github.com/davglass/github-trac
18:10 darbelo Nice. How is the other git plugin faring sofar?
18:11 cotto_work I haven't done too much with it in the last few days.  It looked usable but really slow.
18:11 cotto_work s/looked/was/
18:12 cotto_work I'm thinking something like cgit or github would be a better option.
18:12 darbelo Annoying slow or unusable slow?
18:12 cotto_work annoying
18:13 chromatic joined #parrot
18:13 particle cotto_work: see git.openefs.org
18:14 cotto_work yeah.  they're using cgit
18:14 particle they is me :)
18:14 particle and hosted at osuosl
18:14 particle and i likey
18:14 particle integrated with trac.openefs.org
18:15 cotto_work That's promising.
18:16 cotto_work Ddi you just set it up?
18:16 cotto_work nm.
18:17 particle i set it up in december and january
18:19 cotto_work How is trac integrated with cgit?
18:20 particle the git engine is gitorious
18:20 particle the trac plugin is ...
18:20 particle TracGit 0.11.0.2
18:21 particle we use drupalauth to have one username for drupal and trac, with separately managed git access
18:22 darbelo That sounds slightly better than parrot's current situation.
18:22 particle this allows users to create trac tickets and post drupal content with the same username, and lets us limit who has committer rights separately
18:22 particle let's just say i learned a thing or two from setting up and managing parrot.org
18:24 darbelo I think it might be nice to have a single auth for all three.
18:25 darbelo But unification of Trac and Drupal auth is still better than unification of Trac and VCS auth.
18:32 cotto_work The unified theming is nice.
18:33 cotto_work particle, is this the plugin: http://trac-hacks.org/wiki/GitPlugin
18:34 particle cotto_work: aye, that's the plugin
18:35 particle and thanks, it took me quite a while to get the design to look similar... just don't visit mailman.openefs.org...
18:35 cotto_work How are you using it?  I don't see any links to git changesets.
18:35 cotto_work It has its own source browser but you're using cgit instead.
18:35 particle cotto_work: i'm not sure i've made any in ticket comments
18:35 jjore joined #parrot
18:35 particle yes, cgit is prettier
18:36 cotto_work and speedier from what I've seen
18:36 particle aye
18:38 cotto_work I still find the idea of a web app written in C to be very strange.
18:42 cotto_work It's great as long as I don't have to debug it though.
18:47 cotto_work particle, so GitPlugin is installed but unused?
18:49 cotto_work if it's reasonably easy to have GitPlugin link to the cgit install for specific changesets, that might be a good solution.
18:49 joeri joined #parrot
18:50 chromatic seen plobsing
18:50 purl plobsing was last seen on #parrot 13 hours, 29 minutes and 51 seconds ago, saying: wtf
18:52 GeJ Good too-much-morning everyone.
18:56 cognominal joined #parrot
18:58 Coke chromatic: so, bacek did all the hard work.
18:58 Coke I will make codestring HASa or ISA SB this evening.
18:58 chromatic Excellent.
18:59 chromatic The only other thing we need to do to make Rakudo build quickly again is fix the lookup for STRINGs when creating PBC.
18:59 chromatic Then maybe dukeleto will run some benchmarks again.
19:01 cotto_work I don't like cgit's lack of a blame view.  Other than that it's nice.
19:02 moritz oh, did you break rakudo again?
19:02 Coke not int he past day or so. =-)
19:02 Coke moritz: did you see one of your segfaults is fixed in trunk?
19:02 Coke 16...12 I think?
19:03 Coke I could reproduce it at r<OLD> but not r<HEAD>
19:03 moritz Coke: rebuilding parrot right now
19:03 chromatic build *quickly*
19:05 moritz build finished
19:06 moritz now compiling rakudo's setting
19:24 Coke I am wondering how StringBuilder can be using a STRING mutably. (clearly they are not as immutable as I was led to believe. =-)
19:25 ttbot Parrot trunk/ r46350 cygwin-thread-multi-64int make error http://tt.taptinder.org/file/cmdout/298239.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
19:26 Coke ttbot, that's really old.
19:26 chromatic It uses a buffer, not a STRING.
19:27 Coke chromatic: the ATTR is a STRING
19:27 Coke ATTR STRING *buffer;    /* Mutable string to gather results */
19:28 Coke so how is a buffer not a string?
19:28 chromatic Ah, missed that.
19:28 Coke er, so how is a STRING a buffer?
19:28 Coke ah.
19:29 chromatic A STRING points to a buffer.
19:31 Coke ok. so how are we enforcing immutabiliy if we can just <do whatever stringbuilder is doing> ?
19:32 chromatic The same way you enforce anything in C.
19:33 Coke "please only call my API"?
19:33 chromatic Right.
19:34 Coke hokay.
19:36 moritz down to 4 segfaults / bus errors in rakudo spectest
19:40 ash_ joined #parrot
19:41 Coke [6~/win 2
19:42 * particle hands coke window 2
19:55 darbelo I wonder, shouldn't the peek opcode return STRINGNULL in place of a 0-length string?
20:00 dalek rakudo: 5713af2 | moritz++ | t/spectest.data:
20:00 dalek rakudo: run two more test files
20:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​713af2b2bb682f64b56710731cbfd5cb023f522
20:10 cognominal joined #parrot
20:12 dalek rakudo: badc61d | moritz++ | docs/metamodel.pod:
20:12 dalek rakudo: [docs] perl5o found by ash_++
20:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​adc61dd27d4978781199556dc5b842943e7267f
20:26 tcurtis joined #parrot
20:30 nopaste "coke" at 192.168.1.3 pasted "If that looks good, go ahead and apply it in trunk." (27 lines) at http://nopaste.snit.ch/20486
20:34 nopaste "darbelo" at 192.168.1.3 pasted "This passes fulltest here. +1?" (22 lines) at http://nopaste.snit.ch/20487
20:34 allison joined #parrot
20:36 Coke 16:34 <+nopaste> "darbelo" at 192.168.1.3 pasted "This passes fulltest here. +1?" (22 lines) at http://nopaste.snit.ch/20487
20:36 Coke (for allison)
20:36 Coke +0 from me. seems reasonable, but WDIK.
20:38 darbelo A 0-length enum_stringrep_one is pretty much the same as a null string.
20:40 NotFound darbelo: enum_stringrep_one is loooong deprecated, avoid that shit.
21:07 cotto_work particle, it looks like links to git changesets are pretty broken on openefs.org.  Trying to preview a wiki page with a git hash causes the git plugin to fail.
21:08 particle that's bad :(
21:09 particle can you submit a bug to openefs for that, or send particle@openefs.org an email with the details?
21:09 cotto_work sure
21:09 * darbelo pokes dalek.
21:10 particle cotto_work++
21:10 dalek parrot: r46370 | darbelo++ | trunk/src/ops/io.ops:
21:10 dalek parrot: Make the peek opcode return STRINGNULL instead of freshly allocated 0-length strings.
21:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46370/
21:15 cotto_work particle: http://trac.openefs.org/ticket/157
21:17 cotto_work BTW, trac/drupal integration is really nice.  I didn't even have to think about the fact that I was using two different web apps.
21:17 Whiteknight joined #parrot
21:18 particle i really tried hard to make them look similar
21:18 particle it's not perfect, but glad to know it's "good enough"
21:18 cotto_work it shows
21:18 particle i hope to do the same for parrot.org in my copious free time
21:19 darbelo particle++
21:26 dalek parrot: r46371 | NotFound++ | trunk (3 files):
21:26 dalek parrot: some sanity in Parrot_str_length and Parrot_str_byte_length meaning and usages
21:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46371/
21:36 darbelo NotFound: inline op new(out STR) :base_mem {    $1 = Parrot_str_new_noinit(interp, enum_stringrep_one, 0); }
21:38 NotFound Did we have new_s? I wasn't aware of that.
21:38 darbelo Me either, I just acked for enum_stringrep_one.
21:39 darbelo We have new_s_i too.
21:39 darbelo That one does $1 = Parrot_str_new_noinit(interp, enum_stringrep_one, $2);
21:40 nopaste "darbelo" at 192.168.1.3 pasted "Recoil in horror, for here is enum_stringrep_one" (25 lines) at http://nopaste.snit.ch/20490
21:40 NotFound That doesn't make sense with immutable strings.
21:41 darbelo It doesn't make sense with mutable strings either.
21:50 ash_ so, nci currently is done with the nci.pmc right?
21:51 dalek tracwiki: v7 | chromatic++ | PerformanceImprovements
21:51 dalek tracwiki: _synchronize is gone
21:51 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Perform​anceImprovements?version=7&amp;action=diff
21:56 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33673), fulltest) at r46371 - Ubuntu 10.04 amd64 (g++)
22:11 hercynium joined #parrot
22:17 nopaste "darbelo" at 192.168.1.3 pasted "Quick hack to keep _provisional keys out of copnfig_lib.pir" (12 lines) at http://nopaste.snit.ch/20491
22:20 lucian_ joined #parrot
22:28 ash_ so... should nci use the nci pmc or should it use built in ops like dlfunc, dlvar, loadlib
22:28 lucian joined #parrot
22:29 TonyC joined #parrot
22:30 nopaste joined #parrot
22:30 darbelo ash_: both?
22:31 darbelo I'm not a NCI specialist, but I think those two APIs provide different functionalities.
22:32 dalek parrot: r46372 | coke++ | trunk/src/pmc/stringbuilder.pmc:
22:32 dalek parrot: small refactor.
22:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46372/
22:33 ash_ I am reading the source on both of them, I wasn't sure if it was completely abstracted away behind the NCI.pmc or not, it seems parts of it are, but other parts are still in some of the core ops, like dlfunc and dlvar
22:33 ash_ just looking at some of the stuff so I can start figuring out what I need to do for my GSoC
22:35 darbelo You can "do NCI" without ever directly instantiating a 'NCI' PMC, if that is what you mean.
22:35 ash_ yeah, thats what I was referring to, i see that now
22:37 ash_ dlfunc makes an nci pmc for you
22:37 darbelo handle = loadlib 'libwhatever.so'; func = dlfunc handle, name, sig; is the workflow I remember.
22:38 darbelo I never bothered to look under the covers.
22:38 ash_ yeah, func is an nci.pmc in your example
22:41 darbelo Right, I keep forgeting we have invokable PMCs.
22:41 dalek tracwiki: v6 | cotto++ | UsingGitAndSvnInTrac
22:41 dalek tracwiki: make intro less stupid
22:41 dalek tracwiki: http://trac.parrot.org/parrot/wiki/UsingG​itAndSvnInTrac?version=6&amp;action=diff
22:42 cotto_work Next time I post something like like the first part of UsingGitAndSvnInTrac, someone please do me the favor of telling me it's counterproductive.
22:47 chromatic It read accurately to me.
22:47 Tene Looks fine to me.
22:47 cotto_work Sure but the tone was not helpful.
22:49 chromatic My first patch to this project was almost 9 years ago.
22:49 chromatic I started using Subversion around M20.
22:49 chromatic I have a pretty good understanding of Parrot and source control.
22:50 Tene Complaints about "tone" really grate on me.
22:50 chromatic I stopped trusting Subversion merges when one of them failed for a branch on a file I hadn't modified and that no one on trunk had modified.
22:50 ash_ If I wanted make a new config step, is there a place in the documentation I should look for how to do that? or should I look at another config step's source
22:51 chromatic If you have to modify your workflow to remove your VSC from the process because otherwise you'd lose history, your VCS is getting in the way.
22:52 dalek winxed: r466 | julian.notfound++ | trunk/winxedst1.winxed:
22:52 dalek winxed: escape non ascii chars in generated pir in stage 1
22:52 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=466
22:53 cotto_work Sure, but there are ways of expressing those ideas without talking down to anyone who might prefer svn.  That's all.
22:57 cotto_work People who hack on Parrot are generally quite respectful of others with varying skills and preferences.  I love that part of the community and don't want to change it.
22:58 darbelo "Here's a nickel kid.  Go get yourself a real VCS"
23:01 Tene That's an interesting perspective.  I've always seen that as more "The parrot community contains people with diverse and strong opinions, and are comfortable seeing others express opinions that differ from theirs."
23:01 Tene "Comfortable disagreeing" more than "Avoids disagreements"
23:01 Tene I'm really horrible at politics, though, so I wouldn't be surprised if I'm way wrong. :)
23:02 tetragon joined #parrot
23:02 cotto_work I never said anything about avoiding disagreements.
23:02 darbelo Tene: Even while violently disagreeeing, people here are quite respectful of the other side.
23:02 Coke having actually read cotto's paragraph there, yah it wasn't helpful. good fix.
23:03 Tene Hmm.  Okay.  Good for me to learn something about tone today, then. :)
23:10 ttbot Parrot trunk/ r46373 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/298428.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
23:10 NotFound darbelo: I disagree, you dirty moron
23:10 NotFound ;)
23:10 darbelo NotFound++
23:12 ash_ is it okay if for now I use github instead of svn? for my GSoC project
23:13 cotto_work It'll make life more troublesome for you just because of the mismatch.
23:13 darbelo ash_: You'd have to ask your mentor first too.
23:16 darbelo cotto_work: Given that GSoC happens in branches, there might be less mismatch trouble for GSoCers...
23:19 ash_ right now, i have a fork of the github mirror on dukeleto's github account, and i am working in a local branch, i was planning on just making patches and sending them wherever if I need to merge back into something else
23:21 dalek parrot: r46373 | darbelo++ | trunk/config/gen/config_pm.pm:
23:21 dalek parrot: Quick hack to keep _provisional keys out of copnfig_lib.pir
23:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46373/
23:21 cotto_work If you and your plobsing are comfortable with that, great.
23:21 cotto_work s/your //
23:21 * darbelo wants a plobsing.
23:22 ash_ i'll have to ask plobsing about it, i haven't seen him online recently, does anyone know if there is a normal time he is online? or should I just email him?
23:22 darbelo I hear they make for great garden decoration.
23:22 cotto_work seen plogbsing
23:22 purl I haven't seen 'plogbsing', cotto_work
23:22 cotto_work seen plobsing
23:22 purl plobsing was last seen on #parrot 18 hours, 2 minutes and 0 seconds ago, saying: wtf
23:23 ash_ anyone know what timezone he is in? just curious, I am in central US here
23:24 cotto_work plobsing?
23:24 purl plobsing is, like, part of our sanity injection framework or probably canadian or mailto:plobsing@gmail.com
23:25 ash_ is there a place on the wiki or somewhere I should put any information about my GSoC work?
23:25 ash_ just so i am not keeping anyone out of the loop, if anyone cares :P
23:26 darbelo ash_: You can create a wiki page, or (after bugging Coke for the propoer credentials) use a parrot.org blog.
23:38 Topic for #parrotis now Parrot 2.3.0 Released | http://parrot.org/ | Channel log: http://irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, testexceptions_refactor branch | GSoC students, please read http://trac.parrot.org/par​rot/wiki/GSoCersStartHere
23:42 ash_ If i have a blog, do i need to let someone know about it? for parrot/perl6 related blog posts
23:43 cotto_work Last year, instead of preposting his #ps report darbelo just posted a link to his latest blog entry.  You could do something like that.
23:43 darbelo Also, dukeleto has declared the weekly blogging mandatory for this year.
23:44 darbelo So, I would talk with him too.
23:45 darbelo ash_: More data here: http://groups.google.com/group/tpf-gsoc-stu​dents/browse_thread/thread/e918a237b91423f5
23:45 ash_ yeah, I just found that
23:46 darbelo His second mail mentions what you were asking ;)
23:47 tcurtis joined #parrot
23:47 particle joined #parrot
23:47 TiMBuS joined #parrot
23:48 ash_ so, our mentors will get our blogs onto the blog aggrigators?
23:48 Coke parrot.org is already on the parrot aggregator.
23:49 Coke if you have a separate blog, please open a trac ticket to get it added to planet.parrot.org
23:49 Coke er, planet.parrtocode.org
23:51 ruoso joined #parrot
23:52 ash_ planet.parrotcode.org ? :P
23:54 darbelo Coke: Are there any plans to move that into parrot.org?
23:55 sorear chromatic: What is "M20"?
23:55 * darbelo guesses Month 20 ?
23:55 Coke darbelo: nope.
23:56 cotto_work milestone 20 praps
23:56 Coke ... or a road in the UK?
23:56 * Coke ->
23:56 sorear "i've been using subversion since M20"
23:56 darbelo My second choice was a nebula.
23:57 darbelo Google claims it's a recording studio in Madrid...
23:59 chromatic Milestone 20.

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

Parrot | source cross referenced