Parrot Sketch: Aug 22

jesse on 2005-10-03T19:49:50

13:14 -!- autrijus [~autrijus@220-132-132-105.HINET-IP.hinet.net] has joined #parrotsketch 13:14 due in 1hr? 13:15 obra: hi, btw. 13:45 -!- Nicholas [~nwc10@colon.colondot.net] has joined #parrotsketch 13:47 greetings Nicholas-san 13:48 hello 13:48 I'm finally finishing up gruesome $work tomorrow. 13:48 so less workload and more time for pugs. 13:49 and less AIX? 13:49 and less AIX. parsec + catalyst proved to be a very effective combination of manipulexity and whipuptitude. 13:49 I just feel shattered 13:49 with sqlite3 being the common interchange. 13:49 candice (blech's wife) noticed this afternoon 13:49 shattered how? 13:49 I think I need a break. Er, I know I need a break 13:49 tired. burnt out 13:49 ^C 13:49 I just need to coax Mark into agreeing 13:50 problem is he seems shattered 13:50 he went home with a cough 13:50 oh. you may need ^\ then. 13:50 but he was ill on Friday with a massive headache 13:50 and he's not been seeming very with it recently 13:50 yow. 13:52 this neko thing helped me put things in perspective. 13:52 in what way? It's another VM, isn't it? 13:52 aye, but one with less maturity and forethought 13:53 oh ah right. How so? 13:53 I'm also playing with YARV. 13:53 well, the author thinks neko is a much higher level vm than parrot 13:53 mostly because PIR doesn't handle nested expressions and neko's does. 13:53 -!- leo_ [~lt@ts3-126.twistspace.com] has joined #parrotsketch 13:53 a small matter of a parser? 13:54 hm, not really, because you need an internal language too. 13:54 the rumoured past thing 13:54 -!- mdiep_ [~mdiep@cpe-24-194-223-228.nycap.res.rr.com] has joined #parrotsketch 13:54 which the python guys said they are working on... 13:54 (hi, leo_, mdiep_) 13:54 hi all 13:54 hello 13:55 idly chattering about this neko thing 13:55 and how it helped me put things back to perspective (to parrot's advantage) :) 13:56 hm. we still have 5mins to go till the meetings starts 13:56 obra: you there? 13:57 <@obra> hi 13:57 <@obra> <- Just arrived at the airport 13:57 *At* the airport? 13:57 <@obra> Yes. 13:57 you're flying out somewhere else? 13:57 <@obra> I've staked out a table in the food court. 13:57 <@obra> I'm on my way home from foo 13:58 obra: foo fun? 13:58 ah oh right. I'd actually assumed that you flew back last night 13:58 clearly not. THere isa post foo party? 13:58 -!- chromatic [~chromatic@sub17-30.member.dsl-only.net] has joined #parrotsketch 13:58 <@obra> Yes. me and a soft bed with a pillow in a hotel room. 13:58 <@obra> It was a great party. I slept through the whole thing ;) 14:01 <@obra> So anyway, Hello everyone. 14:01 Bonjour. 14:01 <@obra> Patrick is travelling for work. And chip is in the middle of an unemployemnt hearing. 14:01 <@obra> But both assure me that they'll be here to hassle next week. 14:01 w.r.t. old employer? 14:01 <@obra> Nicholas: yes. 14:01 -!- #parrotske chromatic H 1 ~chromatic@sub17-30.member.dsl-only.net [chromatic] 14:01 -!- #parrotske obra H@ 0 ~jesse@69.25.201.132 [Jesse] 14:01 -!- #parrotske mdiep_ H 1 ~mdiep@cpe-24-194-223-228.nycap.res.rr.com [Matt Diephouse] 14:01 -!- #parrotske leo_ H 1 ~lt@ts3-126.twistspace.com [Leopold Toetsch] 14:01 -!- #parrotske Nicholas H 1 ~nwc10@colon.colondot.net [Nicholas Clark] 14:01 -!- #parrotske autrijus H 1 ~autrijus@220-132-132-105.HINET-IP.hinet.net [Autrijus Tang] 14:01 -!- End of /WHO list 14:02 Good (I think/hope) as I'd hope it ought to move things onwards. However, that's really sort of off topic 14:03 so. topics? 14:03 <@obra> So, I guess the thing to do is to run this sort of like the design meetings. Everybody gets a chance to describe what they've been up to for the past week or so and raise issues they're running into. 14:04 <@obra> Then a general "other business" section. 14:04 <@obra> Somebody, usually me or chromatic will moderate. 14:04 <@obra> I'll take it for today ;) 14:04 * chromatic naps 14:05 <@obra> If there's anything that you need to tell someone here that's not fit for public consumption, it should probably _not_ be done as part of the meeting proper where everyone can see it. 14:05 <@obra> If any of the ground rules I'm laying out feel not-ok to someone, bring them up with me and we'll figure out how to fix it. 14:05 <@obra> So. Who wants to go first? 14:06 roll a 1d4? 14:06 <@obra> I pick...Nicholas 14:06 <@obra> How's the Ponie? 14:06 very little has happened in the past 2 weeks. 14:06 @work, and that hasn't progressed much either. 14:07 <@obra> Aside from work pressure, what's ponie currently stalled out on? 14:07 I have some specific questions I asked to p6i some time ago, that Leo partly answered, but I think we're waitng on the great designer to comment. And he's probably synthesising designs in his head 14:08 The only other specific thing is that I'd like to find some way to make the DOD registry code accessible, so that I can make a PMC (or somesuch) that shares most of the implementation with it, but has 1 additional feature - let you read the "reference" count. 14:08 For ponie to track perl's reference counts. (All reference counts currently, external XS code reference counts only in the long term) 14:08 What's the minimal design of the DOD registry that you need to make this work? 14:08 <@obra> (Other people should feel free to jump in and ask or answer questions during a report, so long as you're not cutting off the speaker. If it gets too off track, I'll say something) 14:09 It's a technical "I can't see how to refactor dod_register_pmc and dod_unregister_pmc (in pmc.c in parrot) 14:09 Nicholas: interface Parrot_get_dod_registry_hash() 14:09 cleanly, so that the current code can keep on using interpreter->DOD_registry 14:10 leo_: where is that? 14:10 tbd 14:10 but should be enough 14:10 OK. I'd sort of assumed that I was doing it 14:10 OK. BUt the next bit is that I'm not quite sure of the best (PMC) interface to hang on it. 14:11 niggly detail. I was going to ask Norman today at work, but we he was abducted by meetings 14:11 How much of the Ponie code needs to touch the interface? 14:11 it's a Hash PMC, which has all the access vtables 14:12 (except that the hash keys are PMC addresses) 14:12 The Ponie code wants to be able to register and unregister PMCs into a hash tracking the number of registers/unregisters. But in a different PMC 14:13 Can you do all of this from a single place in Ponie code? 14:13 so time for a new IdHash PMC? 14:13 Or at least behind a single macro? 14:13 leo: I think yes. 14:13 chromatic: yes, it's all going to sit behind SvREFCNT_inc and SvREFCNT_dec and SvREFCNT 14:13 ok - select a proper name and I hack it in 14:13 leo: gah. yhou would leave *me* with the hard problem :-) 14:14 *g* 14:14 I say go for the simplest, easiest to implement interface right now and make it nicer if and when it needs to be nicer. 14:14 the interface is already there see also classes/hash.pmc 14:14 I agree. But I wasn't sure what vtables I had access to quickly pass in PMCs as keys. 14:15 get_pmc_keyed, set_pmc_keyed 14:15 ah. OK. D'oh. yes. takes a PMC 14:15 both take a PMC - the address will be they key 14:15 leo_: but wouldn't it just serialize the key PMC with VTABLE_get_string? 14:16 yes - therefore we need a new hash class 14:16 and iirc p5 PMCs doesn't stringify to their addresse 14:16 <@obra> (Is this productive? Should we keep going on reports or finish this off?) 14:17 I think it's done - 'IdHash' 14:17 <@obra> Cool. 14:17 <@obra> Nicholas: anything else, before I pick on someone else? 14:17 I think it's done 14:17 or 'NickHash' ? 14:17 I can't think of anything else for this week 14:17 <@obra> Ok. 14:18 leo_: PtrHash 14:18 ;) 14:18 Sorry for going on a bit 14:18 <@obra> mdiep_: What have you been up to? 14:19 -!- mdiep_ [~mdiep@cpe-24-194-223-228.nycap.res.rr.com] 14:19 -!- ircname : Matt Diephouse 14:19 -!- channels : #parrotsketch 14:19 -!- server : irc.hellyeah.org [Sporks flying from the west.] 14:19 -!- End of WHOIS 14:19 ParTcl's moving along pretty well. I've been rewriting the support for Tcl's [expr] command. 14:19 but 14:19 I have some issues coming up wrt different conventions 14:20 for instance, the proper way to store the list of exportable/imported commands in different namespaces. (basically, how do we storethe info we need in a way that doesn't eliminate interoperability?) 14:21 chip suggested I investigate different languages and come up with a proposal 14:21 mm link sets. 14:21 <@obra> Is that turning out to be doable? 14:21 obra: allowing interoperability? I don't know 14:22 <@obra> I was actually talking about the survey ;) 14:22 obra: ah. :-) it should get done in the next 2 weeks, I hope. 14:22 <@obra> Cool. 14:22 mdiep_: this is a nice collection of module/export theories: http://readscheme.org/modules/ 14:23 <@obra> Anything else exciting going on in your ParTcl/parrot hacking? 14:24 I think that's it at the moment. 14:25 <@obra> Ok. 14:25 <@obra> Autrijus? 14:25 well, there's more action on p5/js/hs than on pir 14:25 I'll pick the relevant to parrot parts 14:26 we've been working on rationalizing the lexical pad and related semantics 14:26 previously I found parrot's lexpad implementation to be unworkable 14:26 and leo mentioned it'd better be scrapped off and replaced with a directly-point-to-registers scheme on a variable sized registerframe 14:27 yep 14:27 the current design hoists lexical pad off each closure entry 14:28 so essentially { ...; my $a; ... } lifts $a to top. similarily, "... ; sub foo; ... " lifts "our &foo" to package entry, which isa closure 14:28 however, chip said he'd like to work out an alternate lexical var declaration design 14:29 so inner blocks won't need become full closures 14:29 since that will affect pir surface syntax, I'd need the general design idea before progressing forward 14:29 but no information on that front yet 14:29 however, is it any more than an optimisation in terms of what gets created? 14:29 and the varreg frame code is iirc also not yet checked in, so currently we're a bit stalled. 14:30 (since the last p6-pir spike stopped on the general brokenness of lexical pads) 14:30 -!- #parrotske chromatic H 1 ~chromatic@sub17-30.member.dsl-only.net [chromatic] 14:30 -!- #parrotske obra H@ 0 ~jesse@69.25.201.132 [Jesse] 14:30 -!- #parrotske mdiep_ H 1 ~mdiep@cpe-24-194-223-228.nycap.res.rr.com [Matt Diephouse] 14:30 -!- #parrotske leo_ H 1 ~lt@ts3-126.twistspace.com [Leopold Toetsch] 14:30 -!- #parrotske Nicholas H 1 ~nwc10@colon.colondot.net [Nicholas Clark] 14:30 -!- #parrotske autrijus H 1 ~autrijus@220-132-132-105.HINET-IP.hinet.net [Autrijus Tang] 14:30 -!- End of /WHO list 14:30 <@obra> *nod* 14:30 <@obra> Anything else? 14:31 Nicholas: yes, but chip notes that (if {}) and (for {}) creating closures is suboptimal 14:31 but it's currently the only way it can work in pir that I know of. so he said he'd improve it 14:31 In P6 or Parrot? 14:31 chromatic: in parrot. p6 is just this syntax thing :) 14:32 chromatic: currently I have &statement: dispatching into closures. 14:32 (as the spec demands, in a naive implementation) 14:32 he'd like to labelify it or something, but also have lexicals hangable onto labels. 14:32 but since chip's not here, not much point digressing further :) 14:33 how sweet. a 30 second ADSL outage that then buggers this ssh connection. 14:33 ok. in other news, Devel::TypeCheck is fun, I'm working on doing the same for PIL2, and I wonder if PIR can be subjected to a similar treatment. 14:34 I'll post to my journal and p6[ic] as usual when I have concrete results. 14:34 <@obra> Very neat. 14:35 nothing much else wrt parrot. the short term focus is getting p6 compiled to p5 and work with native p5 objects in reasonable speed. 14:35 end of briefing 14:35 <@obra> Leo, what have you been up to of late? 14:35 first the two google SoC folks 14:36 Curtis Rawls is working on imcc & optimizations 14:36 we have also specced a plan to get register allocation running for the new scheme 14:37 the other guy is Nattfood - Alexandre Buisse 14:37 working on a generational mark & compact GC scheme 14:38 this is a real hard job as this also introduces variable sice PMC bodies 14:38 AFAIK now make test passes almost again 14:38 <@obra> *nod* I'm impressed that students are able to handle things like this over a summer. 14:39 yeah, it was a bit a slow start with Nattfood but now he is doing well 14:39 I'm mainly waiting for Chips approval of mergin branches/leo-ctx5 back to trunk 14:40 and braining the hacks thereafter 14:40 <@obra> "braining"? 14:40 i.e. variable siced register frames, lexicals, ... 14:40 pondering 14:40 <@obra> *nod* 14:41 that's it 14:41 How scary is the merge? 14:42 It'll be not a real merge as I've merged all from trunk into the branch 14:42 tcl needs some work then an py*.pmcs 14:42 <@obra> Are you suing svk? 14:42 <@obra> using. 14:42 tewk is working on the latter 14:42 no svn 14:42 <@obra> *nod* 14:43 <@obra> That makes the merge case much less trivial. 14:43 coke and I will be jumping on the tcl work as soon as the code is merged. 14:44 <@obra> Ok. Chromatic, anything perpl6/parroty from your end? 14:44 obra: well, if it's simpler with svk someone with svk can merge it 14:45 I added test_pass() and test_fail() to Test::Builder::Tester in both Parrot and Perl 6. That should make testing test modules easier. 14:45 I have some draft code for Test::More in Perl 6, but I ran into a design issue from my side that I want to think through a little bit more. 14:46 The only other bit of Perl 6 I'm waiting for is metamodel visibility so I can do introspection on method attributes, which will allow me to write Test::Class. 14:47 chromatic: MM visib as in .meta ? 14:47 Specifically being able to inspect traits on methods. 14:47 you willing to work with runjs/runp5 instead of the default runhs? 14:47 method test_ctor is test(4) { ... }; 14:48 I could work with runp5 for now. 14:48 ok. so you need a "test" role 14:48 and we need parse and gen support for trait_auxiliary:is 14:48 that's all, right? 14:49 Pretty much. 14:49 can you write out the test role and check it in to ext as an example? 14:49 that way people are better motivated to make things pass 14:49 Not without some research. Is there another good example of the syntax somewhere? 14:50 I see a t/oo/traits/basic.t and a t/oo/traits/parameterized.t 14:50 but really all my knowledge comes from s12. 14:50 Mine too. 14:50 I understand how to use it, but not the ideas behind how to write it. 14:51 oh! but I suppose that was your fault? 14:51 I mean the entire role/trait/mixin thing 14:51 <@obra> So. We've got about 10 more minutes. Is there anything else that needs to get addressed this week? 14:51 Roles yes, traits no. 14:51 chromatic: ok. see if the two .t in traits is sane, and mockup it with T::C 14:51 and I'll try to work with putter, fglock, stevan et al to get it running on runp5 14:52 Thanks. 14:52 np. you are the most demanding motivation for most 6.28.0 features :) 14:53 With Test::Class, we can write LambdaCamelMoo, so that's really important. 14:53 "Moo" ? 14:54 Like a Mud, but more cow. 14:54 Moo, as in unix. 14:54 <@obra> So. With luck, next week, we'll have patrick and chip around and all of the "questions for the designer" can be thrown at him :) 14:54 in one hour :-) 14:54 although I'm not sure what my connectivity will be like, as I'm in Braga 14:54 <@obra> I hope this is/ends up being useful for you guys. If it turns out to be a hassle or just not useful, please do say so. 14:55 yeah, I'd love to see the code of the s/r parser pm demo'ed in oscon. 14:55 <@obra> leo_: we can help you configure an IRC client to stream questions as fast as your ISDN can carry them. 14:55 getting an hour with chip every week should help. :-) 14:55 obra: np I got DSL already 14:55 obra: leo is enjoying pervasive wireless. 14:56 <@obra> leo_: nice. then it's a matter of not getting the IRC server to boot you for flooding. 14:56 <@obra> I should run along and find food before my flight. anything else before I go? 14:56 <@obra> Does someone want to mail out the irc log to the whole CC list (Which I'll get robert to turn into a real list) 14:56 they don't give you food on your flight? :-( 14:56 obra: thanks for organizing the meeting 14:57 <@obra> np. 14:57 <@obra> Nicholas: not in coach anymore. 14:57 <@obra> Nicholas: if I manage an upgrade, I get very good food, though 14:57 http://autrijus.org/tmp/ps0.log 14:57 <@obra> autrijus: thanks 14:57 interesting. They've learned tricks from the budget airlines 14:57 and yes, thanks for herding everyone to this meeting 14:58 either that or you're flying B.A. :-) 14:58 <@obra> If it helps, I'll be happy. My "job" is to listen to people tell me what's making it hard for them to create parrot/perl6/etc and then make those obstacles disappear. 14:59 autrijus: you mentioned Neko at the beginning - and influences on p6/parrot 14:59 * obra -> gone. *wave* 14:59 * mdiep_ -> also gone. 15:01 -!- chromatic [~chromatic@sub17-30.member.dsl-only.net] has quit [Quit: (lunch)] 15:01 leo_: back to #parrot 15:02 ok