Camelia, the Perl 6 bug

IRC log for #parrot, 2010-05-04

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 tcurtis I stand corrected.
00:03 tcurtis Or answered, I suppose, given that I did use a question mark.
00:04 cotto_work Interesting.  I was wondering if you'd be frustrated that I gave you a related link instead of answering your question.
00:14 tcurtis The link did answer my question, though.
00:16 * Coke yawns.
00:16 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33616), fulltest) at r46258 - Ubuntu 10.04 amd64 (g++)
00:16 eternaleye joined #parrot
00:27 * Coke ponders a reply to kid51's massive tome.
00:27 * Coke thinks it boils down to "we already tried that."
00:28 bacek_at_work Coke, "tried" what?
00:29 dalek parrot: r46259 | coke++ | trunk (13 files):
00:29 dalek parrot: Migrate File and OS PMCs to dynamic PMCs.
00:29 dalek parrot: Resolves TT #448.
00:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46259/
00:31 Coke bacek_at_work: explaining exactly why we like git better.
00:31 Coke ISTR there are many wiki pages to that effect.
00:31 bacek_at_work Yeah...
00:31 bacek_at_work Didn't work...
00:31 purl But it DID do exactly what you told it do.  :D
00:31 Coke I agree that we might as well wait until yapc.
00:32 Coke (to change anything. we should be ready to pull the trigger then, though.)
00:32 bacek_at_work Why? One of proposal for GSoC development is independent git/svn repos
00:32 Coke I also don't particular care for the swipe at "parrot's leadership".
00:33 Coke bacek_at_work: because at YAPC we'll have at least a dozen of us in one place who can have a f2f conversation.
00:33 chromatic I don't want to change anything until after Rakudo Star.
00:33 bacek_at_work Then just discuss it. And made good decision. Like "move it NOW" :)
00:34 Coke msg kid51 board elections coming up at some point. You could put your name in the ring. Also, if you'd like to see something get done and it's not getting done, you can talk about it, or even do it yourself.
00:34 purl Message for kid51 stored.
00:34 Coke chromatic: so, yapc is a good point, methinks.
00:34 * Coke closes a very old ticket.
00:36 chromatic YAPC is only a good point if we can move the discussion past "I can't work like this" and "I'm a super genius, and I can use SVN effectively without making the mess you make."
00:37 * cotto_work is making a concerted effort to move to "I can make this work but there are better ways."
00:38 dalek TT #448 closed by coke++: [TODO] Migrate non-essential PMCs to dynpmcs
00:38 dalek TT #448: http://trac.parrot.org/parrot/ticket/448
00:42 sorear I still need to learn to properly hate svn
00:42 darbelo There is one problem here.  You can't convince allison that svn doesn't work: It works for her.
00:42 cotto_work sorear: you could try to clean up the ops_pct branch
00:42 Coke we don't have to convince allison that she is having trouble.
00:43 snarkyboojum joined #parrot
00:43 chromatic allison's not the only person we have to convince of anything either.
00:43 Coke I'm not entirely convinced we need to convince her /we're/ having trouble at this point.
00:44 ruoso joined #parrot
00:44 Coke If we have people willing to shoulder the administrative burden of updating, and some large %-age of people that prefer and or don't care about the switch...
00:44 darbelo And yet, the debates I've seen degenerate into 'It sucks and is broken' vs 'works for me, you are using it wrong'
00:44 cotto_work Yeah.  Getting past that point is key to making progress (fsvo progress).
00:45 chromatic I don't know how to argue that any model that throws away commit history is anything other than wrong.
00:45 sorear I need a character sheet, I can't remember who the git users are anymore
00:46 darbelo svn haters?
00:46 purl i think svn haters is cotto or plobsing or darbelo or *really* sorear or (but only if he's not core)
00:47 Coke on a /positive/ note, I've opened a ticket with OSU OSL to setup an experimental git/trac/svn setup.
00:48 Tene sorear: you mean "cheat sheet"?  Been RPGing lately?
00:48 darbelo Another data point: We have at least one active contributor who is against git.
00:48 sorear no, I'm not really sure what I mean
00:49 sorear I'm just joking about how we don't actually have any "git is 100% good" or "git is 0% good" people
00:49 Coke darbelo: aside from allison?
00:49 chromatic NotFound, I think.
00:49 darbelo From what I remember NotFound doesn't use git at all.
00:52 Coke msg NotFound Hey, what are your feelings about a potential switch to git?
00:52 purl Message for notfound stored.
00:52 Coke (since the last "person doesn't want git" reference we had was just debunked...)
00:55 darbelo For the record, I'm perfectly happy with !svn. Anything that can do speedy, clean branch merges and runs on OpenBSD is fine by me.
00:55 darbelo svn doesn't, so it has to go. Replacing it with anything else is fine by me.
00:56 darbelo On the note, I'm going out for food.
00:56 Coke mmm, fud.
01:02 ttbot Parrot trunk/ r46259 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/293076.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
01:03 Coke someone needs to regen the pbcs, btw.
01:05 Whiteknight I'm a git preferrer, though it's a small preference. All my personal projects are done in git. I won't create a project in SVN anymore
01:05 Whiteknight of course, I'm terribly bad at git, I don't understand much of it and I can only competently use about 4 commands
01:06 Whiteknight If I used it more, especially in projects with multiple contributors, I suspect my skills would improve
01:07 Whiteknight ...or my ineptitude would become more obvious
01:07 eternaleye joined #parrot
01:07 chromatic You don't need more than a handful of commands.
01:07 chromatic That's what surprises me about the discussion.
01:08 chromatic Windows support?  That's a legitimate question.
01:08 chromatic Ease of learning?  I just don't see it.
01:10 Coke I cannot duplicate that taptinder failure.
01:12 Coke learning git?
01:13 Whiteknight I don't know if it's easy to learn, I might have a learning disability
01:13 Whiteknight plus, I don't know any more SVN commands
01:13 Coke http://www.syntevo.com/smartgit/index.html (windows git client) ?
01:14 chromatic The basic operations of git and svn have almost identical syntax.  There's one difference: git has an index where you stage commits.
01:15 Whiteknight What I need to find is a really good git client for VisualStudio
01:16 chromatic How about a really good compiler for Windows?
01:16 Whiteknight Everything I do at work is C#, and VisualStudio is pretty damn good with that
01:17 chromatic Yeah, but no one expects the bear to dance well.
01:17 Whiteknight C# has quickly become my language of choice for most things
01:26 Coke ... I /think/ that fixes the taptinder error. I also thought I already did that loadlib.
01:34 dalek parrot: r46260 | coke++ | trunk (2 files):
01:34 dalek parrot: OS is a dynpmc - use the dynpmc and depend on it.
01:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46260/
01:35 Coke src/pmc/threadinterpreter.c needs to be manual or auto attrs. which one?
01:35 Coke (what's the default?)
01:37 sorear they're basically the same
01:37 sorear all auto_attrs does is automate malloc in VTABLE new and free in VTABLE destroy
01:37 sorear (well, it's actually a FixedSizePool call)
01:39 Coke ... if they were the same, there wouldn't be 2 different options. =-)
01:39 Coke (I hope.)
01:41 Coke (can someone on the right platform regen the native pbcs?)
01:45 cotto manual_attrs looks right
01:46 Coke that's what I guessed.
01:47 Coke (though potentially it should inherit from the parent.)
01:47 Coke anyway, committed.
01:48 Coke why did "method lower on string" get put as 3.1 and not 2.7 ?
01:50 dalek parrot: r46261 | coke++ | trunk (3 files):
01:50 dalek parrot: make auto or manual _attrs required, closing TT #1506
01:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46261/
01:53 Andy joined #parrot
01:53 Coke ANDY
01:53 Andy COKE
01:54 sorear Coke: Make sure you have the right andy.
01:54 Andy HE KNOWS WHO IS WHO
01:54 Andy I AM THE ORIGINAL.
01:55 Coke hurm. I think from my standpoint, yes, you are the original.
01:55 * Coke finds more crap to rip out...
01:56 Coke chromatic++ # all the work he did making our test suite ||-izable.
01:56 Coke ++<anyone else>
01:57 Andy COKE: DID YOU NEED SOMETHING
01:57 Andy OVER
01:57 chromatic Mostly other people; I only fixed a few problems.
01:59 Psyche^ joined #parrot
02:00 Coke Andy: NO STANDARD GREETING, OVER.
02:00 Andy NEXT PROJECT FOR ME: CONSTING VIRTUAL FUNCTIONS
02:01 dalek TT #1506 closed by coke++: PMC attribute allocation flags design and evolution
02:01 dalek TT #1506: http://trac.parrot.org/parrot/ticket/1506
02:01 dalek TT #876 closed by coke++: Deprecate pushaction, pushmark, popmark
02:01 dalek TT #876: http://trac.parrot.org/parrot/ticket/876
02:07 JimmyZ joined #parrot
02:07 dalek parrot: r46262 | coke++ | trunk (7 files):
02:07 dalek parrot: Remove pushaction, pushmark, and popmark opcodes.
02:08 dalek parrot: Resolves TT #876.
02:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46262/
02:08 dalek parrot: r46263 | coke++ | trunk/DEPRECATED.pod:
02:08 dalek parrot: These were removed in r46055.
02:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46263/
02:11 cotto Coke, have you given Rakudo a patch for auto/manual attrs?
02:12 Coke nope.
02:12 cotto might make life simpler for them
02:12 Coke do our public headers fall under the support policy or no?
02:13 Coke cotto: no doubt.
02:13 Coke (i'd like to change, e.g. sub_flags_enum)
02:13 sorear 'FOO'()  # After IMCC compiles this code, where does Parrot search for the name?
02:13 sorear Current namespace?
02:14 sorear HLL root namespace?
02:14 sorear Lexpad?
02:14 purl it has been said that Lexpad is related to a Sub - not to a Continuations
02:14 sorear Dynamic chain?
02:14 sorear All of the above?
02:18 Coke msg NotFound I took one of your tickets and closed it. sorry, Didn't check first; feel free to beat me up if I did I wrong.
02:18 purl Message for notfound stored.
02:24 dalek parrot: r46264 | coke++ | trunk/include/parrot/sub.h:
02:24 dalek parrot: Remove unneeded enum element, patch Courtesy Bob Rogers.
02:24 dalek parrot: (�http://lists.parrot.org/pipermail/pa​rrot-dev/2009-December/003550.html)
02:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46264/
02:26 chromatic sub.h isn't a public header
02:36 janus joined #parrot
02:40 Coke good.
02:56 dalek parrot: r46265 | gerd++ | trunk/config/gen/makefiles (2 files):
02:56 dalek parrot: make the pdf target also available for Windows
02:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46265/
02:58 plobsing joined #parrot
03:01 snarkyboojum joined #parrot
03:02 Andy joined #parrot
03:03 Coke "Moral of the story: even insane-looking problems are sometimes real."
03:03 Andy joined #parrot
03:06 Coke Andy: hey, can you whip up a list of all functions marked with PARROT_API for me?
03:07 Andy There's this fine programming language you might have heard of called Perl.
03:07 Andy It is able to parse text easily.
03:07 Andy Aaaactually, I think there's a switch in the headerizer for it.
03:07 Coke Andy: nevermind.
03:08 Andy did you find it?
03:08 Andy I'm about to go look for it.
03:08 Coke Andy: nevermind.
03:13 Andy Even still, you can say "make apilist" which is everythign PARROT_EXPORT
03:16 chromatic We might need to bikeshed that name when we make a strong distinction between PARROT_API and PARROT_EXPORT.
03:17 Coke spif. danke.
03:18 Andy I was thinking that, too, chromatic
03:18 Andy making change now
03:19 chromatic Excellent!
03:19 * purl plays air guitar
03:23 dalek TT #1585 closed by coke++: rename STRING_is_null to Parrot_str_is_null
03:23 dalek TT #1585: http://trac.parrot.org/parrot/ticket/1585
03:26 JimmyZ_ joined #parrot
03:29 dalek parrot: r46266 | coke++ | trunk (3 files):
03:29 dalek parrot: "rename STRING_is_null to Parrot_str_is_null"
03:29 dalek parrot: ... except Parrot_str_is_null already existed, so just delete the old (dupe) oneCloses TT #1585.
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46266/
03:29 dalek parrot: r46267 | coke++ | trunk/DEPRECATED.pod:
03:29 dalek parrot: follow marking standard for experimentals...
03:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46267/
03:42 JimmyZ_ joined #parrot
03:45 dalek parrot: r46268 | coke++ | trunk (7 files):
03:45 dalek parrot: rename Parrot_string_cstring to Parrot_str_cstring
03:45 dalek parrot: Closes TT #1586
03:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46268/
03:52 * Coke thinks he's done now.
03:56 dalek TT #1586 closed by coke++: rename Parrot_string_cstring to Parrot_str_cstring
03:56 dalek TT #1586: http://trac.parrot.org/parrot/ticket/1586
04:01 tcurtis chromatic: I probably will be able to attend #ps tomorrow. Have to go see a doctor. I might possibly be able to catch the end of it, but that's uncertain.
04:01 tcurtis Will not, rather.
04:02 dalek parrot: r46269 | petdance++ | trunk/config/gen/makefiles/root.in:
04:02 dalek parrot: Makefile target apilist lists PARROT_API functions, and exportlist lists PARROT_EXPORT. But headerizer has to support the apilist target yet.
04:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46269/
04:02 parthm joined #parrot
04:10 JimmyZ_ joined #parrot
04:15 GeJ I have several errors like "PackFile_unpack: This Parrot cannot read bytecode files with version 6.12." while testing after a realclean, is there something I forgot to do? Do I need to regenerate something?
04:21 bacek_at_work GeJ, just update to r46270
04:24 cotto also, reconfig
04:24 cotto nm.  just update
04:34 dalek parrot: r46270 | bacek++ | trunk/t/native_pbc (4 files):
04:34 dalek parrot: Rebuild native PBC
04:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46270/
04:34 dalek parrot: r46271 | plobsing++ | branches/pbc_frozen_strings1:
04:34 dalek parrot: branch merged
04:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46271/
04:43 LoganLK joined #parrot
04:51 dalek parrot: r46272 | petdance++ | trunk (5 files):
04:51 dalek parrot: adding headerizer macros
04:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46272/
05:01 szabgab joined #parrot
05:05 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33618), fulltest) at r46271 - Ubuntu 10.04 amd64 (gcc with --optimize)
05:22 Coke partcl-nqp's vtable overrides are not functioning.
05:24 eternaleye joined #parrot
05:24 dalek parrot: r46273 | coke++ | trunk/MANIFEST.generated:
05:24 dalek parrot: Install our new dynpmcs.
05:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46273/
05:35 Coke blargh, exceptions got renumbered.
05:40 Coke that's going to break a bunch of NQP users.
05:41 Coke (though I may be late to the party here)
05:41 Coke partcl-nqp passes 'make testj' against trunk again. whee.
05:43 dalek partcl-nqp: 5b9b672 | Coke++ | src/Partcl/commands/string.pm:
05:43 dalek partcl-nqp: update from deleted opcode.
05:43 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/5b9b67290a15af672e0135b35606e9e29de6830e
05:43 dalek partcl-nqp: 148c88f | Coke++ | src/init.pm:
05:43 dalek partcl-nqp: these are now dynpmcs, load them.
05:43 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/148c88f2c02403affec85e78b912ba248f7a24c7
05:43 dalek partcl-nqp: b973ff1 | Coke++ | src/Tcl (2 files):
05:43 dalek partcl-nqp: Post TT#389, these methods are no longer stored in the namespace. Find them explicitly.
05:43 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/b973ff1d12a1a2c5375c467715764aae4ee07cfb
05:43 dalek partcl-nqp: 2e00896 | Coke++ | build/PARROT_REVISION:
05:43 dalek partcl-nqp: Track latest parrot
05:43 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/2e008962357db7647a6c1c7b15718e716ee91ed3
05:43 dalek partcl-nqp: ec2c800 | Coke++ | src/Partcl/commands/ (2 files):
05:43 dalek partcl-nqp: Track exception renumbering.
05:43 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/ec2c800664212ebac1232941d058372d0a4e6f13
05:43 mikehh Coke: haven't done any testing on partcl-nqp - where's it at now?
05:44 mikehh ok I see
05:47 Coke needed some love after 2.3.0
05:47 Coke -> abed.
05:47 mikehh cu
05:53 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33619), fulltest) at r46273 - Ubuntu 10.04 amd64 (g++)
05:56 sorear How is super. spelled in PIR?
05:57 Austin diy
05:57 sorear How?
05:57 Austin (or have a look at kakapo)
05:57 Coke joined #parrot
05:58 sorear kakapo is NQP though.
05:59 Austin http://gitorious.net/kakapo/kak​apo/blobs/master/src/Syntax.nqp
06:04 uniejo joined #parrot
06:24 iblechbot joined #parrot
06:37 cotto dukeleto++
06:37 cotto (parrot-dev post)
06:41 aukjan joined #parrot
06:44 jsut joined #parrot
06:45 eternaleye joined #parrot
06:46 riffraff joined #parrot
06:58 moritz rakudo can't build on current parrot
06:58 moritz PMC has attributes but no auto_attrs or manual_attrs at /nocrypt-home/moritz/source/rakudo/pa​rrot_install/lib/2.3.0-devel/tools/bu​ild/../lib/Parrot/Pmc2c/PMCEmitter.pm line 746.
06:58 moritz make: *** [src/pmc/perl6_group.so] Error 255
06:59 moritz and of course it doesn't tell me which pmc
07:01 sorear that has been a warning for a long time... did it get upgraded?
07:01 moritz seems like
07:02 moritz I'm currently patching the PMC emitter to include the PMC name in the error message
07:07 moritz which one used to be the default? auto_attrs or manual_attrs?
07:07 cotto the old default is manual_attrs
07:08 cotto That's if the PMC manually allocates space for the ATTR struct.
07:09 cotto For PMCs that extend Parrot core PMCs and don't have any extra ATTRs, go with auto_attrs.
07:10 moritz I'm updating all pmcs in rakudo to manual_attrs, since it worked that way so far
07:10 moritz I'll open a ticket and ask to investigate if auto_attrs could/should be used
07:11 cotto ok.  That part of Parrot could use some smartening.
07:11 AzureStone joined #parrot
07:12 moritz ... and if I do that, rakudo segfaults while compiling the setting
07:13 sorear double malloc or no malloc
07:14 moritz no malloc, it seems
07:15 cotto MutableVAR should definitely be manual
07:15 cotto same for ObjectREF
07:16 parthm left #parrot
07:16 cotto s/EF/ef/
07:16 cotto same for p6invocation
07:16 cotto and P6LowLevelSig
07:17 cotto P6opaque should be auto
07:17 moritz most seem to cotain PMC_data(SELF) = mem_allocate_zeroed_typed(Pa​rrot_ObjectRef_attributes);
07:17 cotto same for p6role
07:17 cotto yeah.  Those should be manual
07:18 cotto Perl6MultiSub should be manual
07:18 dalek parrot: r46274 | moritz++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm:
07:18 dalek parrot: [pmc2c] mention PMC name in some of the error messages, since one call to pmc2c can process many of them
07:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46274/
07:19 moritz cotto: thanks - compiling now
07:20 cotto perl6str should be auto
07:21 sorear I tried to DIY a superclass call, but... methods don't live in namespaces anymore
07:23 cotto I need to sleep.  NotFound added the auto/manual attr stuff, so he and chromatic (among others) should know what to do if you get disoriented.
07:23 cotto night
07:23 cotto coke too, probably
07:30 moritz cotto++ # very helpful so far
07:33 eternaleye joined #parrot
07:50 fperrad joined #parrot
07:51 dalek parrot: r46275 | jimmy++ | trunk (14 files):
07:51 dalek parrot: random consting, removed unused vars, localize, etc.
07:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46275/
08:02 eternaleye joined #parrot
08:06 bacek_at_work ~~
08:06 bacek_at_work moritz, what is current policy for getting rakudo's commit bit?
08:07 moritz bacek_at_work: some measure of accepted patches, a TPF CLA and thumbs up from jnthn&pmichaud
08:07 bacek_at_work "P" in "TPF" stand for "Perl" or "Parrot"?
08:08 moritz Perl
08:08 bacek_at_work ookey.
08:08 moritz Parrot Foundation is not "The" :-)
08:08 dalek parrot: r46276 | jimmy++ | trunk/src/pmc/hash.pmc:
08:08 dalek parrot: changed SELF to STATICSELF and consting, ALL TESTs PASS
08:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46276/
08:11 sorear Why does pbc_to_exe need 402 MB of RAM?
08:30 fperrad joined #parrot
08:30 riffraff joined #parrot
08:30 iblechbot joined #parrot
08:30 JimmyZ joined #parrot
08:30 Patterner joined #parrot
08:30 chromatic joined #parrot
08:30 confound joined #parrot
08:30 alexn_org joined #parrot
08:30 dngor joined #parrot
08:30 wagle joined #parrot
08:30 treed joined #parrot
08:30 Infinoid joined #parrot
08:30 sri joined #parrot
08:30 Hunger joined #parrot
08:30 dukeleto joined #parrot
08:30 GeJ joined #parrot
08:30 silug joined #parrot
08:30 estrabd_ joined #parrot
08:30 Maddingue joined #parrot
08:30 arnsholt joined #parrot
08:30 purl joined #parrot
08:50 dalek rakudo: 961589a | moritz++ |  (10 files):
08:50 dalek rakudo: build on latest parrot
08:50 dalek rakudo: This involves
08:50 dalek rakudo:  * loading 'os' and 'file', which are now DynPMCs it seems - Coke++
08:50 dalek rakudo:  * marking all PMCs as either manual_attrs or auto_attrs - cotto++
08:50 dalek rakudo:  * bumping PARROT_REVISION
08:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​61589a0c26dc2c2adbfd552828b32c5ef4ba7b8
08:56 dalek rakudo: 168024a | moritz++ | src/pmc/objectref_pmc.template:
08:56 dalek rakudo: fix attribute specification in objectref
08:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​68024a8d366887813660a3bcf1e60ec52eb3602
09:13 dalek rakudo: e3153ad | moritz++ | perl6.pir:
09:13 dalek rakudo: rm perl6.pir since it is not used anywhere
09:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​3153adc44469dada39cbb42365baf9601817557
09:45 ruoso joined #parrot
09:46 cosimo where can I get a parrot v2.3 debian/ubuntu package?
09:50 moritz cosimo: debian unstable still seems to contain 2.0... you could download the parrot tarball and follow the instructions in docs/project/debian_packaging_guide.pod to build one
09:51 moritz cosimo: the important files should all be in ports/debian
09:51 kurahaupo joined #parrot
09:51 cosimo moritz: will do, thanks
10:02 parthm joined #parrot
10:04 fperrad_ joined #parrot
10:19 dalek parrot: r46277 | fperrad++ | trunk/runtime/parrot/library/osutils.pir:
10:19 dalek parrot: [osutils] OS is now a dynpmc, so load it (see TT#448)
10:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46277/
10:26 nopaste "bacek" at 192.168.1.3 pasted "moritz, there is small patch for auto_attrs for Rakudo." (73 lines) at http://nopaste.snit.ch/20458
10:26 bacek ~~
10:26 bacek Hello, humans.
10:26 moritz bacek: will test and push after lunch, thanks
10:35 dalek parrot: r46278 | jimmy++ | trunk/src/pmc/callcontext.pmc:
10:35 dalek parrot: random consting
10:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46278/
10:41 bacek moritz, btw, what is biggest rakudo's blocker/problem on parrot side?
10:43 aukjan joined #parrot
11:02 gaz joined #parrot
11:06 gaz_ joined #parrot
11:23 moritz bacek: currently memory
11:23 moritz bacek: and random segfaults
11:23 purl random segfaults are realy annoying :-(
11:23 bacek moritz, sigh...
11:23 moritz pbc_to_exe seems to use quite some memory
11:26 bacek I can't reproduce segfaults on my Linux/i386...
11:28 moritz bacek: if you run a 'make spectest' in rakudo, do you see no exit status of 11 at all?
11:28 bacek nope...
11:28 moritz bacek: I can give you shell access to an amd64 linux box
11:29 moritz bacek: the server will be shut down in three days, but until then you can use it for development if you want
11:29 bacek moritz, I can't work with 600ms ping :)
11:29 slavorgn joined #parrot
11:29 moritz :(
11:30 bacek We do need faster light speed :)
11:30 Infinoid don't ask me, sounds like a hardware problem
11:30 khairul joined #parrot
11:42 bkuhn joined #parrot
11:54 gaz joined #parrot
12:00 bluescreen joined #parrot
12:05 lucian joined #parrot
12:09 bacek msg chromatic I removed external_FLAG from PF_fetch_string r46279. We do need better handling of packfiles for this optimization.
12:09 purl Message for chromatic stored.
12:10 gaz joined #parrot
12:11 bacek moritz++ # Perl6/Rakudo "contribution weeks"
12:13 dalek parrot: r46279 | bacek++ | trunk/src/packfile/pf_items.c:
12:13 dalek parrot: Remove PObj_external_FLAG from PF_fetch_string. This assumption not always hold.
12:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46279/
12:15 bacek msg fperrad Can you test Lua on r46279? It should solve segfaults in t/strings
12:15 purl Message for fperrad stored.
12:17 gaz joined #parrot
12:18 parthm left #parrot
12:22 darbelo joined #parrot
12:35 nopaste "bacek" at 192.168.1.3 pasted "moritz, no single failure in latest rakudo on my box... (Bit slow anyway)" (6 lines) at http://nopaste.snit.ch/20459
12:36 Mokurai1 joined #parrot
12:36 * moritz envies bacek
12:37 bacek Sigh... I do want to reproduce your bugs...
12:37 moritz I'm getting a segfault in nearly every spectest run in t/spec/S03-junctions/autothreading.rakudo
12:38 moritz bacek: did you see the backtraces I nopasted yesterday?
12:38 bacek moritz, yes. Looks like GC-heap corruption.
12:40 bacek moritz, do you build optimized parrot?
12:40 * moritz wonders idly if we could get a hague grant for hardwware for bacek
12:40 moritz bacek: yes
12:40 bacek Oook. Let me try it
12:42 bacek And I don't need "grant for hw" :) I just don't see any real value in 64-bits on "consumer" device.
12:43 moritz my desktop PC has more RAM than you can conveniently address with 32bit
12:43 moritz for me that's a very good reason :-)
12:44 bacek it's... a reason
12:44 bacek Do you need more than 4Gigs for single app?
12:45 moritz seldom, but it happens
12:45 moritz for my last university project I did
12:45 bacek (Because linux kernel can use more than 4GB even in 32 bits mode, afaik)
12:45 bacek Sigh...
12:45 moritz and enblend can use up quite some memory if you render huge image files
12:46 bacek My first personal computer had 16 KB of RAM...
12:46 ruoso joined #parrot
12:47 bacek My last professional C++ project was XQuery. I was able to handle 1GB XML in less than 1MB of active memory :)
12:48 moritz I needed to do some heavy numerical calculations
12:49 moritz with matrices with millions to billions of non-zero entries
12:50 bacek 1GB XMLs are usually very dense :)
12:50 bacek But I see the point.
13:00 bacek moritz, can you try very latest parrot vs autothreading.rakudo? I can't reproduce any failure even with optimized build...
13:01 moritz bacek: I'm on it...
13:01 bacek moritz, r46279?
13:01 moritz yes
13:02 darbelo Unholy cow. The rakudo build is hungry resource devouring beast.
13:03 darbelo Something, somewhere needs to get more memory efficient by yesterday.
13:03 moritz darbelo: it used to be much less memory hungry
13:04 moritz and I think it's a parrot regression that it can't build in a 1GB virtual mem ulimit
13:06 darbelo Failed allocation of 31910920 bytes
13:06 darbelo Parrot VM: PANIC: Out of mem!
13:06 bacek moritz, hang on. When it happened? (I suspect compact_pool_revamp merge, but want to be sure)
13:06 darbelo OpenBSD amd64
13:07 darbelo I don't test rakudo often enough to know when it stopped building here.
13:07 moritz bacek: hard to tell... rakudo didn't build for a long time after the 2.3 release
13:09 bacek moritz, let me rebuild rakudo on .5GB ulimit.
13:09 bacek I think it should be good enough test for 32 vs 64 bits
13:09 moritz 31910920 / 1024
13:09 purl 31163.0078125
13:09 darbelo i386 *will* build on less memory.
13:10 moritz 31910920 / 1024 / 1024
13:10 purl 30.4326248168945
13:10 darbelo It's pretty much a gurantee.
13:10 bacek 32 megs is _additional_ allocation
13:11 bacek On top of currently allocated mem
13:11 bacek (building core.pm now...)
13:11 moritz yes, I understand that
13:13 bacek (core.pir built...)
13:15 darbelo moritz: OpenBSD has a hard limit of 1Gb of RAM per process.
13:16 moritz darbelo: ie it's not a computing platform
13:16 bacek It's just very good firewall/routers platform
13:16 moritz no doubt about that
13:16 darbelo All other features can be sacrificed on the altar of the tin god Security.
13:16 pmichaud seen kid51
13:16 purl kid51 was last seen on #parrot 2 days, 21 hours, 26 minutes and 3 seconds ago, saying: Those two files should have been governed by an svn:ignore property.  Committed fix in r46204.  [May  1 15:50:42 2010]
13:18 Coke pmichaud: mornin'
13:18 bacek pmichaud, aloha!
13:18 pmichaud good morning, Coke
13:19 * pmichaud needs to correct some misinformation in kid51++'s post re: YAPC
13:19 bacek moritz, successfully built in half gig...
13:19 Coke msg jimmy - why the change from SELF to STATICSELF?
13:19 purl Message for jimmy stored.
13:26 atrodo joined #parrot
13:30 darbelo Coke: jimmy goes by JimmyZ on IRC.
13:37 JimmyZ joined #parrot
13:40 dalek tracwiki: v1 | particle++ | Parrot_Virtual_Machine_Workshop_2010
13:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Parrot_Virtual​_Machine_Workshop_2010?version=1&amp;action=diff
13:43 plobsing joined #parrot
13:47 moritz bacek: still segfaults in r46279
13:47 dukeleto 'ello
13:48 Coke msg jimmyz - why the change from SELF to STATICSELF?
13:48 purl Message for jimmyz stored.
13:48 darbelo 'sup dukeleto
13:49 dalek winxed: r464 | julian.notfound++ | trunk/ (2 files):
13:49 dalek winxed: Update driver and harness to OS pmc->dynpmc
13:49 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=464
13:49 whiteknight joined #parrot
13:50 JimmyZ Coke: nevermind, I think I revert it. It make parrot slower.
13:50 JimmyZ s/I r/I will r/
13:50 Coke slower bad, typically. =-)
13:51 Coke r46280 looks suspicious to me.
13:52 dalek parrot: r46280 | gerd++ | trunk/tools/docs/filename_and_chapter.pl:
13:52 dalek parrot: fixed to work again; if the filehandle "OUT_FH" will be replaced with a variable then the script do not work
13:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46280/
13:53 JimmyZ purl: erase
13:53 purl erase is, like, borar
13:53 JimmyZ purl: how to erase?
13:53 purl JimmyZ: huh?
13:53 moritz purl: messages erase
13:53 purl moritz: sorry...
13:53 moritz purl: erase messages
13:53 purl Use "messages erase" instead.
13:53 bacek moritz, erm... I will probably install Linux/amd64 to investigate it.
13:54 particle pmichaud: thanks, i tried to do the same
13:54 JimmyZ thanks, moritz++
13:58 Andy joined #parrot
14:01 pmichaud particle++
14:01 moritz pmichaud++ # de-confusing
14:07 dalek plparrot: e6d4ab1 | (Joshua Tolley)++ | IDEAS:
14:07 dalek plparrot: Some ideas about exposing functions
14:07 dalek plparrot: review: http://github.com/leto/plparrot/commit/e​6d4ab100f0c9d5f3142c0072e98e561ae30e375
14:07 aukjan joined #parrot
14:10 dalek parrot: r46281 | mikehh++ | trunk/src/misc.c:
14:10 dalek parrot: fix codetest failure - trailing spaces
14:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46281/
14:14 JimmyZ joined #parrot
14:18 mikehh perlcritic does noy like 46280 - why does the scripty not work with $OUT_FH?
14:19 mikehh s/noy/not/
14:19 Coke I tried running 'make pdf', but it barfs all over me.
14:19 mikehh s/scripty/script/
14:20 Coke I prefer to see print {$OUT_FH} "stuff" - wonder if the () is confusing it.
14:20 moritz mikehh: try { $OUT_FH } (with curlies around the handle
14:20 Coke also, there's a 2 arg open in there that should be easily fixable.
14:21 bacek joined #parrot
14:21 * particle vomits in his mouth a little
14:22 * moritz doesn't like thoughtless use of perlcritic
14:23 * bacek doesn't like moritz...
14:23 bacek Especially after reboot and running debootstrap --arch amd64
14:24 * moritz has no problems with robots not liking him
14:24 davidfetter is there a reason to keep the 2-arg open()?
14:24 Coke Is that german for "the boot strap" ?
14:24 Coke davidfetter: no.
14:24 davidfetter i mean just generally in the language
14:25 moritz davidfetter: backward comp
14:25 moritz Coke: debian bootstrap, actually
14:25 * davidfetter thinks that's not always a *compelling* reason
14:25 pmichaud Coke:  would it be fair to say that you prefer git over svn?
14:25 Coke moritz: danke. though I hope you know I was kidding. =-)
14:26 moritz Coke: I thought so; but in the absence of a smiley I wasn't sure
14:26 Coke pmichaud: "I prefer git over svn."
14:26 pmichaud Coke:  danke
14:27 dalek parrot: r46282 | coke++ | trunk/DEPRECATED.pod:
14:27 dalek parrot: remove redundant line
14:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46282/
14:27 mikehh pmichaud: I think I do - except for revision numbers, but I think bzr is better
14:27 moritz hg also has a solution for that
14:28 moritz and git allows you to count commits since a defined point
14:29 mikehh I can always look at logs, but it is easy to see that r46282 is after r46280
14:29 pmichaud mikehh: assuming a linear commit stream, yes.  :-)
14:30 moritz mikehh: agreed
14:30 mikehh sure
14:30 Coke pmichaud: bitte
14:30 dalek plparrot: d313174 | (Joshua Tolley)++ | IDEAS:
14:30 dalek plparrot: Update based on new information
14:30 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​313174ddea7fcceaa6d72215a5757956e48c0ca
14:36 Coke bacek: can you update TT # 1540 so folks can rip things out on your behalf?
14:37 bacek Coke, I think only inout ops left.
14:37 * Coke checks.
14:37 bacek And they are tracked in separate ticket.
14:37 Coke which ticket?
14:38 bacek Your ticket!
14:38 bacek 1584
14:38 bacek It's not about ops...
14:38 Coke bacek: please note those are YOUR tickets. I only opened them to track your entries in DEprecated.pod. :P
14:38 * JimmyZ found a site whygitisbetterthanx.com :)
14:38 iblechbot joined #parrot
14:39 Coke 1584 is not about ops, right. so what ops are left for 1540?
14:39 bacek I do think only concat_s_s left
14:40 Coke concat_s_s looks like the only non-gc inout opcode left ins trings.pod
14:40 Coke er, strings.ops
14:40 bacek Yes. pin_s_s and exchange_s_s should stay
14:40 Coke ... string.ops. (*&#$
14:41 Coke excellent. I'll rip that out tonight if no one beats me to it.
14:41 bacek It will be hard...
14:42 bacek There is a _lot_ of C<.=> inside Test::More
14:42 Coke I'm sure I will find a way.
14:43 Coke (that just means no one will beat me to it. =-)
14:43 bacek We do need some kind of StringBuilder PMC before ripping it for seamless migration.
14:43 Coke bacek: we have a stringbuilder pmc. CodeString.
14:43 bacek It is not :)
14:43 Coke it is.
14:43 dalek parrot: r46283 | coke++ | trunk (2 files):
14:43 dalek parrot: Ignore directory generated by 'make pdf'
14:43 Coke (at least in the codestring branch)
14:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46283/
14:43 bacek CodeString should "has-a" StringBuilder
14:44 bacek Not "is-a" StringBuilder
14:44 Coke it has-a RSA.
14:44 Coke you don't need a SB in addition to an RSA.
14:44 bacek RSA is way too expensive.
14:44 Coke RSA.push, push, push, push; join RSA
14:45 bacek We need very-very low-level "character buffer manager" SB
14:45 bacek Without storing _a lot_ of String headers
14:46 Coke ok. we don't need that to rip out concat.
14:46 bacek E.g. for 1..1_000_000 -> { $sb.push("a") } shouldn't hold 1M string headers
14:46 Coke (and I suspect that we don't want a simple buffer. we want actual strings... at which point you might as well have a STRING.
14:46 clinton joined #parrot
14:47 Coke OK. I can see that being a legit reason to have SB not RSA - but the SB could just compact strings if number of elements was > 1000 or something.
14:47 Coke (set a max limit after which compaction must occur.)
14:48 bacek Coke, yes. It's one of possible solutions.
14:48 bacek http://groups.google.com/group/parrot-dev/b​rowse_thread/thread/669a7e18e5c3eb73?pli=1
14:48 Coke Note that CodeString compacts before marking in the branch (chromatic++)
14:49 bacek And it's bad from my POV. We create GCable during GC run...
14:49 Coke so it really isa stringbuilder (with some more smarts). I think it might be worth adding an "append" method (or even just push_*) that does what .emit() does with no %% expansion.
14:49 Coke It's evil, yes.
14:50 * dukeleto may have to fiddle with some java code for $work and shudders at the thought
14:50 Coke it's heart is in the right place, though.
14:50 Coke (that is, it's trying to reduce memory pressure.)
14:51 * bacek prefers C#'s StringBuilder API vs Java
14:51 cotto joined #parrot
14:51 dalek decnum-dynpmcs: r199 | darbelo++ | trunk/src/pmc/dec (3 files):
14:51 dalek decnum-dynpmcs: Add manual_attrs to pmcs that need it now it's not the default anymore.
14:51 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=199
14:52 ash_ joined #parrot
14:56 * bacek finally got chrootted amd64 environment
14:58 dalek unlambda: 1caed76 | fperrad++ | setup.pir:
14:58 dalek unlambda: update setup.pir
14:58 dalek unlambda: review: http://github.com/bschmalhofer/unlambda/comm​it/1caed76cc09bfd587d51cf460c82295e6d878061
14:58 dalek unlambda: e92e341 | fperrad++ | .gitignore:
14:58 dalek unlambda: update .gitignore
14:58 dalek unlambda: review: http://github.com/bschmalhofer/unlambda/comm​it/e92e341754bc404c11b8316e4651b926713bf1c0
15:01 bacek moritz, core.pir topped at 520 megs in my chrootted amd64 environment...
15:02 moritz bacek: then I'm curious about pbc_to_exe
15:04 JimmyZ_ joined #parrot
15:06 bacek "/usr/local/bin/parrot  -o perl6.pbc src/Perl6/Compiler.pir" is freaking slow...
15:07 moritz that's the step that compiles core.pir to pbc
15:07 moritz (Compiler.pir .include's core.pir)
15:07 Coke moritz: I believe chromatic mentioned that was slow in backsroll.
15:08 dalek TT #1607 created by cosimo++: [PATCH] Minor updates to the debian packaging instructions
15:08 dalek TT #1607: http://trac.parrot.org/parrot/ticket/1607
15:08 dalek TT #1608 created by cosimo++: [PATCH] Minor updates to the debian packaging instructions
15:08 dalek TT #1608: http://trac.parrot.org/parrot/ticket/1608
15:08 Coke I think it had to do with string-dedupification.
15:08 pmichaud response sent to kid51++'s message -- apologies to anyone for whom I've mischaracterized or spoken out of turn
15:09 Coke bacek: so the trickiest part of removing concat is, as you mentioned, fixing PIR's "a .= b" - I know where in IMCC this needs to change, but am wondering about string vs. PMCs here.
15:09 bacek pmichaud++
15:10 bacek Coke, that's reason why I consider to put "clean statement in docs and keep concat"
15:10 bacek Or we can introduce SB, migrate T::M into it and then remove concat_s_s
15:12 bacek moritz, yak... 1.3G for pbc_to_exe. Something is definitely wrong here.
15:12 Coke bacek: fixing .= is much more fundamental than just our stdlib.
15:12 Coke eliminating .= is way out of scope for this change, and I don't think it's necessary.
15:13 moritz bacek: and that's where the rakudo build fails with a ulimit
15:13 bacek Coke, "clean statement in docs"  :)
15:13 Coke bacek: ?
15:13 Coke I don't know what you mean by that.
15:15 bacek Coke, keep concat_s_s as is for now. Just clarify that something like "$S0 = 'foo'; $S1 = $S0; concat $S0, 'bar'" will _not_ update $S1 as in 2.3.0
15:17 darbelo "git is better than hg because of github", says github employee.
15:17 moritz darbelo: I've read that too :-)
15:17 darbelo At least he's honest about his biases.
15:18 bacek moritz, bad news... I still can't reproduce segfault...
15:18 ash_ i do like how github lets you checkout via svn now, but i still use git for everything currently
15:18 Coke note that that svn co is readonly.
15:19 Coke (as we re-discovered recently)
15:19 moritz bacek: do you have a 64bit kernel running? (I feel stupid for asking that...)
15:19 bacek moritz, of course
15:20 bacek Linux icering 2.6.32-3-amd64 #1 SMP Thu Feb 25 07:33:41 UTC 2010 x86_64 GNU/Linux
15:20 moritz bacek: I've now deleted the parrot install dir, and git clean -xdf'ed the source dir
15:20 bacek And chrooted 64bit userland
15:21 moritz in case something from the older builds was interfering
15:22 Coke pmichaud: thanks for the git commit cheatsheet. I expect someone will add branching. Remote would cover "like with svn", and then someone could local for "extra credit"
15:22 bacek omgbbq. It's almost 1:30AM again!
15:22 Coke bacek: that already doesn't work that way in parrot trunk.
15:23 Coke (or at least a really recent parrot)
15:23 bacek Coke, yes. But original deprecation was to remove this op.
15:24 bacek Coke, if we keep this op we have to declare it in docs somewhere.
15:24 Coke ok. I'd rather just remove it.
15:24 Coke I'll hack on the IMMC magic tonight.
15:24 Coke er, IMCC
15:24 bacek Coke, good luck :)
15:24 * bacek departing into bed
15:24 Coke looks like a trivial change to make it always desugar to concat_xxx instead of concat_xx - might need a little more smarts to use that only in string case.
15:25 Coke bacek: ~~
15:25 Coke sleep well, robot friend.
15:25 Coke cosimo: ping
15:25 cosimo Coke: hi
15:25 Coke cosimo: ENOPATCH
15:26 cosimo Coke: i think i posted twice, did you look at #1608 ?
15:26 Coke (if it's submitted elsewhere, a link to the debian ticket would be fine.)
15:26 Coke no, 1607.
15:26 Coke 'll kill 1607. danke.
15:26 cosimo Coke: i tried to kill it myself, but i couldn't...
15:27 Coke done.
15:27 Coke cosimo++
15:30 cosimo thanks for the quick feedback
15:33 Coke guess I should actually /read/ the patch...
15:34 Coke yah, +1
15:35 Coke applied.
15:35 purl rumour has it applied is useful
15:36 Coke one thing I miss about RT - you couldn't accidentally steal a ticket.
15:37 Coke that's 2x in the past few days I accidentally took a ticket because I didn't realize it was owned.
15:37 Coke (though owned != assigned, so that's another confusion)
15:40 dalek TT #1607 closed by coke++: [PATCH] Minor updates to the debian packaging instructions
15:40 dalek TT #1607: http://trac.parrot.org/parrot/ticket/1607
15:40 dalek TT #1608 closed by coke++: [PATCH] Minor updates to the debian packaging instructions
15:40 dalek TT #1608: http://trac.parrot.org/parrot/ticket/1608
15:49 dalek parrot: r46284 | coke++ | trunk/docs/project/debian_packaging_guide.pod:
15:49 cosimo Coke: looks like the last URL wasn't applied?
15:49 dalek parrot: Note requirements/update URL for debian packagings.
15:49 dalek parrot: Patch Courtesy cosimo++ (TT#1608)
15:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46284/
15:49 bubaflub joined #parrot
15:49 cosimo here, http://trac.parrot.org/parrot/browser/trunk/​docs/project/debian_packaging_guide.pod#L175
15:49 cosimo that link should have pointed to trac.parrot.org/...
15:49 cosimo ?
15:50 Coke argh. I did "patch -p0" <paste> and must have not gotten a full paste. :P
15:53 pmichaud in retrospect (having now run some errands), I suspect I should've just let the git-vs-svn discussion disappear on its own.
15:53 pmichaud oh well, it was a useful chance to vent a bit.  Hope kid51++ doesn't take it at all personally.
15:57 Coke you should teach that boy perl6 and throw him at the spec tests.
15:57 Coke (regarding his comment about being in maintenance mode on the perl5 stuff in the parrot repo.)
15:57 aukjan joined #parrot
15:58 theory joined #parrot
15:59 cotto_work good ~~
16:00 fedov joined #parrot
16:04 darbelo ~~?
16:04 purl rumour has it ~~ is the ambivalence operator or also called the mumble operator
16:05 darbelo A good mumble to you too, then.
16:05 dalek parrot: r46285 | coke++ | trunk/docs/project/debian_packaging_guide.pod:
16:05 dalek parrot: apply last part of patch from cosimo++
16:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46285/
16:08 * cotto_work mumbles something ambiguous at darbelo
16:09 ash_ about staplers?
16:09 cotto_work I don't know.  It was ambiguous.
16:12 * darbelo is ambibalent about the whole ambiguousness thing.
16:14 Coke ambivalent?
16:14 Coke ... of course it was.
16:14 * Coke apologizes.
16:17 darbelo Ohhhh, unlambda works.  That's unexpected.
16:20 ash_ unlambdas?
16:20 moritz just like lambdas, but not
16:20 ash_ ah
16:21 darbelo http://github.com/bschmalhofer/unlambda/
16:21 moritz http://en.wikipedia.org/wiki/Unlambda
16:22 ash_ dang, there are so many little languages out there... like bf, whitespace, etc.. hard to keep them all straight, or even know about them
16:22 darbelo We need better tracking of language projects.
16:33 Coke darbelo: ... update the wiki page that tracks language projects.
16:34 Coke http://trac.parrot.org/parrot/wiki/Languages
16:34 darbelo Coke: Should I include the ones I don't know about too?
16:35 Coke darbelo: how can anyone know the unknowable. update the wiki with stuff you know about. it's the best we can do.
16:35 cosimo finally managed to get a chroot + working deb for parrot 2.3.0 \o/
16:36 cosimo needs more work on the debian patches though...
16:36 Coke inf act, it could use some care, since there is Languages, AbandonedLanguages, and a section in Language for inactive (that itself contains active stuff) A reshuffle is in order.
16:36 moritz cosimo: please upload it somewhere
16:36 darbelo That page is up to date (as far as I know). I was bitching that there is no magic unicorn that tells me about stuff I don't know.
16:37 moritz .oO( purl? )
16:37 ash_ .o0( purl is a unicorn? )
16:37 Coke darbelo: ... ok. as long as you realize that's crazy. =-)
16:38 Coke I think anything that is building against 2.3.0 is safe to move into the active category.
16:39 darbelo Really?
16:39 darbelo "It doesn't depend on any stuff we removed" != "People keep it updated."
16:39 Coke darbelo: which, crazy?
16:40 darbelo Coke: Nah. I know I'm crazy.
16:40 Coke darbelo: the "active/inactive" column is pure WAG anyway.
16:40 cosimo moritz: I was thinking of building the amd64 version too
16:40 Coke conversely, how can anything that only builds against a pre 1.0 release be considered active?
16:40 cosimo moritz: is mentors.debian.net ok?
16:40 moritz cosimo: sure
16:41 moritz cosimo: just tell me the URL when you're done, will interest other folks too
16:41 sjn_ joined #parrot
16:45 chromatic joined #parrot
16:50 cotto_work language tracking is definitely one of the places where a wiki isn't the best solution
16:50 cotto_work There may be a trac plugin that'd make life simpler.
16:51 bubaflub left #parrot
16:51 bubaflub joined #parrot
16:52 darbelo Maybe.  But it still feels like I'm asking for flying ponies and unicorns.
16:52 cosimo moritz: uploaded to mentors right now, i386 only
16:52 tewk chromatic: what callgrind cmdline do you use?
16:53 chromatic alias cg='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes'
16:53 cotto_work cg?
16:53 purl rumour has it cg is A MAN U HOMO! or computer graphics or nvidia's GPU shader language
16:53 darbelo alias cgp='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes ./parrot'
16:53 cosimo moritz: it might destroy the universe, i'm quite new to the debian packaging stuff. tried installing it, it works
16:54 cotto_work cgp is alias cgp='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes ./parrot'
16:54 * tewk goes and writes that down so he won't have to ask again
16:54 cotto_work That's why I told purl.
16:55 darbelo tewk: put alias realias="$EDITOR ~/.aliases; . ~/.aliases"
16:56 sjn joined #parrot
16:56 darbelo into you profile and put the cgp alias into ~/.aliases
16:57 tewk darbelo: already have something like that ;)
16:57 tewk Thats were I put i
16:57 tewk t
16:57 fedov joined #parrot
16:57 darbelo tewk++ # Already being awesome.
17:01 cosimo moritz: http://people.opera.com/cosimo/perl6/lenny/
17:01 moritz cosimo: awesome, thanks
17:02 cosimo now on to rakudo
17:05 bluescreen joined #parrot
17:08 shockwave joined #parrot
17:08 Coke hey, chrome's JS engine is now /even faster/
17:08 purl Hmm.  No matches for that, Coke.
17:09 atrodo Did they use unicorns this time?
17:09 Coke cotto_work: cgp is also tools/dev/cgp, yeS?
17:09 purl okay, Coke.
17:09 * Coke ponders porting rakudo to v8.
17:09 shockwave If I have class B, which derrives from class A, and class there are both A::foo() and B::foo(), how can I call A::foo() from within B::foo() ?
17:10 cotto_work I thought it was but apparently not.
17:10 moritz I for one would welcome our new rakudo-on-v8 overlord
17:10 chromatic -1
17:10 purl -1
17:10 shockwave What about v8?
17:10 shockwave I used it before and ....
17:10 Coke v8 is chrome's JS engine.
17:10 moritz shockwave: should be working with $obj.A::foo()
17:10 moritz shockwave: provided that B inherits from A
17:11 shockwave @moritz, this is not from perl.
17:11 shockwave THis is from PIR.
17:11 moritz oh
17:11 moritz shockwave: then you need find_method on A
17:11 shockwave There is no syntax to call a base class method?
17:11 moritz $P0 = get_hll_global 'B'
17:12 moritz $P0 = find_method $P0, 'foo'
17:12 moritz your_object.$P0(args)
17:12 moritz or so
17:12 moritz no syntactic sugar I know of; it's a low level language after all
17:13 shockwave But how can that be, if B is not an instance?
17:13 shockwave Be would be the class.
17:13 shockwave B would^
17:15 shockwave moritz: Did you imply to pass 'self' for the call to 'your_object.$P0(self, rest...)'
17:16 pmichaud $P0 = get_class 'B'
17:16 pmichaud $P1 = $P0.'find_method'('foo')
17:16 pmichaud your_object.$P1(args)
17:16 moritz shockwave: listen to pmichaud++, he knows better :-)
17:16 moritz and no, no self needed
17:17 pmichaud note that you need to use the 'find_method' method of the class object instead of the find_method opcode (the opcode requires an instance of the class, not the class itself)
17:17 pmichaud if using P6object, then one can use find_method on the protoobject
17:17 pmichaud one can also do  $P1(your_object, args, ...)   to invoke the method
17:18 shockwave pmichaud: I'm not understanding something. get_class returns a non-instance.
17:18 shockwave So can I can call a method on a non-instance?
17:19 pmichaud yes, but then you're invoking methods of the Class PMC, not methods of the class itself
17:19 pmichaud $P0 = get_class 'B'
17:19 pmichaud $P0.'foo'()   # fail
17:19 pmichaud $P0.'find_method'('foo')  # succeeds, because Class PMCs understand the 'find_method' method.
17:19 pmichaud in other words, you can't invoke instance methods on the class object
17:20 pmichaud the class object is itself an instance of Class, and thus has its own methods
17:20 shockwave pmichaud, right, but think about it. If my instance already has attributes values set, how would that know which instance to call?
17:20 pmichaud I don't understand the question
17:20 pmichaud try it with variables.
17:20 shockwave pmichaud, I can see what you mentioned working with global functions.
17:21 shockwave But,
17:21 pmichaud nothing I mentioned above involves "global functions", afaik
17:21 shockwave When class instances, one needs to call methods on an instance, because that instances has internal values associated with it which the method will use when called.
17:22 shockwave Sorry about the spelling.
17:22 pmichaud right
17:22 pmichaud so one does   instance.$P1(args)
17:22 pmichaud or  $P1(instance, args)
17:22 pmichaud if you're asking "is it possible to invoke a method on a non-instance", the answer is yes.
17:23 pmichaud If you're asking "will it work", that depends on what's in the method
17:23 pmichaud if the method attempts to access an attribute that is not defined in the (non-instance) invocant, then yes, you'll get a runtime exception
17:23 shockwave I think I got it. I misread this line: your_object.$P1(args)
17:23 shockwave your_object is the existing object from which the call is being made, which in this case is self.
17:23 pmichaud doesn't have to be self, but can be in this case.
17:24 shockwave yeah.
17:24 sorear pmichaud: would it be reasonable to add closure support to PAST::Compiler?  ie :closure() on PAST::Block, if set (or set in any ancestral block) PAST::Compiler will call newclosure *before* capture_lex
17:24 shockwave Ok. I'll code it in. Thanks, pmichaud, moritz
17:24 pmichaud sorear: newclosure already calls capture_lex, it's not necessary to do both.
17:25 pmichaud sorear: short answer -- :closure() is the wrong approach.
17:27 pmichaud put another way, PAST::Compiler already has closure support, although there may be some edge cases and bugs that have to be worked out.
17:27 sorear ah. well, in that case, we'd like your advise
17:27 sorear how do you access the closure support?
17:27 pmichaud it's there by default.
17:28 pmichaud rakudo (alpha) was doing closures properly using the existing PAST::Compiler
17:28 shockwave pmichaud, that worked swell. Thanks again.
17:29 pmichaud sorear: better would be to say "here's an example that isn't working with PAST::Compiler -- how do I fix it?"
17:29 shockwave Coke, what I was saying about V8 is that I used it before.
17:30 shockwave V8 was my first choice as the scripting engine for my 3D engine, but it turned out not to be a good choice for that, for many reasons.
17:30 shockwave The most important one being the garbage collection algorithm, which would stop the world. Not good for a 3D game.
17:31 chromatic All you have to do is delay it until a level or scene change.
17:31 shockwave chromatic, you would quickly find that you will run out of memory if you do that.
17:32 chromatic Not if you're clever.
17:32 shockwave Javascript is not a good language for creating 3D engine frameworks, at least for me. I kept trying to make it do what it wasn't meant to; class hierarchies, interfaces, etc.
17:32 sorear pmichaud: my example is rakudo master.  sorry, I thought the lack of /newclosure/ in Compiler.pir was evidence of lack of support
17:32 shockwave chromatic, I'm not that clever.
17:32 * sorear afk
17:34 ash_ joined #parrot
17:34 pmichaud sorear:  PCT supports closures by allowing :pirop<newclosure> directly as well as handling any capture_lex automatically.  Where (I think) we currently run into difficulties in rakudo is that assignment now changes pointers instead of copying values (cloning subs).
17:35 pmichaud so, we have to detect when the HLL is cloning a sub and explicitly newclosure it.
17:35 pmichaud basically that means identifying all of the places where a sub is being used as an rvalue.
17:36 pmichaud or, more likely, assuming that subs are being used as rvalues until analysis can determine otherwise.  Mainly that means turning off any cloning when we have :blocktype<immediate>
17:38 ash_ pmichaud: so you know, the issue is also present in nqp, but i don't know if it needs to be addressed there or not since there are work arounds for that
17:38 pmichaud ash_: yes, nqp has the same sort of issue -- it's hard to know when a block is being used as an rvalue
17:38 pmichaud might be easier to resolve it in nqp and then adapt the solution to rakudo
17:39 ash_ http://gist.github.com/388632 kinda is what I am talking about, so you know from an example what I mean (although i think you already understand)
17:40 pmichaud my wife is having tests run today and thursday (first set of tests since she began chemotherapy treatments in April).  Based on those tests I hope to have a much better understanding of my time availability and planning for May and June.
17:40 pmichaud fixing the closure issue in NQP is likely a high-priority item for me.
17:42 ash_ i know in the #rs they wanted to talk about it, because they felt like it was a R* blocker, if your busy someone else could look into it, do you think it could be handled in NQP-rx? i thought it might be possible to find when blocks where being used as rvalues in the AST and add the appriopriate changes there
17:42 pmichaud the rakudo problem can't be handled by nqp-rx alone, no.
17:43 pmichaud and I think it's too difficult to detect when blocks are being used as rvalues.  More likely is that you have to assume it's an rvalue and then change things when it isn't.
17:44 pmichaud which might argue for a :closure attribute, but I think it's far more likely that we want  :blocktype<closure>  instead of :closure
17:45 pmichaud it's also possible that we simply want  :blocktype<declaration>  to also perform a newclosure whenever it's being used in a non-void context (which PAST already knows about as well)
17:45 pmichaud actually, that seems more likely
17:46 pmichaud it still doesn't fix the Rakudo problem, though, because Rakudo wraps all of its Parrot subs in specialized Rakudo objects
17:46 pmichaud so the thing that gets bound isn't the PAST::Block, but an object that contains a reference to a PAST::Block
17:46 PerlJam you're in a maze of twisty PAST::Blocks, all alike.
17:51 aukjan joined #parrot
17:51 mikehh joined #parrot
18:40 darbelo dukeleto: ping
18:42 dalek TT #1142 closed by mikehh++: test 12 of t/pmc/eval.t fails in testr (passes in other runcores)
18:42 dalek TT #1142: http://trac.parrot.org/parrot/ticket/1142
18:42 dalek TT #1368 closed by mikehh++: some failures with test 31 of t/op/exceptions.t
18:42 dalek TT #1368: http://trac.parrot.org/parrot/ticket/1368
18:42 dalek TT #1600 closed by mikehh++: t/pmc/resizablestringarray.t FAILS in make corevm/make coretest
18:42 dalek TT #1600: http://trac.parrot.org/parrot/ticket/1600
18:42 dukeleto darbelo: pong
18:42 * dukeleto is about to step out to the airport
18:42 dukeleto but supposedly there is free wifi there
18:42 particle i was there last night
18:43 darbelo Feel free to run out on me. It's nothing important
18:43 particle well, not at THAT airport
18:43 Tene I was there on Sunday.
18:43 Tene well, yet ANOTHER airport
18:43 particle there's free wifi in sea and den now
18:43 * dukeleto is in Ithaca, NY and is heading back to PDX
18:43 treed Really? When did DEN get the wifi?
18:43 treed I didn't notice any when I was there in January.
18:45 particle ithaca is gorges!
18:45 dukeleto particle: i bought 3 of those shirts :)
18:45 * dukeleto steps out, see y'all soon
18:45 particle treed: google sponsored it around xmas, and they kept it up.  worked yesterday, anyway
18:46 treed Oh, neat.
18:46 treed I guess I just missed it.
18:46 treed Would have liked it, too. My reception there was shit.
18:46 treed Also: Confusing ass airport.
18:46 treed Took me way too long to figure out how to get to the pickup area.
18:47 treed And then I ended up at the wrong one.
18:47 particle nice.
18:47 particle it helps i lived there 10 years ago, i know that airport well
18:47 treed Ah.
18:47 treed Yeah, now that I've figured it out, it's a bit easier
18:47 treed But at first it's like "... where do I go?"
18:48 treed SFO was also slightly confusing at first.
18:48 treed In the "Okay, so Virgin is in aisle 10... where's that?"
18:48 treed kind of way.
18:48 particle i prefer oak to sfo any day
18:48 treed I haven't been to oak yet.
18:49 treed Usually fly out of SFO. SJC sometimes.
18:49 particle sjc's mildly confusing, thanks to construction
18:49 treed Yeah.
18:49 dalek parrot: r46286 | allison++ | trunk/ports/debian (4 files):
18:49 dalek parrot: [debian] Update debian packaging files in the repository to match the ones that shipped in the 2.3 packaging.
18:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46286/
18:49 treed I was trying to find a bathroom Sunday night while waiting for luggage.
18:49 treed I ended up holding it.
18:49 treed The luggage pickup is now at the new terminal b
18:49 treed but none of the rest is open
18:49 particle ha, you have to exit baggage and head to the taxi stand
18:49 particle oh, great. even better.
18:50 treed So I saw a sign that I couldn't get to saying "Bathrooms ->"
18:50 particle there were bathrooms outside in a trailer last time i was there
18:50 treed Didn't see those.
18:54 joeri joined #parrot
19:06 mikehh bbl - in time for #ps I hope
19:09 Coke seen chromatic?
19:09 purl chromatic was last seen on #parrot 1 hours, 37 minutes and 25 seconds ago, saying: Not if you're clever.
19:11 Coke rurban++
19:14 dalek tracwiki: v26 | coke++ | GitObjections
19:14 dalek tracwiki: update point 7 based on experience in recent months.
19:14 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Git​Objections?version=26&amp;action=diff
19:30 LoganLK joined #parrot
19:35 Coke moritz: we broke rakudo again?
19:36 darbelo Coke: kind of.
19:36 moritz moritz: it compiles, if that's what you're asking
19:36 cotto_work #ps in 54
19:36 Coke coke: remember, don't talk to yourself.
19:37 Coke coke: Ok.
19:37 moritz erm, I meant Coke :-)
19:37 darbelo dukeleto: reping
19:37 dukeleto darbelo: repong
19:37 darbelo :)
19:37 kurahaupo joined #parrot
19:38 darbelo dukeleto: I want to put a link to GSoCersStartHere int th /topic once the mentors have a chance to look at it. Do you think it's worth it?
19:40 darbelo Also, are we going with the mandatory parrot.org blog? We should mention that there, the process to get one set up is different from the one to get a commit bit.
19:40 dukeleto darbelo: yes
19:40 dukeleto darbelo: yes, all GSoC students have mandatory homework of 1 blog post per week
19:40 dukeleto darbelo: for parrot gsoc students, those blog posts will be on the parrot.org blog
19:41 darbelo That means we have to tell them to get a drupal account set up (that's different from getting a Trac account).
19:41 dukeleto darbelo: that means that gsoc students have bonding period homework of getting their blog-stuff setup
19:42 dukeleto darbelo: yes. can you add that to the wiki?
19:42 darbelo I have no recollection of how mine happened last year.
19:42 dukeleto darbelo: i would also like to see at least 1 post during the bonding period as well
19:45 darbelo I *think* the process to get a parrot.org blog involved bugging Coke (or was it particle?)
19:46 particle probably coke, but i could be suede
19:46 particle swayed, even ;)
19:47 particle sending a mail to parrot-directors or parrot-dev with details will be enough reminder to get it done
19:47 Coke bah, open a trac ticket.
19:48 particle oh, yeah, i guess that works, but i don't check trac so coke will do it then :)
19:51 Coke (they'll need to create the separate account and tell me what it is.) giving them perms takes 5s - they can ping me or open a ticket, either way.
19:51 Coke emails as todos tend to get lost.
19:51 Coke irc for "DO IT NOW" is fine, though.
19:53 darbelo I'll add that to the wiki now.
19:54 particle separate account?
19:55 darbelo The Drupal and Trac credentials are separate.
19:55 darbelo Students need Trac for svn access and Drupal for the weekly blogging.
19:56 particle ah, sigh
19:56 particle we fixed that at openefs.org
19:56 particle same creds, using drupal auth for trac
19:56 darbelo That would be nice to have.
19:57 darbelo Probably too short notice now, but still nice for later.
19:57 particle yes
19:59 cotto_work very yes
19:59 cotto_work though it would be nice if my password didn't get sent to me every month
20:00 darbelo Of course, then tracspam would have potential to become drupalspam.
20:04 dukeleto I am fine with making students interact with us to get credentials
20:04 dalek tracwiki: v1 | allison++ | Rakudo_Workshop_YAPC_NA_2010
20:04 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Rakudo_Wor​kshop_YAPC_NA_2010?version=1&amp;action=diff
20:05 dukeleto I just sent an important email relating to GSoC: http://groups.google.com/group/tpf-gsoc-stu​dents/browse_thread/thread/e918a237b91423f5
20:05 dukeleto darbelo: check that out and let me know if I missed anything
20:08 darbelo dukeleto++ # It is best
20:08 darbelo to err on the side of too much quality
20:11 moritz dukeleto: two things you could add, thought they might be obvious: 1) tell your mentors about your blog, and submit it to the ironman and perlsphere feed  2) the student should insist on weekly status meetings, even if the mentor doesn't deem them important
20:12 dukeleto moritz: could you reply to that with those things and say that I have agreed with them? I am about to board a plane and will be net-less for quite a while
20:13 moritz dukeleto: I'm not even subscribed to the mailing list... I'll see what I can do
20:13 aukjan1 joined #parrot
20:13 dukeleto moritz: i can do it
20:14 dukeleto moritz: i have a few mins
20:14 dukeleto moritz: thanks for the suggestions
20:17 dukeleto ok, about to board, see y'all tomorrow-ish
20:17 moritz dukeleto++ # gsoc work
20:19 cotto_work seen khairul
20:19 purl khairul was last seen on #parrot 7 days, 15 hours, 10 minutes and 10 seconds ago, saying: thanks alot. i'll submit the cla later. have to read it first.  [Apr 27 05:09:41 2010]
20:24 allison joined #parrot
20:26 * darbelo points at http://www.parrot.org/content/wha​t-nfg-why-you-want-parrot-have-it and hopes the architect agrees.
20:27 cotto_work any reason that's not promoted to the front page?
20:27 darbelo I'm shy.
20:27 darbelo I thought it was still dalek-ported here.
20:27 moritz darbelo: don't be
20:28 bubaflub darbelo++ # good write up
20:28 allison darbelo: thanks, will take a look
20:28 darbelo Pushed to the front page.
20:28 chromatic #ps in 2
20:29 darbelo Somebody might want to make the big announcement sticky. So student blogs don't push it off the page.
20:30 dalek website: darbelo++ | What is NFG an why you want Parrot to have it.
20:30 dalek website: http://www.parrot.org/content/wha​t-nfg-why-you-want-parrot-have-it
20:34 particle dukeleto++ # gsoctitude
20:36 allison darbelo: that's a great writeup, thanks
20:37 dalek tracwiki: v3 | darbelo++ | GSoCersStartHere
20:37 dalek tracwiki: Mention that students should swarm Coke and demand he do stuff for them.
20:37 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GSoC​ersStartHere?version=3&amp;action=diff
20:37 dalek tracwiki: v1 | particle++ | Perl_6_Workshop_YAPC_NA_2010
20:37 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Perl_6_Wor​kshop_YAPC_NA_2010?version=1&amp;action=diff
20:37 darbelo I'll be posting another one of those on the current state of parrot strings later this week.
20:38 allison darbelo: it goes a bit further even than that, creating combined codepoints for combining characters that don't have them in Unicode
20:38 allison darbelo: and also fixed width character representations (you referred to it early in the post)
20:39 darbelo I tried to work that into the last paragraph, The "no exceptions bit", but my english wasn't up to the complexity of the sentences I was writing.
20:40 allison darbelo: you really did a good job of explaining some complex concepts in plain english
20:41 darbelo I don't speak any English past "plain". So I better be able to explain stuff in it ;)
20:42 smash joined #parrot
20:42 smash hello everyone
20:43 darbelo I still have trouble maintainig tone across sentences or paragraphs though.  I think it comes from borrowing too much from stuff I've read.
20:43 bubaflub darbelo: i'm curious - will the initial transformation into NFG be expensive?
20:44 darbelo bubaflub: We are trasncoding a string.  That is more expensive than not doing it.
20:44 bubaflub haha.  of course.
20:44 bubaflub and, again, this is just my imagination running wild and perhaps out of the scope of the project
20:44 bubaflub but will there be cases where we won't transcode it?
20:44 darbelo It depends on what string we are transcoding too.
20:44 bubaflub would that be an optimization? or would that just be trouble
20:45 NotFound bubaflub: Anything but plain ascii is trouble.
20:45 bubaflub i'm thinking
20:46 bubaflub would it be fair to say that class names don't need to be transcoded?
20:46 bubaflub would that save us a lot of string transcoding?
20:46 particle anything but latin-1 is trouble
20:46 darbelo NFG is a normalization on top of UCS-4.
20:46 NotFound particle: latin-1 is trouble if you use a utf8 locale.
20:47 darbelo In some cases, you don't have any work to do. The string is already in the shape you ned it to be, but we still have to check.
20:47 bubaflub darbelo: ah, of course.
20:47 bubaflub so many cases no work will need to be done
20:49 darbelo Indeed, other than a few languages ( not counting totally wrird edge cases ) NFG is just plain UCS-4
20:50 darbelo The example used in the PDD for whre NFG is needed uses "Russified" Serbo-Croat strings.
20:51 NotFound darbelo: yeah, and if you limit to english NFG is just palin ascii with 64 bit chars ;)
20:51 darbelo NotFound: Yep, that's why it's optional ;)
20:51 NotFound s/palin/plain
20:52 jrtayloriv joined #parrot
20:53 GeJ darbelo: In the second paragraph, may I suggest : s/of it's benefits/of *its* benefits/
20:55 shockwave This rant will probably fall on deaf ears, but it will probably make me feel good: I purchased "Parrot developer's guide: PIR" from Amazon. I got it about 2 hours ago, and I'm already done reading it.
20:55 shockwave My problem: It is a copy and paste from the online docs.
20:55 shockwave I was hoping to read some inside info that is NOT found on the online docs.
20:56 shockwave At least, if the book would have said that it is the online docs, I would have still bought it, since the donations go to the Parrot foundation. But, it makes no mention of that anywhere.
20:56 bubaflub shockwave: do you have a link to the product sold on amazon?
20:56 bubaflub (i wasn't aware of any official parrot book being sold, but i could be out of the loop)
20:57 shockwave bubaflub: http://www.amazon.com/dp/0977920127
20:57 bubaflub shockwave: thanks
20:57 chromatic The copyright page mentions it, but I'm not sure that's on the Amazon page.
20:59 shockwave :(
21:03 NotFound =item C<void reverse(STRING *src)> Reverse the ascii STRING C<src> in place.
21:03 NotFound This shouldn't be removed?
21:04 NotFound And trans
21:04 chromatic It's safe in an immutable STRING world, but it's really not safe in a Unicode world.
21:04 NotFound Inmutable and changed in place?
21:05 darbelo If it has "in place" on the name, it's covered by the deprecations.
21:05 chromatic Oh, it reverses its single argument in place.  That's covered by deprecation.
21:07 NotFound "trans" don't say it, but does.
21:08 darbelo Kill!
21:10 dalek tracwiki: v12 | allison++ | AllisonTasklist
21:10 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Alli​sonTasklist?version=12&amp;action=diff
21:10 dalek tracwiki: v13 | allison++ | AllisonTasklist
21:10 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Alli​sonTasklist?version=13&amp;action=diff
21:11 Coke what is reverse? a method?
21:12 Coke if it's a method on a PMC, immutable doesnt' really matter.
21:12 chromatic Yes.
21:12 chromatic It's basically a class method.
21:12 Coke you just throw out your original string and store your new string in your String.
21:12 Coke ah. I hate parrot class methods. ah well.
21:12 chromatic It takes a STRING and does not return anything.
21:12 davidfetter joined #parrot
21:16 Coke yup. I'd say that counts, though a separate ticket would have been nice.
21:16 Coke perhaps we can convert it to a non-class method that does the thing I thought was OK. =-)
21:17 NotFound Maybe what we need is a StringUtil singleton.
21:17 Coke BLARGH?
21:18 NotFound Coke: better than having method in a regular class that doesn't use the instance, IMO.
21:18 Coke my vote: either opcodes (for $S0 and or $P0) or instance methods on String (for $P0)
21:18 Coke NotFound: that's an argument against class methods, not an entirely new helper PMC that has no data.
21:19 NotFound Did we have non-class methods?
21:21 NotFound Oh, you mean like C++ static member functions.
21:21 chromatic Right.
21:22 NotFound But non static.
21:24 NotFound If reverse is reallly wanted we need a string api function to start.
21:24 Coke updated TT#1540
21:25 Coke Not every method requires a corresponding Parrot_XXX_function
21:25 NotFound (I suppose we don't want to have duplicated implementations in string.ops and in String.pmc)
21:25 darbelo The whole argument is kind of moot if you ask me. The only tests we fail after removing the method are those for the method.
21:25 Coke darbelo: since this is, if you squint, covered by TT#1540, yes, that's fine.
21:26 NotFound darbelo: giving that we can easiliy break languages without any comment on the test suite, that doesn't grant anything.
21:26 darbelo Hm. Good point.
21:26 Coke NotFound: yah, but we barely covered ourselves with the ticket.
21:27 Coke in any case, most HLLs are going to want that. +1 on rewriting it to be immutable friendly.
21:27 NotFound I'm thinking we must make deprecation warnings active by defalut, and then start adding lots.
21:27 Coke (i.e. making it operate on SELF and take no args)
21:28 Coke NotFound: the only thing that supports runtime warnings are opcodes.
21:28 Coke functions, methods, all that has to be handrolled.
21:28 NotFound Coke: not at all, we can add Parrot_warn anywhere.
21:28 chromatic We could make method warnings free-ish.
21:28 Coke NotFound: yes, handrolled.
21:29 NotFound Coke: that's why I said "start adding lots"
21:29 Coke which if fine, but as a HLL, I can tell you that's going to be REAL annoying if the new option isn't available for me to switch to. =-)
21:29 Coke which in a lot of cases, it's not. we rename stuff all the time without having the new name available first.
21:29 NotFound Coke: that's the intention, to be annoying eough to get somenone fixing.
21:29 Coke (see all these last minute string tickets before 2.3)
21:30 jrtayloriv joined #parrot
21:30 Whiteknight joined #parrot
21:30 Coke NotFound: causing our /users/ pain to force our /dev/s to do something is backwards.
21:30 Coke or wrong. I'm not sure you can flip that into a sane config.
21:30 NotFound Coke: I recommend doig that when we already have a working alternative.
21:33 NotFound Coke: the assumption is that the developer will feel the pain himself first, and fix the issue.
21:33 Coke I'm not sure how that would work. not like, say, bacek runs partcl-nqp test suite often.
21:33 Coke nor do I really expect him to.
21:34 Coke if the pain is in the own test suite, doesn't help ; we have to support the old version anyway, warnings or not.
21:35 Coke I would recommend creating a Parrot_xxx_deprecated() to wrap the warning with the appropriate check. that'll make dropping it in easy.
21:35 Coke *even* easier.
21:36 Coke I definitely agree that adding this to new things in DEP.pod is good. let's just rip out all the ones that are past due and avoid adding the warnings there, though. =-)
21:36 NotFound Yeah
21:38 darbelo http://nopaste.snit.ch/20464 is my stance on the debate.
21:39 darbelo Additions can be made later.  The ripping out is trivial.
21:43 davidfetter joined #parrot
21:43 bacek ~~
21:43 darbelo Whiteknight: DST?
21:43 purl somebody said DST was political, hence is localized all over the world. or daylight savings time or Devel::SimpleTrace or Daylight Saving Time or Direction de la Securite du Territoire ...
21:43 Whiteknight DST?
21:43 purl DST is political, hence is localized all over the world. or daylight savings time or Devel::SimpleTrace or Daylight Saving Time or Direction de la Securite du Territoire ...
21:43 bacek Good morning. humans
21:43 Coke darbelo: ... ok by me, but only because partcl isn't using that. you should check to see if rakudo is...
21:43 Whiteknight 00100100101110101010010111010, bacek
21:43 dalek tracwiki: v4 | darbelo++ | GSoCersStartHere
21:43 dalek tracwiki: Add link to the tpf-gsoc-students post by dukeleto++
21:43 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GSoC​ersStartHere?version=4&amp;action=diff
21:44 darbelo Rakudo is broken on my platform.
21:44 bacek It's 00100100101110101010010111011, Whiteknight!
21:44 darbelo Too memory hungry.
21:44 Coke darbelo: doesn't look like it is.
21:44 Coke (using reverse)
21:45 Coke darbelo: with pbc_to_exe, yes?
21:47 simcop2387 joined #parrot
21:49 darbelo Coke: Trying again after bumping my ulimit.
21:50 dalek parrot: r46287 | coke++ | trunk/DEPRECATED.pod:
21:50 dalek parrot: Try to be more helpful.
21:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46287/
21:53 darbelo Nopes, still dies on "/home/darbelo/parrot/instdir/bin/parrot  src/gen/perl6.pbc --target=pir  src/gen/core.pm > src/gen/core.pir"
21:54 bacek darbelo, try at r46288
21:55 bacek darbelo, nm... It was for pbc_to_exe
21:55 bacek darbelo, what is your current ulimit?
21:56 darbelo unlimited, but there might be other limits in place. Let me check.
21:57 darbelo Apparently, 512M is the cap for my login class.
21:57 darbelo I thought it was higher.
21:58 bacek you need about 560 for core.pir
21:58 bacek on 64 bits
21:58 darbelo It used to work on i386.
22:00 bacek It's much less on 386
22:00 bacek Something about 360 megs
22:00 darbelo I wonder where that difference comes from.
22:00 bacek Size of pointer
22:01 darbelo That much?
22:01 purl somebody said That much was certain
22:01 bacek I think so.
22:01 darbelo Wow.
22:02 Whiteknight When was the first PDS, 2008?
22:02 chromatic Double the size of PMC and STRING headers.
22:02 bacek Each PMC contains 4 pointers
22:02 chromatic Let's rip out PMC_sync()!
22:02 darbelo_ joined #parrot
22:02 bacek Which adds at least 20 bytes.
22:03 pmichaud Whiteknight: yes, November 2008
22:03 Whiteknight pmichaud++: Thanks
22:03 darbelo_ I guess I underestimated the amount of headers we generate.
22:03 chromatic I think PCT holds onto a lot of headers.
22:04 dalek winxed: r465 | julian.notfound++ | trunk/winxedst (2 files):
22:04 dalek winxed: don't use concat_s_s, use concat_s_s_s instead to avoid depend on pir sugar
22:04 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=465
22:05 chromatic bacek, let's make a branch to get rid of _synchronize, and we'll make PMCs 20% smaller.
22:05 darbelo_ Never dug too deep there, for all I know it could be holding on to the AST all the way through code generation.
22:05 chromatic I think it is.
22:05 bacek chromatic, deal :)
22:05 pmichaud ...how else would it work?  ;-)
22:06 darbelo_ Efficiently? ;)
22:06 dalek parrot: r46288 | bacek++ | trunk/tools/dev/pbc_to_exe.pir:
22:07 dalek parrot: Earely join codestring to avoid too much memory consumption in pbc_to_exe
22:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46288/
22:08 bacek chromatic, is PMC_sync deprecated already?
22:08 pmichaud I suppose we can get HLL::Compiler to drop the parse tree and ast when it's done with them.  We'd also have to eliminate any references we have from the PAST/POST nodes into the original parse tree
22:08 bacek chromatic, or, "Do we need deprecation for it"?
22:09 chromatic I'm sure we deprecated it a long time ago.
22:09 pmichaud ...which, I don't think there are (m)any, come to think of it.
22:09 darbelo_ pmichaud: That would probably help quite a bit with memory usage.
22:10 pmichaud darbelo_: well, I'm trying to think of what in PCT would be keeping track of the trees, and I'm not coming up with anything though.
22:10 pmichaud of course, just a single reference would be enough to do it.
22:10 pjcj joined #parrot
22:11 darbelo opbots: Trust me.
22:11 slavorg Ok
22:11 slavorgn Ok
22:11 pmichaud anyway, as a general rule I don't know that "keeping the ast around through code generation" would be considered out-of-the-ordinary for a dynamic language.
22:12 darbelo If it's needed, sure. If it isn't, we gain by ditching it.
22:12 pmichaud in a dynamic language you often don't know that it's needed until runtime, though.
22:13 pmichaud anyway, I'll double-check PCT and NQP and see if there are any likely places that it's keeping around unwanted references.
22:13 chromatic If it's a quick experiment to remove, we can get some sense of what's happening.
22:13 pmichaud otoh, it's very likely that it's being kept around due to uncollected contexts
22:13 pmichaud and I'm not sure there's much I can do about that yet.
22:14 pmichaud i.e., to some extent that's entirely out of PCT's hands.
22:15 chromatic What would cause uncollected contexts?
22:15 pmichaud each subroutine has a "current_ctx" reference, IIRC.
22:15 pmichaud I know you did some work on cleaning that up, but I don't remember if it's now the case that those contexts are released on subroutine exit.
22:16 chromatic Oh right, I hate that so much I forgot about it.
22:16 bacek chromatic, r46289
22:16 pmichaud if so, then the method that handles the past->post conversion still has a reference to the ast.
22:16 chromatic bacek, check the tests.
22:16 pmichaud I suppose I could try nulling out all registers on subroutine exit.
22:17 pmichaud but that seems... wrongish.
22:17 bacek chromatic, passed of course
22:17 chromatic pmichaud, that's a nasty workaround and I'm not in favor.
22:17 pmichaud me either.
22:17 chromatic bacek, that's good.  They didn't last time I tried.
22:17 pmichaud and I'm not sure it would resolve the issue anyway.
22:17 chromatic Me neither.
22:18 pmichaud anyway, I'll review the PCT and NQP code to see if there are any stray references, but I suspect it's the context code that is the culprit.
22:18 bacek darbelo, can you try r46289?
22:19 pmichaud based on this and other discussions, I'm wondering if we should revamp the whole mechanism by which we handle outer contexts to avoid the current_ctx pointer (more)
22:19 pmichaud when I last worked on it in November 2008, that wasn't really feasible  because contexts weren't normal PMCs and had their own reference counting structure
22:20 pmichaud now that they're standard PMCs, that might be emininently doable, and also solve quite a few other of our closure-related problems.
22:20 chromatic I'm not sure why we even need to close over outer contexts.  Outer lexical scopes, yes.  Outer exception handling scopes, yes.  Contexts?  I'm not sure.
22:20 darbelo bacek: Building it now...
22:20 pmichaud well, traditionally the context holds the lexicals
22:21 bacek pmichaud, (side question) Do you have any docu how to migrate oplib from PCT to NQP-rx?
22:21 pmichaud i.e., lexpads are indexes into the context's register frame
22:22 pmichaud anyway, if we just eliminated the current_ctx part of the existing Sub PMC we'd clean up a lot of crufty code.
22:22 chromatic You have to figure out which lexpad is correct, at least if you want re-entrant subs with lexicals.
22:22 chromatic But I don't think you need to close over contexts to make that work.
22:23 chromatic You can recalculate the proper lexpad index, I think.
22:23 pmichaud well, the context also holds the exception handling scopes as well, so closing over the context isn't so bad.
22:23 dalek parrot: r46289 | bacek++ | trunk (12 files):
22:23 dalek parrot: Remove PMC_sync from PMC
22:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46289/
22:23 dalek parrot: r46290 | darbelo++ | trunk (2 files):
22:23 dalek parrot: Obliterate the 'reverse' method on String PMC's.
22:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46290/
22:23 pmichaud It's trying to close using information from the (static) sub PMC instead of the current dynamic context that is a pain.
22:24 pmichaud i.e., currently capture_lex and newclosure use the current_ctx pointer from a Sub for performing the closure.  They really ought to be using the dynamic current context isntead.
22:24 chromatic There's probably a race condition in there too.
22:24 bacek darbelo, 545...
22:25 pmichaud anyway, food for thought.  but yes, I suspect the "PCT keeps the entire tree around" is really a special-case of the general "any sub that uses lexicals keeps data around" problem.
22:25 chromatic That makes sense.
22:27 mikehh tools/docs/filename_and_chapter.pl FAILs perlcritic - Bareword file handle and Two-argument "open"
22:27 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#33628), fulltest) at r46288 - Ubuntu 10.04 amd64 (gcc with --optimize)
22:28 mikehh I can't work with that 'cause I can't test it properly (don't work for me - LaTeX failures)
22:29 chromatic I'll take a look.
22:29 darbelo So close, yet so out of mem...
22:32 Coke bacek: about how many strings are in that loop that you're flatteningn codesting?
22:33 bacek Coke, 16k
22:33 bacek Coke, no, 32k
22:33 Coke bacek: 16k worth of string size, or 16k individual strigns?
22:33 darbelo bacek: http://nopaste.snit.ch/20465
22:33 bacek 32k individual strings
22:33 Coke bacek: holy (*&#$.
22:34 Coke I think if we had a codestring that collapsed itself every <N> strings or so, that would be a reasonable middle ground. neh?
22:34 bacek darbelo, looks good. Just commit it
22:34 bacek Coke, nope. We need StringBuilder :)
22:34 Coke say, 1K or so?
22:34 chromatic Rakudo tops out at 380M building for me.
22:35 Coke bacek: how are you going to keep the individual strings around without their headers?
22:35 bacek Coke, yes, 1K looks reasonable
22:35 Coke bacek: let me try that in the codestring branch.
22:35 bacek Coke, I'm not going to. "low-level character buffer"
22:35 Coke bacek: then you break concat.
22:36 Coke how do you concat two arbitrary byte buffers when one is utf8 and one is ... ... ebcidic.
22:36 Coke (or some other non obvious encoding.)
22:36 Coke transcode on .'append' ?
22:36 bacek Coke, just convert it in StringBuilder.push_string
22:37 bacek yes
22:38 Coke do we have any pmcs that have a per-instance c-level int?
22:38 Coke bacek: do you think doing the conversion and storing is faster than just doing the concat?
22:38 Coke (might be. Iunno.) as long as you keep that on the list of things to do, 'sfine.
22:39 chromatic I don't know if join at 1k is any faster than join in mark.
22:39 Coke chromatic: do you think there is a N where it'll make a difference?
22:39 Coke if so, I can write the code and then someone can tune it.
22:41 chromatic Try 256.
22:41 Coke k.
22:42 chromatic I think you'll still run into cases where join during mark is much faster.
22:42 bacek Coke, "concat" do conversion anyway (when required)
22:43 Coke chromatic: yes, but as all of us agree, coalesce during mark is evil. =-)
22:43 chromatic I don't see why it's evil, unless you're concerned that it won't get a new STRING header.
22:44 Coke is there an implication that we're creating new GC-able objects during a time when we're looking to collect? Hurm. perhaps I was conflating mark & sweep.
22:45 tewk I think join during mark is a cool idea, but you could greatly extend mark time due to allocation and copy, possibly making pause time even more unpredicatable.
22:46 chromatic You could greatly extend mark time due to having to mark lots of headers too though.
22:46 Coke is there a ulimit I should try building rakudo under? is 1G reasonable?
22:47 darbelo 512M won't work. 1G seems reasonable.
22:47 Coke (i've got 3G of real on this box plus swap)
22:47 darbelo 1G.
22:47 Coke I seem to be topping out at about a gig without setting a hard limit.
22:48 darbelo Then you don't have to do anything!
22:48 Coke schweet. also htop++
22:48 Coke dinner time. will report later.
22:56 dalek parrot: r46291 | darbelo++ | trunk (3 files):
22:56 dalek parrot: Cleanup some leftovers fo the  _Sync removal.
22:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46291/
23:00 cotto_work2 joined #parrot
23:00 cotto_work2 mibbit seems to make firefox crashy
23:01 darbelo cotto_work2: You mentioned something about the ops_pct branch being broken/unmergeable?
23:02 mikehh rakudo (e3153ad) builds on parrot r46288 - make test PASS, spectest_smolder -> #33630 (pugs r30549) PASS - Ubuntu 10.04 amd64 (gcc with --optimize)
23:02 mikehh t/spec/S05-mass/properties-general.rakudo - TODO passed:   4-6, 11-13, 544-546, 550
23:12 dalek parrot: r46292 | chromatic++ | trunk/tools/docs/filename_and_chapter.pl:
23:12 dalek parrot: [tools] Made tools/docs/filename_and_chapter.pl pass Perl::Critic tests.
23:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46292/
23:12 dalek parrot: r46293 | NotFound++ | trunk/config/auto/zlib/zlib_c.in:
23:12 dalek parrot: fix zlib checking for C++ builds
23:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46293/
23:22 tcurtis joined #parrot
23:23 dalek TT #1609 created by jkeenan++: tools/docs/filename_and_chapter.pl:  Can we make this work with our coding ...
23:23 dalek TT #1609: http://trac.parrot.org/parrot/ticket/1609
23:25 darbelo seen kid51?
23:25 purl kid51 was last seen on #parrot 3 days, 7 hours, 34 minutes and 56 seconds ago, saying: Those two files should have been governed by an svn:ignore property.  Committed fix in r46204.  [May  1 15:50:42 2010]
23:27 cotto_work istr that he's avoiding irc atm.
23:28 darbelo I think he just opened a ticket for the issues chromatic solved in r46292
23:29 cotto_work yeah
23:32 darbelo msg plobsing http://trac.parrot.org/par​rot/wiki/GSoCersStartHere could use some review from mentors, feel free to point your student there and add any data you feel is relevant.
23:32 purl Message for plobsing stored.
23:32 darbelo msg Whiteknight http://trac.parrot.org/par​rot/wiki/GSoCersStartHere could use some review from mentors, feel free to point your student there and add any data you feel is relevant.
23:32 purl Message for whiteknight stored.
23:33 Whiteknight gotcha. Will look at it soon
23:33 darbelo msg cotto http://trac.parrot.org/par​rot/wiki/GSoCersStartHere could use some review from mentors, feel free to point your student there and add any data you feel is relevant.
23:33 purl Message for cotto stored.
23:33 Coke no change on branch - it's up to 3G of resident on pbc_to_exe
23:33 darbelo msg chromatic http://trac.parrot.org/par​rot/wiki/GSoCersStartHere could use some review from mentors, feel free to point your student there and add any data you feel is relevant.
23:33 purl Message for chromatic stored.
23:33 Coke 4G...
23:33 cotto_work Mmmm.  darbelospam
23:33 darbelo msg allison http://trac.parrot.org/par​rot/wiki/GSoCersStartHere could use some review from mentors, feel free to point your student there and add any data you feel is relevant.
23:33 purl Message for allison stored.
23:33 Coke (granted, it's not been synced with trunk in a day or two)
23:34 darbelo Maybe a few of those msgs were redundant ;)
23:34 darbelo purl needs to learn about multiple recipients.
23:34 purl darbelo: excuse me?
23:34 treed darbelo: You've offended purl.
23:35 darbelo We've said worse to each other.  We have an (mis?)understanding.
23:35 cotto_work reciprocity
23:37 darbelo There he goes, adding value to the conversation. Just as I was about to call treed a bot-liker...
23:38 darbelo Now I've lost my momentum *and* have to go find a dictionary.
23:45 bubaflub joined #parrot
23:50 tcurtis Coke: can you give the required permissions for posting on parrot.org? My username there is tcurtis, as it is here and on trac.
23:51 darbelo tcurtis++ # First victim.
23:52 Coke tcurtis: done, I think.
23:53 darbelo Blog urls are of the form www.parrot.org/#username IIRC.
23:53 darbelo s/#//
23:54 Coke IWBNI if there was a way to define c-level functions in a PMC that were automatically renamed to, e.g. Parrot_Codestring__coalesce, that used C-style args like a vtable.
23:55 tcurtis I'll probably write an initial blog post either tonight or tomorrow.
23:56 Coke (I hesitate to make a method for something that's basically just a helper function.)
23:56 darbelo Coke: You, can just use helper functions...
23:57 Coke yes, I just want sugar.
23:58 darbelo Oh. Totally misread that.
23:58 darbelo Sorry.

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

Parrot | source cross referenced