Camelia, the Perl 6 bug

IRC log for #parrot, 2010-05-07

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 sorear What's that in years?
00:02 chromatic 7
00:19 shockwave left #parrot
00:32 Whiteknight is plobsing probably canadian?
00:34 darbelo probably ;)
00:41 sorear don't we have five gsoccers?
00:41 darbelo Yes, why?
00:42 Whiteknight the rest of the world calls them gfootballers
00:42 sorear darbelo: because there are only two blog posts.
00:43 darbelo sorear: It's still early. The community bonding period is almost a month this year.
00:44 darbelo At least one student mentioned he was having his finals now, and that he'd be around a bit later.
00:44 * sorear experimentally upgrades Parrot
00:45 cotto_work if you mean khairul, I think his finals are over
00:45 darbelo Honestly, I don't know who I mean.
00:46 darbelo I remember something about a student and finals.
00:47 darbelo Or maybe it was a final student.  I can't be sure.
00:47 sorear let's see if losing _synchronize and StringBuilder is as big a win as it sounds like
00:48 cotto_work is that the same as an immutable student?
00:49 ash_ I have finals right now
00:49 ash_ I am also working on a robotics project that technically won't be done until June 3rd, but it shouldn't get in the way of GSoC, i don't think
00:49 purl okay, ash_.
00:49 ash_ purl forget that
00:49 purl ash_: I forgot that
00:50 cotto_work purl, ash_?
00:50 purl ash_ is curious for the case of calling parent class methods or working on a robotics project that technically won't be done until June 3rd, but it shouldn't get in the way of GSoC, i don't think
00:50 plobsing joined #parrot
00:51 ash_ how does purl work?
00:51 cotto_work she's an infobot
00:51 ash_ i imagine its a script in the netherwebs somewhere, but i have been wrong before
00:52 darbelo purl: forget ash_
00:52 purl darbelo: I forgot ash_
00:52 darbelo ash_: ?
00:52 darbelo ash_?
00:52 sorear purl, flooterbuck?
00:52 purl i heard flooterbuck was well, flooterbuck is the kind of infobot that i am or a dagbrown, mendel, warewolf and kd production or actually maintained or http://github.com/dagbrown/flooterbuck/ or git-clone git://github.com/dagbrown/flooterbuck.git or a complete pile of ass written in perl 4 or mostly warewolf's fault really.
00:53 darbelo ash_: She replaces 'I' with the nick saying it.
00:53 darbelo I?
00:53 purl you are Daniel Arbelo Arrocha <mailto:arbelo@gmail.com> or Daniel "The Wrecking Ball" Arbelo Arrocha
00:53 ash_ I?
00:54 ash_ how do you fill out that info?
00:54 ash_ darbelo?
00:54 purl it has been said that darbelo is Daniel Arbelo Arrocha <mailto:arbelo@gmail.com> or Daniel "The Wrecking Ball" Arbelo Arrocha
00:54 ash_ ash_ is John Harrison
00:54 abqar joined #parrot
00:55 plobsing ash_: how far along are you with CLA/commit bit etc?
00:55 darbelo Whenever you say "$something is also $description" it gets appended to that factoid.
00:55 ash_ plobsing: coke has my cla, i have a trac account too
00:56 ash_ plobsing: i made a git fork of dukeleto's github parrot mirror, i haven't pushed any commits yet, still planning for the NCI stuff
00:56 cotto_work I thought his mirror was read-only.
00:56 ash_ ash_ is also John Harrison <mailto:john@greaterthaninfinity.com>
00:56 purl okay, ash_.
00:56 plobsing ash_: cool, I like working with git.
00:56 tcurtis I?
00:57 ash_ cotto_work: it is, but I was just planning on making patches until I have an svn commit bit, if i need to push to master that is
00:57 ash_ I?
00:57 purl you are John Harrison or John Harrison <mailto:john@greaterthaninfinity.com>
00:57 tcurtis tcurtis is Tyler Curtis <mailto:tyler.l.curtis@gmail.com>
00:57 Coke I got a cla from... yah, that guy.
00:57 tcurtis I?
00:57 purl you are, like, Tyler Curtis <mailto:tyler.l.curtis@gmail.com>
00:57 Coke (john)
00:58 plobsing hmmm, who does purl think I am?
00:58 plobsing I?
00:58 purl you are part of our sanity injection framework or probably canadian or mailto:plobsing@gmail.com
00:58 ash_ i like the probably canadian bit
00:58 plobsing not sure about the sanity, but 2 out of 3 ain't bad
01:01 ash_ plobsing: I was looking around earlier, I think I'll have to make changes in the NCI pmc as well as the dlfunc and dlvar opcodes (maybe library but I don't know about that one yet, I don't think so)
01:01 * cotto_work goes home
01:01 plobsing ash_: changes how?
01:01 davidfetter joined #parrot
01:02 sorear I?
01:02 purl you are aware that PONIE is dead.  I know relatively little of Perl 6 and Parrot
01:03 tcurtis chromatic, have you had a chance to look at http://www.parrot.org/content/past-optimization ?
01:04 Coke oooh, i'z reading that now.
01:12 bacek_at_work ~~
01:18 ash_ one of the gcc's GSoC projects this summer is a python-like frontend for gcc, implementing a subset of python
01:18 Coke bah. Codestring branch CS choking on rakudo's perl6-grammar.
01:19 ash_ what part of the grammar?
01:21 Coke no, just slow.
01:25 plobsing ash_: what weaknesses in NCI.pmc and dlfunc do you want to address? also, how does dlvar factor into things at all?
01:29 ash_ well, If I am going to use libffi, it has its own set of variable types it uses, like ffi_type_uint8 (and other ffi_type_*) I figured I would need to replace the current NCI implementation details with libffi implementation details
01:30 plobsing you would have to parse the signature string yourself, but NCI.pmc doesn't actually handle types much
01:30 plobsing it simply delegates to thunks on a hope and a prayer
01:31 ash_ I was looking at the thunks stuff, trying to understand it, it seems rather specific
01:32 ash_ libffi would allow for a completely dynamic way of building thunks, which is what I was going for
01:32 plobsing it takes a function pointer. To use libffi, you have a general purpose libffi calling function you give to NCI.pmc and then you'd store the libffi signature description in the userdata
01:32 plobsing you could also just replace NCI.pmc. maybe by making it HLL-mappable
01:35 ash_ I also looked at the detect_llvm branch, for its config related llvm things, I noticed its not actually using llvm-config, it looks for llvm-gcc, lli, and llc, which is kinda odd
01:36 sorear who is in charge of IMCC?
01:36 sorear it's using less memory but *much* slower
01:37 plobsing sorear: look at IMCC source code and then tell me you think anyone is "in charge" ;-)
01:37 ash_ svn blame?
01:37 purl it has been said that svn blame is just like p4 annotate, only better or just like git blame, only different
01:38 sorear rakudobuild just finished in 33 minutes
01:38 sorear 20 of them were spent in /usr/local/bin/parrot  -o perl6.pbc src/Perl6/Compiler.pir
01:38 plobsing I've recently made imcc much slower. Maybe that's it.
01:39 sorear (Compiler.pir transitively includes about 200,000 lines of pir, most of it generated)
01:40 plobsing sorear: the cost scales linearly both with PMC and string constants. To make things faster, try to use fewer of those :p
01:40 Andy joined #parrot
01:42 sorear /linearly/?
01:43 plobsing my regression is linear. so it is O(n * $whatever_imcc_was_before)
01:44 sorear unfortunately, I don't know *exactly* how much memory was used
01:44 sorear I forgot to keep an eye on top
01:47 chromatic It's time to use a hash to cache those string constants.
01:48 chromatic My best idea yet is to make a ConstTable PMC that knows how to write out those constants in the right order.
01:48 dalek parrot: r46374 | coke++ | branches/codestring/src/pmc/codestring.pmc:
01:48 dalek parrot: remove an assignment that snuck in.
01:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46374/
01:48 plobsing chromatic: quick and dirty (as if we didn't have enough of that already) would be to put the hash in IMCC_INFO
01:49 plobsing I'm pretty sure that would work.
01:49 chromatic I found three places that check for existence of string constants.  We should unify them somehow.
01:49 plobsing That I can do.
01:52 JimmyZ joined #parrot
01:53 JimmyZ Coke?
01:53 purl Coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed. or magical ticket robot or (if Diet), something that turns into formaldehyde in my blood. or getting those data_json issues in Coke's build. or tempted to remove "ticket_append" for authenticated. or on OSX 10.6.3
01:54 szabgab joined #parrot
01:59 plobsing chromatic: how can two strings be Parrot_str_equal if they don't have the same charset and encoding?
01:59 Psyche^ joined #parrot
01:59 chromatic They can't.
02:01 plobsing so then why does the string constant equality test that I copied everywhere test these independantly?
02:01 chromatic I'm not sure.
02:02 Andy We're not relying on Perl 5.10 to build Parrot, are we?
02:02 chromatic Not yet.
02:02 Andy we're going to at some point?
02:03 chromatic Possibly.
02:03 Andy Right now, I can't run Configure under 5.8 'cause darbelo put in a next if $k ~~ /_provisional/;
02:03 Andy which I'm going to retro back to =~
02:04 chromatic Please do.
02:05 dalek parrot: r46375 | coke++ | branches/codestring/src/pmc/codestring.pmc:
02:05 dalek parrot: whitespace & other clenaup
02:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46375/
02:06 Coke JimmyZ, yes?
02:21 dalek parrot: r46376 | petdance++ | trunk/config/gen/config_pm.pm:
02:21 dalek parrot: We can't yet use smart-matching because we are not requiring Perl 5.10
02:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46376/
02:24 * sorear wonders if he should blame rakudobuilds using 30% more memory on compact_string no longer freeing 100% of memory
02:29 sorear core.pm -> core.pir, the traditional longest step, took 7m38s (4m11s real, 420MB)
02:29 Andy embed.h is going to get headerized.  It's the last holdout
02:30 plobsing joined #parrot
02:36 janus joined #parrot
02:44 Mokurai1 joined #parrot
02:45 JimmyZ Coke: parrot will remove concatenate from stringbuilder?
02:46 Coke I don't think so. why do you ask?
02:48 JimmyZ from backlogs
02:50 JimmyZ And push and concatenate are the same. Does parrot need two ways to do the samething?
02:51 Coke makes sens for this pmc, I think.
02:51 Coke "sense"
02:52 JimmyZ seems that it push something to array or stack. :)
02:53 JimmyZ pushs
02:53 parthm joined #parrot
02:53 dalek parrot: r46377 | petdance++ | trunk (4 files):
02:53 dalek parrot: updating PARROT_ instrumentation.  The entire embed.h needs to get headerized.
02:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46377/
02:53 dalek parrot: r46378 | plobsing++ | trunk (4 files):
02:54 dalek parrot: consolidate packfile constant reverse lookup in PackFile_ConstTable_rlookup function
02:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46378/
03:10 dalek parrot: r46379 | plobsing++ | trunk/compilers/imcc/pbc.c:
03:10 dalek parrot: consolidate functionality into PackFile_ConstTable_rlookup()
03:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46379/
03:25 sorear after rerrunning the build with better instrumentation:
03:25 sorear -420 MB peak
03:26 sorear -7.5 min for perl6->pir setting
03:26 sorear -21 min for pir->pbc stage 2 compiler (includes setting)
03:26 dalek parrot: r46380 | coke++ | branches/codestring/src/pmc/codestring.pmc:
03:26 dalek parrot: move methods around
03:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46380/
03:27 sorear - 1 min for pir->pbc stage 1 compiler
03:28 sorear -2 min nqp->pir compiler proper
03:28 sorear -33.5 min total
03:30 LoganLK joined #parrot
03:32 Coke don't say we never did anything fer ya.
03:33 sorear don't you like feedback?  especially feedback with numbers?
03:34 JimmyZ sorear: Do you mean it's better now?
03:34 Coke ah. you don't mean "33.5 minutes less altogether"
03:34 Coke and yes, numbers are good. much better than usual. =-)
03:36 ash_ sorear: what kind of machine are you on?
03:37 sorear JimmyZ: No, that was an unfortunate choice of bullet
03:37 sorear pbc_to_exe uses *much* less memory though
03:38 ash_ so there has been a recent trade off of memory vs speed
03:38 sorear well
03:38 sorear pbc_to_exe uses much less memory, IMCC is much slower
03:38 sorear it's like a phantom time travelling tradeoff
03:39 sorear ash_: P4 2GHz 0.5MB L2 384MB RAM
03:40 ash_ ah, is it swapping a lot i guess then?
03:40 ash_ with 384 MB of ram, how much ram does the build process take?
03:41 sorear it peaks at 420 these days with a working set a bit smaller
03:41 sorear only about 2-4 minutes of that 33 minute run was spent waiting for page faults
03:41 sorear it was a lot worse a month ago, I had to run rakudobuilds overnight
03:42 JimmyZ :)
03:44 ash_ man, i can't imagine that...
03:44 ash_ my computer has 4 gigs, and currently i am using 3.25 ish of it
03:44 ash_ granted, i have an andriod emulator running, and eclipse
03:51 parthm joined #parrot
04:01 * Coke tries moving to a linux box to see if he can track down the memory issues with the codestring branch.
04:19 iblechbot joined #parrot
04:29 Andy left #parrot
04:32 tcurtis joined #parrot
04:35 nopaste "plobsing" at 192.168.1.3 pasted "PackFile ConstTable Cached String RLookup" (141 lines) at http://nopaste.snit.ch/20493
04:36 chromatic Looks reasonable.
04:36 plobsing it fails
04:36 plobsing because identical strings with different encodings/charsets are the same to hashes
04:36 plobsing but are considered to be distinct elsewhere
04:38 plobsing not sure how to fix that. encodings are not my strong suit
04:40 bacek_at_work ~~
04:41 bacek_at_work Guys, you are doing it... sub-optimal. There is PackfileConstantTable PMC already. It's much better to move to Packfile PMCs and improve them.
04:41 bacek_at_work (Yes, it's more effort required, but then we can rip off IMCC and use PIR/NQP to generate PBC)
04:41 plobsing are you volunteering?
04:46 bacek_at_work I've implemented most of those PMCs! :)
04:46 plobsing also, upon inspection, PackfileConstantTable likely suffers the same differently encoded strings are the same yet different problem
04:46 plobsing fix that and either solution should work
04:46 bacek_at_work Yes. But it's single place
04:46 bacek_at_work And we can improve it without braking encapsulation
04:47 plobsing also, wrt Packfile PMCs, if we get IMCC using these, IMCC will be in a much better shape and we won't be motivated to replace it
04:47 plobsing s/motivated/as motivated/
04:48 bacek_at_work Good point! :)
04:50 plobsing anyways, I agree with the idea of Packfile PMCs, I'm just not confident I can get IMCC using these and "bug-free" before the 2.4 release.
04:50 * Coke is experimenting with making CodeString a StringBuilder and is getting lovely segfaults. bah.
04:50 Coke branches/codestring@HEAD seems to be chewing through memory.
04:51 Coke whee, and I have a segfaulting parrot -t4.
04:51 cotto "IMCC" and "bug-free" sounds optimistic with any timeframe
04:51 plobsing hence the scare-quotes
04:52 cotto otoh, if IMCC can use the Packfile PMCs, a pir-based compiler would be one step closer.
04:53 Coke oooh, sweet, fixed it.
04:53 plobsing yes, all we'd need is a (subset PIR) -> C emitter and we could fully bootstrap
05:00 Coke chromatic: you about?
05:00 Coke or bacek?
05:00 purl hmmm... bacek is THE MANIAC or some sort of magical coding robot
05:01 bacek_at_work Coke, http://github.com/bacek/pir
05:02 cotto Hmmm.  How would that hande dynops?
05:03 Coke bacek_at_work: I have a codestring that ISA stringbuilder. both that and the version currently in the branch seem hella slow. Any suggestions?
05:04 Coke (the one that ISA is just in my working copy atm.)
05:04 bacek_at_work Coke, I'll look at it tonight. I still have some $work to do...
05:05 nopaste "coke" at 192.168.1.3 pasted "make Codestring extend stringbuilder" (158 lines) at http://nopaste.snit.ch/20494
05:10 bacek_at_work Coke, CodeString@HEAD looks about all right...
05:38 jsut joined #parrot
05:49 plobsing hmmm... String.trans seems fishy given immutable strings
05:50 cotto not if you use it counterintuitively
05:54 plobsing it *mutates* its argument. how could it possibly be correct?
05:55 cotto nm.  I assumed it'd return a mutated copy.
06:05 bacek_at_work plobsing, you're right. String.trans must be updated...
06:05 aukjan joined #parrot
06:05 bacek_at_work Actually, I would like to see only "const STRING*" passed around. It will help with catching such bugs.
06:12 uniejo joined #parrot
06:16 snarkyboojum joined #parrot
06:26 dalek parrot: r46381 | plobsing++ | trunk/src/pmc/stringbuilder.pmc:
06:26 dalek parrot: stringbuilder strings have invalid hashes
06:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46381/
06:38 chromatic joined #parrot
06:38 moritz rakudo on latest parrot now uses huge amounts of memory during spectest (not build)
06:39 sorear interesting
06:40 viklund joined #parrot
06:42 dalek parrot: r46382 | plobsing++ | trunk (2 files):
06:42 dalek parrot: update String.trans to work in immutable strings style
06:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46382/
06:44 kurahaupo joined #parrot
07:01 fperrad joined #parrot
07:05 snarkyboojum joined #parrot
07:05 fperrad_ joined #parrot
07:15 dalek parrot: r46383 | plobsing++ | trunk/examples/shootout/revcomp.pir:
07:15 dalek parrot: update revcomp example for String.trans changes
07:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46383/
07:18 kurahaupo_mobi joined #parrot
08:04 dalek parrot: r46384 | jimmy++ | trunk (3 files):
08:04 dalek parrot: removed unused code and consting
08:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46384/
08:40 cosimo joined #parrot
09:16 khairul joined #parrot
09:31 parthm joined #parrot
09:45 darbelo Wait. We're not requiring perl 5.10?
09:45 moritz are we?
09:46 darbelo Apparently Configure works on 5.8
09:46 darbelo http://irclog.perlgeek.de/p​arrot/2010-05-07#i_2303184
09:47 moritz ok, we're not :-)
09:48 darbelo We are. Andy fixed it later.
09:48 darbelo r46377
09:48 darbelo Ehm, I mean r46376
09:54 parthm left #parrot
10:14 Whiteknight joined #parrot
10:52 mikehh make test FAILures - t/compilers/pct/past.t - Failed tests:  7-9 and t/compilers/pct/post.t - Failed test:  5 - all Segmentation faults - Ubuntu 10.04 amd64 (g++) at r46384
11:02 mikehh same story with gcc  with --optimize - ah no does not fail 9
11:03 mikehh make test FAILures - t/compilers/pct/past.t - Failed tests:  7-8 and t/compilers/pct/post.t - Failed test:  5 - all Segmentation faults - Ubuntu 10.04 amd64 (gcc with --optimize) at r46384
11:07 mikehh it passes the test once with prove than failed on subsequent proves (including 9)
11:07 mikehh both tests
11:07 purl both tests are using parrot 39271
11:16 Whiteknight joined #parrot
11:16 darbelo purl: firget  both tests
11:16 purl darbelo: sorry...
11:17 darbelo purl: forget both tests
11:17 purl darbelo: I forgot both tests
11:42 Whiteknight joined #parrot
11:43 TiMBuS joined #parrot
11:48 darbelo Hmm. Does Parrot_str_new_constant() really need to set PObj_external_FLAG on the strigs it creates?
11:51 darbelo Oh, it's cheaper that way. Of course. Nevermind.
11:54 * darbelo finds out that everything has a cost.
12:26 JimmyZ joined #parrot
12:31 nopaste "darbelo" at 192.168.1.3 pasted "Ok. WTF?" (39 lines) at http://nopaste.snit.ch/20496
12:32 darbelo If anyone can help diagnose that, I'll be be very grateful.
12:41 JimmyZ WTF?
12:44 darbelo Yeah, that's what I said.
12:45 darbelo Something somewhere is playing with pointers it shouldn't be.
12:55 darbelo Aha! It's a mis-concatenation. I should have seen that one coming.
12:58 darbelo No, wait. It isn't.
12:59 shockwave joined #parrot
13:00 shockwave Hi. Is there a way to declare (global) constans in a file which can be imported and used in other files?
13:00 shockwave I'm talking about PIR, btw?
13:01 shockwave s/btw?/btw
13:01 darbelo shockwave: Yes and no.
13:01 shockwave darbelo, :S
13:01 darbelo Constants can be defined in pasm, and the included in pir.
13:01 shockwave darbelo, that's fine with me.
13:02 darbelo .include 'yourfile.psm'
13:03 darbelo See runtime/parrot/include/datatypes.pasm for an example.
13:03 darbelo Also watch out. .include is dumb textual inclusion.
13:03 shockwave weird, I don't have that file in 2.3
13:04 shockwave I'll do a search.
13:05 darbelo runtime/parrot/include/iglobals.pasm
13:05 darbelo That one has been there for a long time.
13:06 darbelo .macro_const MACRONAME macrovalue
13:06 shockwave darbelo, ok, I'll try that .macro_const. Weird #2, I also don't have iglobals.
13:07 ruoso joined #parrot
13:09 shockwave Thanks, darbelo
13:11 khairul darbelo: i was just reading pdd19 (pir),  ".const <type> <identifier> = <const>" , does that work too?
13:12 shockwave khairul, That works, but I think it's only for use within the subroutines.
13:15 khairul shockwave, thanks. I thought .globalconst is the one that may only be used within subs. no mention of restrictions on .const
13:16 shockwave khairul, I'm certaintly not an expert (yet), but just by the name .globalconst doesn't sound like it should be local to subs only.
13:21 khairul hrm, .const seems to work outside of subs, .globalconst doesnt.
13:23 shockwave khairul, to clarify. I only use PIR, not PASM (except now, to create those constants). So what I mean is that .const is to be used within the same sub that is created. But, to be honest, I'm just guessing at this point. I haven't tried to use it otherwise.
13:29 shockwave I tried using that macro thing before, but I couldn't get it to work. I was able to work around it.
13:30 cosimo joined #parrot
13:30 shockwave I still can't get it to work (most certainly my fault), but I definetly needed it now, and can't work around it.
13:30 shockwave Basically, I did this:
13:30 shockwave 1) Created a file foo.pasm, and included lines like this:
13:30 shockwave .macro_const Ink_T_bool 3
13:31 shockwave 2) included that file using .include 'foo.pasm', and then tried to use the constant like so:
13:31 shockwave _someInt == Ink_T_bool
13:31 shockwave I get: error:imcc:undefined identifier 'Ink_T_bool'
13:33 darbelo shockwave: You need a leading '.' on the name.
13:33 darbelo .Ink_T_bool
13:35 dalek digest-dynpmcs: 1ad6bcd | fperrad++ | setup.pir:
13:35 dalek digest-dynpmcs: now Parrot ignores all about open_ssl
13:35 dalek digest-dynpmcs: review: http://github.com/fperrad/digest-dynpmcs/com​mit/1ad6bcdcc760463d80be463543119b6eec3120c8
13:36 shockwave darbelo, it works. Thanks, again.
13:36 shockwave darbelo, I see what you mean about it being a dumb textual replacement.
13:37 shockwave One can't include that constants file at a top level, and include it sub files.
13:37 shockwave It must be included in every file that it will be used (darn).
13:37 shockwave I guess is better thank nothing.
13:40 shockwave Actually, having to include it in every file blows.
13:46 dalek tracwiki: v15 | fperrad++ | ListOfPlatforms
13:46 dalek tracwiki: http://trac.parrot.org/parrot/wiki/List​OfPlatforms?version=15&amp;action=diff
13:56 bacek ~~
13:57 clinton joined #parrot
13:57 darbelo morning bacek
13:57 darbelo fsvo morning.
13:58 bacek darbelo, 3 minutes till tomorrow :)
13:58 darbelo 'Tomorrow' and 'Morning' are the same word in spanish ;)
13:59 bacek Makes sense :)
13:59 shockwave manana en la manana: tomorrow morning. LOL
14:00 darbelo Bilingual puns aside, do you have any ideas what could be causing http://nopaste.snit.ch/20496
14:00 darbelo I was expecting it to explode.
14:01 darbelo Not pass coretest and then fail weirdly in PGE.
14:01 shockwave darbelo, if you're talking to me, I don't Perl.
14:01 bacek darbelo, you are braking contract with strings. _bufstart should be set
14:02 darbelo Actaully, I want to change that contract. Only set _bufstart when we have a buffer to point to.
14:02 bacek Wow... Good luck :)
14:03 shockwave left #parrot
14:03 bacek Why do you want it?
14:04 darbelo So we can store all buffer data inside the buffer itself. Like we do the 'refcount' flag.
14:04 darbelo Makes strings smaller.
14:04 bacek You can easily claim one pointer from strings.
14:05 bacek And make code even simpler.
14:05 darbelo _buflen ?
14:05 bacek Nope
14:05 bacek strstart
14:05 purl somebody said strstart was going away.
14:06 darbelo I tried that before. It didn't work with shared buffers.
14:06 bacek Just remove "shared buffer"
14:06 bacek We share them for substrings only
14:06 darbelo If I only keep a pointer to the buffer, how do I know where my substring starts?
14:07 bacek Don't share it :) Allocate new string storage for substrings
14:07 darbelo That's... Not going to be cheap.
14:08 bacek Why?
14:08 bacek We will use less memory for STRING*
14:08 bacek compact_pool will be faster and precise
14:08 darbelo We have lots of substrings in PGE/TGE/NQP
14:08 darbelo That's why it failed the last time.
14:09 dalek rakudo: def9f9c | (Solomon Foster)++ | src/core/ (4 files):
14:09 dalek rakudo: Move .sin method to Numeric and Real, cleaning up the Num and Complex versions a tad in the process.  Also clean up the Real.unpolar code, and delete the now unneeded Num.unpolar.
14:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​ef9f9ccae4f6ddb39e01f3c3d1a76de24a3a941
14:09 dalek rakudo: 977fad6 | (Solomon Foster)++ | src/core/ (4 files):
14:09 dalek rakudo: Rename log-e to the more traditional (yet still unspec'd and likely to go away) ln.
14:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​77fad626edabd8d6f1e21adf5439d1ca0c54b0f
14:09 darbelo I'm not sure the smaller header is enoguh to pay for all that copying.
14:09 bacek Substrings are costly anyway. We still have to allocate header
14:10 bacek Allocating (usually small) content will not add much.
14:10 bacek But it worth benchmarking first
14:10 darbelo Oh, wait. A small substring on a shared buffer can keep a live a bigger string, right?
14:11 bacek exactly...
14:11 darbelo If I slurp a big string, substr() a char and hold only tho that. The big one lives for ever....
14:11 bacek Immutable Immortal String!
14:13 bacek And housekeeping for "shared" strings is... not actually so bad. But it's definitely not perfect.
14:19 bacek msg chromatic I do want to kill "shared buffer" for strings. http://irclog.perlgeek.de/p​arrot/2010-05-07#i_2304418
14:19 purl Message for chromatic stored.
14:24 bacek darbelo, easy win. Remove bufused
14:25 darbelo I'll have to check my notes on the previous strstart removal attempt, but I think I had most of the big parts done.
14:25 bacek we never update "buffer"
14:25 NotFound bacek: bufused is used for bytelength right now.
14:25 bacek NotFound, ah... When it happened?
14:25 darbelo Wait, bufused counts off strstart?
14:26 darbelo That's totally fucked up.
14:27 NotFound bacek: don't know, my last change just unified in one point what were previously working.
14:28 NotFound darbelo: the good news is that now is more clear than before, and thus can be easilly changed.
14:29 NotFound (for some value of 'easy')
14:29 bacek .oO( What percentage of strings used as hash keys? )
14:30 Coke (including constants in files) - you need to include it for every top level compilation. if you have a pir that includes the constants and 20 other files, those other files don't need to include their own copy. it's a compile time macro, and it needs all the PIR at once to do it. If you want something that is a constant available at runtime, you need to investigate sticking those constants in a namespace somewhere and pulling them out when yo
14:30 atrodo joined #parrot
14:31 bacek moritz, any particular spectest in rakudo which consume too much memory?
14:31 bacek Coke, same question for codestring branch :)
14:32 moritz bacek: lots... I can re-run to find out if you want
14:32 Coke in codestring branch, it's the build of ... Actions, IIRC.
14:32 Coke or perhaps grammar.
14:32 bacek moritz, it will be helpful
14:32 * moritz tries to be helpful
14:32 Coke bacek: also, did you see my patch?
14:32 Coke moritz++
14:32 Coke (the one to turn the codestring branch into "ISA" instead of "HASA"?)
14:32 bacek Coke, "ISA"? I dislike it.
14:32 Coke I like that a little better.
14:33 Coke bacek: I know you do. for no good reason, though. =-)
14:33 bacek I think CodeString isa String. And SB is not String...
14:33 Coke of course, even the HASA is very broken WRT memory, so it's hard to measure if ISA even helps.
14:33 moritz $ ./perl6 t/spec/S02-lexical-conventions/unicode.rakudo
14:33 moritz Cannot get character past end of string
14:33 moritz that's new too
14:33 Coke bacek: No, Codestring is intended, entirely, to be a builder.
14:33 purl okay, Coke.
14:34 Coke no, codestring is like a stringbuilder, but with a few helper methods.
14:34 purl okay, Coke.
14:34 bacek Coke, ah. Then it makes sense.
14:34 Coke (I mean, that's the whole point. the only reason it wasn't a string is because there was no stringbuilder. =-)
14:34 Coke er, it /was/ a String...
14:34 NotFound moritz: the usages of length and bytelength in several parts were confusing. The fix risk to hava break something.
14:35 moritz it seems to have broken about 5% of rakudo spectest
14:35 Coke there are some things that do string-like activities on the buffer, so my patch adds those (and only those) to StringBuilder. But it could leave them in CodeString if we /had/ to. (like, substr_str)
14:35 darbelo Also, it's going to break even more in the next few days...
14:36 bacek Coke, we can keep them in SB.
14:36 moritz darbelo: does this have to be before the release? and in trunk?
14:36 NotFound moritz: if they are unicode related, probably are easy to locate and fix.
14:36 moritz NotFound: many of them seem to be
14:36 darbelo moritz: I'm not going to touch trunk before the release.
14:37 moritz darbelo: good :-)
14:37 darbelo moritz: I'm just trying to cleanup strings as much as I can before GSoC.
14:37 darbelo My motives are 100% selfish.
14:37 bubaflub joined #parrot
14:37 moritz selfishness++
14:38 moritz bacek: t/spec/S03-operators/precedence.rakudo killed after using 1.8GB
14:38 Coke bacek: ok. I'm going to go ahead and apply that pathc, then.
14:38 bacek moritz, thanks, looking.
14:38 NotFound moritz: we can revert that change but IMO the previous state were horribly bad.
14:39 moritz NotFound: if somebody fixes rakudo, I'm fine with the changes :-)
14:39 moritz I'm just not at all familiar with parrot and rakudo on the C level
14:40 moritz bacek: but it seems that most failures that I attributed to OOM are actually string index problems
14:40 NotFound moritz: look a the generated pir may be a easy way to know if the problem lies in parrot or in rakudo.
14:40 bacek moritz, but this one is memory related. Or some kind of infinite loop...
14:41 moritz bacek: yes, this one is
14:42 NotFound bacek: infinite loops can be caused by unappropiate usage of bytelength instead of length.
14:42 bacek NotFound, true...
14:42 NotFound So it may be the same problem.
14:42 Coke NotFound: OH.
14:43 Coke Notfound - I wonder if that's what's borking the rakudo build on codestring.
14:43 darbelo Also, I'm not convinced parrot can correctly handle character length in all cases.
14:44 Coke darbelo: "tests, please."
14:44 Coke (codestring does use str_byte_length...)
14:44 darbelo I don't have any. It's just a general "This code cannot be possibly working now" feeling.
14:45 NotFound darbelo: I was sceptic but my tests were good. The remaining convoluted parts are non ascii chars in pir source, but I think rakudo doesn't generate that.
14:45 jan joined #parrot
14:46 NotFound Coke: you probably must use str_length
14:46 Andy joined #parrot
14:47 darbelo NotFound: Your patch looked good to me.  It looke it should be that way.  I just wonder how it was working before...
14:47 fperrad joined #parrot
14:48 NotFound darbelo: It was non working, just passed tests.
14:48 bacek We have about 15 different variants of string representations. What could possible go wrong?
14:48 Coke NotFound: checking...
14:49 dalek parrot: r46385 | coke++ | branches/codestring/src/pmc/stringbuilder.pmc:
14:49 dalek parrot: Add a few string-ish VTABLE entries to StringBuilder.
14:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46385/
14:49 dalek parrot: r46386 | coke++ | branches/codestring/src/pmc/codestring.pmc:
14:49 dalek parrot: Make CodeString ISA StringBuilder instead of HAS-A.
14:49 dalek parrot: The CS is nearly always used as a builder (via .emit()); also avoids a bunch
14:49 dalek parrot: of VTABLES used solely to dispatch to the has-a SB, and an extra PMC per
14:49 NotFound Coke: you need trunk r46371 at least.
14:49 dalek parrot: codestring.
14:49 purl codestring is, like, like a stringbuilder, but with a few helper methods
14:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46386/
14:51 darbelo Stuff like validate() in src/string/charset/unicode.c makes me wonder...
14:52 darbelo Iterate over codepoints, but check against byte length? Either those variables are misnamed, or that function is horribly wrong.
14:53 NotFound darbelo: probably wrong, I don't reviewed that.
14:54 bacek darbelo, yay!
14:55 bacek moritz, it is infinite loop in unicode.find_cclass
14:55 bacek darbelo++
14:55 NotFound darbelo: looks wrong, yes.
14:56 moritz bacek: that would explain a lot
14:56 NotFound And probably is slow if the compiler isn't smart enough to optimize out of the loop the _length call.
14:57 nopaste "bacek" at 192.168.1.3 pasted "NotFound, darbelo, there is backtrace for infinite loop in unicode.find_cclass" (54 lines) at http://nopaste.snit.ch/20498
15:02 NotFound while (pos-- > 0) --- UINTVAL pos !!!
15:02 bacek It was actually CodeString
15:02 darbelo Really, we shouldn't be using UTF-8.
15:03 NotFound unsigneds are rarely lower than zero ;)
15:03 darbelo Unsigned negative numbers ftw!
15:03 NotFound Oh, forget it...
15:03 purl NotFound: I forgot it
15:04 bacek moritz, can you retry on r46390
15:04 bacek Don't put any sign on me! I'm negative enough!!!
15:05 moritz bacek: doing that right now
15:05 dalek parrot: r46387 | coke++ | branches/codestring (31 files):
15:05 dalek parrot: merge latest changes from trunk
15:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46387/
15:05 dalek parrot: r46388 | fperrad++ | trunk (2 files):
15:05 dalek parrot: [Gziphandle] add uncompress
15:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46388/
15:05 dalek parrot: r46389 | bacek++ | trunk/src/pmc/codestring.pmc:
15:05 dalek parrot: Fix usage of str_length in CodeString.lineof.
15:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46389/
15:05 dalek parrot: r46390 | bacek++ | trunk/src/pmc/codestring.pmc:
15:05 dalek parrot: More updates to use str_length instead of byte_length in CodeString.
15:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46390/
15:06 bacek Coke, merge them again :)
15:23 theory joined #parrot
15:27 aukjan joined #parrot
15:28 Coke bacek, you're killing me. =-)
15:28 bacek Coke, blame NotFound :)
15:29 alexn_org joined #parrot
15:34 alexn_org_ joined #parrot
15:37 NotFound Sorry, I'll be not blameable on line for the remaining of the day.
15:38 dalek parrot: r46391 | coke++ | branches/codestring (13 files):
15:38 dalek parrot: merge latest changes from trunk
15:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46391/
15:38 dalek parrot: r46392 | coke++ | branches/codestring/src/pmc/codestring.pmc:
15:38 dalek parrot: use right length-checking mechanism
15:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46392/
15:54 Coke ok. I finally go through building Grammar...
15:54 Coke I do wish that ulimit worked for me on this box. :P
15:55 darbelo Why does Parrot_str_length() return INTVAL? Are we expecting negative lenghts or something?
15:55 ruoso joined #parrot
15:56 Coke darbelo: to match up with an $I0... or for no good reason.
15:56 ash_ I wonder what a negative string looks like...
16:00 darbelo Right, $I0 registers. That makes sense.
16:02 darbelo $1 = Parrot_str_length(interp, $2);
16:02 darbelo I keep forgetting about this things.
16:19 bacek msg chromatic I've made PBC strings cache in r46393 ( just because waiting for 5 minutes more to build rakudo is killing me). Any objections for encoding^charset?
16:19 purl Message for chromatic stored.
16:19 khairul joined #parrot
16:23 Coke crap. Actions.pm is STILL HANGING in branch.
16:23 Mokurai1 joined #parrot
16:24 * bacek checking that it is actually 2:30AM and departing to bed.
16:27 dalek parrot: r46393 | bacek++ | trunk (2 files):
16:27 dalek parrot: Cache strings lookup in PackFile_ConstTable_rlookup. It's bring compilation time of perl6.pbc from 5.30 minutes to 40 seconds
16:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46393/
16:29 * particle wonders what robot beds look like
16:30 moritz probably with lots of electric plugs for re-charging
16:30 alexn_org_ joined #parrot
16:32 hercynium joined #parrot
16:34 Coke plugs are old school. it's just a recharging mat.
16:34 moritz sometimes i think our bacekbot is a bit old school, with all this obsession of performance and so on
16:43 dalek parrot: r46394 | coke++ | branches/codestring (12 files):
16:43 dalek parrot: merge latest changes from trunk
16:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46394/
16:45 sorear After IMCC is killed with fire and POST::Compiler generates packfile segments directly, what will we use CS/SB for?
16:48 Coke
16:48 Coke SB - for efficient string building that isn't code related.
16:48 Coke CS probably has less of a future then.
17:06 lucian joined #parrot
17:10 lucian joined #parrot
17:14 Coke ok. i think my problem in the branch is substr_str - when I rely on string for it, it's zippy enough. it does seem to get invoked a /lot/ though, so any issues in the stringbuilder version are going to be very exaggerated.
17:22 Coke why is "hash is invalid" done explicitly in the get_string?
17:22 Coke (of SB)
17:23 darbelo So you don't give out mis-hashed strings?
17:24 Coke why was the hash wrong in the first place?
17:25 darbelo My guess: You appended to the string without re-hashing.
17:26 darbelo I'll have to look at the code to be sure.
17:26 darbelo Is this trunk or branch?
17:32 sorear Coke: because the string embedded in SB gets constantly butchered
17:34 darbelo Coke: In trunk, this happens in the push_string() VTABLE, it memcpy()s stuff unto the string without hashing it again.
17:35 darbelo Which is the right thing to do there. Otherwise you'd be recalculating hashes and throing them away on every concatenation.
17:36 darbelo Damm, it can even *transcode* on appends. That'll invalidate hashes too.
18:04 sorear bacek++ "parrot -o perl6.pbc src/Perl6/Compiler.pir is now 15 times faster
18:23 fperrad joined #parrot
18:29 cotto_work 385/48
18:29 purl 8.02083333333333
18:29 cotto_work bacek++ (I see an 8x improvement, but that still quite awesome)
18:31 sorear 1260/90
18:31 purl 14
18:31 darbelo sorear: RAM starved, eh?
18:32 sorear darbelo: imcc doesn't come close to the limit
18:33 sorear also I stand by my position that 384 million bytes is a ridiculously excessive amount of memory to put in one computer.
18:34 darbelo Heh, I'm used to systems where 8k bytes is a lot.  I don't expect 'regular' software to run on them.
18:35 sorear (You mean like my toaster?)
18:37 darbelo Pretty much. Last embedded project I worked on was for toasting magnets.
18:38 darbelo Where toasting == spark plasma sintering
18:38 * davidfetter 's toaster stores about a byte of information
18:38 davidfetter then again, it's analog
18:39 darbelo I'm not sure electrocuted and compressed bread would be very tasty, thoug.
18:45 shockwave joined #parrot
18:45 shockwave Howdy.
18:46 shockwave The programming language I'm designing is strongly typed. Among the builtin types, there is a 'map' type, which is an associative array.
18:47 shockwave Internally, i have a Map class, written in PIR, which contains a few members. The important ones for my question are '%collection' and '%type', both of which are of PIR's 'Hash' type.
18:47 shockwave I'm currently writing the comparison sub for my custom Map type,
18:48 shockwave I order for the comparison to yield true, both the types and the values have to match.
18:49 shockwave I have an Array class, which is similar to the Map class. Coding the equality for the Array class which fairly easy, as all that needs to be done is compare the types and values sequentially. But Maps are not sequential.
18:49 shockwave Which brings me to my question(s).
18:50 shockwave In order to me to compare to 'Hash'es, do I need to: for every element in Hash A, iterator through every element in Hash B and see if the values match?
18:50 shockwave Or is there a more efficient way of doing this?
18:50 shockwave Thanks.
18:51 Whiteknight cotto_work: 8x improvement on what?
18:51 moritz shockwave: you can keep an xor'd bitmap of all keys in the hash...
18:51 cotto_work parrot -o perl6.pbc src/Perl6/Compiler.pir
18:52 moritz shockwave: and then compare that bitmap of the two hashes first; if they differ, you already know they are not equivalent
18:53 shockwave moritz, I'm sorry, but I don't understand.
18:54 shockwave oh, I think I have an idea of what you're talking about, moritz
18:55 shockwave One of the reasons I'm running into some issues is that the keys of the maps being compared shouldn't matter, only their values.
18:55 moritz oh
18:55 moritz how can you compare two hashes without caring about the keys?
18:55 shockwave Or maybe they should matter, now that I think about it.
18:57 shockwave moritz, I've spent about 30 mins thinking about it, while sitting in the yard. I think somehow I convinced myself that they keys should not be important. But, yeah. Now that You mention it, they should be.
18:57 shockwave This should make things simpler.
18:57 shockwave Back to the drawing board.
18:57 shockwave Thanks, moritz
18:57 moritz :-)
19:01 hercynium joined #parrot
19:06 shockwave moritz, can you expand a bit on that bitmap of keys idea.
19:07 cotto_work it sounds a little like a bloom filter
19:08 moritz shockwave: that's only applicable if you control your hash tables on a low level - do you do that?
19:08 shockwave moritz, I think it's pretty low level, yeah.
19:09 moritz shockwave: ok... then you keep one string per hash
19:09 moritz shockwave: and whenever you insert a new key, you xor that string (let's call it checksum) with the new key
19:09 moritz and store the result as the new checksum
19:10 moritz and whenever you remove a key, you do the same operation
19:10 moritz so two hashes with the same set of keys always have the same checksum
19:10 shockwave moritz, what is the initial value of the string?
19:11 moritz shockwave: arbitrary, as long as it's the same for all hashes
19:11 LoganLK joined #parrot
19:11 shockwave moritz, cool. I'll give it a try.
19:11 moritz actually it can be an integer, if your checksum turns hash keys into integers
19:12 shockwave Sweet. Ints are my favorite data type :)
19:12 shockwave cotto_work, thanks for the info. I'm currently reading: http://en.wikipedia.org/wiki/Bloom_filter
19:12 moritz and then of course xor it with result of the hashing functions of the keys
19:18 plobsing_work joined #parrot
19:20 Coke instead of invalidating the hash on get-string, then, should we do it on push_string?
19:20 Coke then anything that is accessing "buffer" after that will have it invalidated already.
19:30 plobsing_work I see bacek++ beat me to the punch on cached string rlookup
19:32 Coke plobsing_work: instead you can figure out whys branches/codestring is such a dog on rakudo's Actions.pm =-)
19:35 plobsing_work first I'll try to fix the test regressions I'm fairly sure exist in bacek's changes (his patch is remarkably similar to one I've been sitting on until I can work out the kinks)
19:35 plobsing_work (I don't have a test machine at work)
19:37 darbelo Coke: Yes... And on any other operation that alters the string. Except, maybe, set_string() as that carries in it's own (hopefully correct) hash.
19:38 darbelo It's probably a micro-optimization anyway. The only case where it matters is when someone does a set_string() and then a get_string without pushing anything.
19:39 darbelo And that doesn't sound like the typycal case for StringBuilder, nor CodeString.
19:39 cotto_work a nooptimization?
19:41 darbelo Oh, and the common case (set_string once, push a lot, get_string at the end) gets a smidgen slower, since it has to write 0 on a field every time ;)
19:42 darbelo You can do it a lot when pushing or once at the end.  Once is faster than a lot ;)
19:42 plobsing_work I put the hash invalidation into SB last night. I didn't put much thought into what op invalidated.
19:43 darbelo You picked the right place, if you ask me.
19:52 Coke MJD #11912: Evidently it's important to you to get the wrong answer as quickly as possible.
19:53 Coke (we can't guarantee when people are going to do a push then get, so we should really do it everywhere. updating a C struct member to 0 is pretty cheap, considering what else all those functions are doing, neh?
19:54 Coke (more concerned about the substr case, though- better to do it right after the invalidation than try to catch all the "ok, a string is now leaving the PMC" cases.)
19:58 Coke is t/compilers/pge/pge_examples.t failing in trunk?
20:00 dalek parrot: r46395 | coke++ | branches/codestring/src/pmc/stringbuilder.pmc:
20:00 dalek parrot: move the hash invalidation to right after it happens. This should then cover
20:00 dalek parrot: substr_str and other way to extract a STRING from our buffer.
20:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46395/
20:01 snarkyboojum joined #parrot
20:20 Coke 0/win 2
20:20 Coke KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA​AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN
20:28 shockwave moritz, Thanks again for the help. The algo I ended up concocting is better than what I expected. Unlike PHP's array_diff(), which is the function used to compare hashes in PHP, mine can actually compares the aggregates of any dimensions, not just the first dimension (unlike array_diff).
20:32 hercynium joined #parrot
20:34 allison joined #parrot
20:35 darbelo Coke: Oh, there's more than one exit path? Oops.
20:38 joeri joined #parrot
20:40 Coke darbelo: only in my branch so far. =-0
20:40 Coke er, =-)
21:00 mikehh_ joined #parrot
21:05 Whiteknight how does a new user on parrot.org create a blog?
21:07 darbelo Whiteknight: By asking Coke.
21:07 Whiteknight Coke: ping
21:07 cotto_work log in, create content -> blog entry
21:07 Coke pong
21:07 Coke presuming they have 'poster' privs.
21:08 Whiteknight Coke: I need a blog set up for user Chandon
21:09 Whiteknight if it isn't already
21:09 Whiteknight shit, I can probably do it myself, can't I? I think I have some permission bits
21:11 Whiteknight ...nevermind, can't remember my password
21:11 Tene Whiteknight: did you try "123password"?
21:12 Whiteknight that's the combination to my luggage!
21:12 Tene Oops, sorry.
21:14 Whiteknight does everybody have the ability to blog by default?
21:14 darbelo Guys: It's just not funny, giving out my Home Banking password like that on IRC.
21:15 darbelo Whiteknight: Default is no blog. Or that's how it was last year.
21:16 cotto_work . o 0 (Perhaps this gsoc will be more profitable than the previous ones.)
21:17 Whiteknight to give somebody blog access, I make them a "poster"?
21:17 Whiteknight or an "editor"?
21:17 purl i guess an "editor" is ed, or an imposter.
21:17 moritz you make them "imposterÄ
21:17 Whiteknight damnit purl
21:17 purl damnit i am a bot!!!
21:17 moritz erm
21:18 Whiteknight she needs a better response to that
21:18 Coke poster.
21:18 Coke editor means "I can edit any content."
21:18 Coke like I did when i went back in and fixed a typo in the student's blog title.
21:18 Whiteknight Done
21:19 Coke see, you don't need me.
21:20 darbelo Coke: You are the default 'ask to do our work for us' guy.
21:31 dalek rakudo: 916b56d | moritz++ |  (2 files):
21:31 dalek rakudo: implement List.classify; all tests pass except those depending on binding
21:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​16b56d60d40d02f3e620d8857d94582b896c1ae
21:32 tcurtis joined #parrot
21:37 nnunley joined #parrot
21:38 dalek parrot: r46396 | fperrad++ | trunk/src/dynpmc/gziphandle.pmc:
21:38 dalek parrot: [Gziphandle] fix uncompress
21:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46396/
21:40 Themeruta joined #parrot
21:41 NotFound_gf hi
21:41 purl hi, NotFound_gf.
21:43 dalek rakudo: ab23221 | moritz++ | build/PARROT_REVISION:
21:43 dalek rakudo: bump PARROT_REVISION to get more testing on newer parrots
21:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​b2322165d5bb9a62e88c0aa0dd17d88059f21b6
21:44 rockon joined #parrot
21:51 dalek dbm-dynpmcs: 057b7b6 | darbelo++ | t/gdbmhash.t:
21:51 dalek dbm-dynpmcs: Small patch by fperrad++ to cope with the newfound dynamic nature of the OS pmc.
21:51 dalek dbm-dynpmcs: review: http://gitorious.org/dbm-dynpmcs/dbm-dynpmcs/c​ommit/057b7b6e09f580d0e750dee5bf7b01ae4c39356d
21:52 darbelo Dammit, I keep forgetting to push my git repos back to gitorious after I commit.
22:49 lucian joined #parrot
23:11 TiMBuS joined #parrot
23:32 bacek ~~
23:51 theory joined #parrot
23:52 Coke bacek: hio. waking up or going to sleep?
23:53 bacek Coke, warming up. Initial checks passed.
23:55 bacek Coke, how is codestring branch going?

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

Parrot | source cross referenced