Day changed to 12 Sep 2005
13:25 -!- autrijus [~autrijus@220-133-92-49.HINET-IP.hinet.net] has joined #parrotsketch
13:43 meeting in 17min?
13:43 <@obra> hai
13:44 <@obra> (hi)
13:47 []
13:47 I've recovered from brain and HD burnout
13:47 that wasn't fun :)
13:49 <@obra> I can believe it :/
13:49 -!- Nicholas [~nwc10@colon.colondot.net] has joined #parrotsketch
13:49 greetings Nicholas-san
13:50 Hello
13:50 -!- leo_ [~lt@ts3-126.twistspace.com] has joined #parrotsketch
13:50 <@obra> Hi leo.
13:51 hi all, hi jesse
13:57 -!- chromatic [~chromatic@sub17-30.member.dsl-only.net] has joined #parrotsketch
13:57 -!- allison [~allison@sub17-30.member.dsl-only.net] has joined #parrotsketch
13:59 You copied my hostname!!
13:59 who, me?
13:59 how strange ;)
14:00 "She's in your house. GET OUT NOW!!"
14:00 :)
14:00 greetings :)
14:01 salutations
14:01 <@obra> Afternoon, kids.
14:01 Jesse, have you talked to Josh McAdams about doing an interview for Perlcast?
14:03 <@obra> chromatic: he talked to me at oscon, but we never managed to find the time.
14:03 likewise I never managed to find the time
14:03 obra: thanks for sending me the meeting reminder so I won't come to an empty channel with a 24 hours delta again :)
14:04 He's going to do an RT book giveaway, so now might be a good time.
14:04 <@obra> so. I've pinged chip. I don't know if we'll get him today, but let's give him a moment
14:04 <@obra> chromatic: oh, cool
14:04 at least in part because I asked him to wait until after I'd done the ponie talk
14:04 <@obra> what's his email?
14:04 perlcast@gmail.com
14:04 obra: ambigous "he" :-)
14:04 -!- chip [~chip@ts3-126.twistspace.com] has joined #parrotsketch
14:04 Hey al
14:04 hey
14:05 er, "Hey all". but "al" works too
14:05 yeah, I figured
14:05 hi chip
14:05 <@obra> heya chip
14:06 hi leo
14:06 thanks for the ping Jesse
14:06 -!- pmichaud [~chatzilla@c-24-1-26-255.hsd1.tx.comcast.net] has joined #parrotsketch
14:06 <@obra> no worries.
14:06 <@obra> hey patrick
14:06 greetings
14:06 meatspace move is progressing: just minutes ago, a forklift put three crates of many of my worldly belongings on a truck and drove away with it
14:07 The right forklift, or some well-equipped thief?
14:07 <@obra> We'll give the last straggler another minute or two and get started
14:08 chromatic: I'm betting he's legit .. or else he hit another customer of doortodoor.com before he got to me
14:10 I wish *my* mascot were a forklift puppet...
14:10 * pmichaud makes note of the size of chip's bet
14:10 <@obra> Right then.
14:11 <@obra> Time to hassle y'all
14:11 -!- #parrotske pmichaud H 1 ~chatzilla@c-24-1-26-255.hsd1.tx.comcast.net [New Now Know How]
14:11 -!- #parrotske obra H@ 0 ~jesse@69.25.201.132 [Jesse]
14:11 -!- #parrotske chip H 0 ~chip@ts3-126.twistspace.com [Chip Salzenberg]
14:11 -!- #parrotske allison H 2 ~allison@sub17-30.member.dsl-only.net [Allison Randal]
14:11 -!- #parrotske chromatic H 2 ~chromatic@sub17-30.member.dsl-only.net [chromatic]
14:11 -!- #parrotske leo_ H 0 ~lt@ts3-126.twistspace.com [Leopold Toetsch]
14:11 -!- #parrotske Nicholas H 2 ~nwc10@colon.colondot.net [Nicholas Clark]
14:11 -!- #parrotske autrijus H 1 ~autrijus@220-133-92-49.HINET-IP.hinet.net [Autrijus Tang]
14:11 -!- End of /WHO list
14:11 * chip girds his grid for a big one
14:11 <@obra> so. Patrick, you're sorting first in my "/who"
14:11 <@obra> What's new and exciting?
14:11 "no, not me first!" "Oh, alright"
14:12 Not much exciting here to report; I've been mostly reading up on tree transformation ideas and thinking about how they may integrate into PGE
14:12 I'll be back to bits and code tomorrow morning
14:13 expect various checkins then, as well as some new tests :-)
14:13 <@obra> Anyone else poking at PGE these days?
14:13 me
14:13 <@obra> I haven't actually looked at the milestones doc in a while. Are there updates?
14:13 Mainly Will Coleda (Coke),and apparently allison :-)
14:14 I still owe you updates to the milestones doc, yes. In fact, I need to re-review the latest changes to syn/apo/exe
14:14 and we *really* need an update to S05, I fear
14:14 <@obra> What does it need to spec?
14:14 afaik S05 still doesn't cover the correct capturing semantics
14:15 <@obra> I seem to recall seeing the updates go by in mail though, right?
14:15 <@obra> just not in the form of doc patches.
14:15 pmichaud: this? http://www.nntp.perl.org/group/perl.perl6.language/20985
14:15 there's the doc that damian put together, but it's a bit long
14:15 yes, that one
14:16 I think it's still correct
14:16 just $1 needs to be $0 et cetera
14:16 larry's been maintaining the synopses, lately
14:16 right, and it probably belongs in S05
14:16 but he's not the only one
14:16 a copy+paste maybe?
14:16 patrick should have commit access them as well
14:16 -!- mdiep [~matt@bursley-221-209.reshall.umich.edu] has joined #parrotsketch
14:17 I have commit access, yes -- what I've lacked is tuits to do the updating :)
14:17 mdiep: greetings
14:17 greetings.
14:17 it could be a copy+paste, but somehow that "feels wrong"
14:17 need an updating intern
14:17 it's, I'd think, better than leaving the old incorrect version around
14:17 yeah, the incorrect version is buggin me, which is why I'm thinking of taking some time to fix it
14:18 yeah, the policy is to annotate the A's and E's, and update the S's
14:18 damian had said he would work on it, but I'm guessing it fell off his radar screen (no wonder) :-)
14:18 jesse, want to ping him and see if we can still get him to do it? he's probably best
14:19 <@obra> allison: will do.
14:19 <@obra> ok. anything else on your end, patrick?
14:19 that would be great with me. Other than that I'm just waiting to see what ends up happening with parrot parameter passing
14:19 (it's possible something happened and I "missed it" last weekend)
14:19 <@obra> well, chip is next on my list
14:19 <@obra> so that's a nice transition.
14:19 <@obra> chip! what's up? [with parrot parameter passing]
14:20 Well.
14:20 I reviewed Leo's branch, and most of it looked great, including the parameter passing semantics around invocants.
14:21 Leo responded to my review, but I haven't had time to respond until today, what with meatspace move.
14:21 (Stay up until 3, wake up at 7, disassemble the bed you slept on ... glad that part is over)
14:22 I think the parameter passing will reach stability shortly after the merge.
14:22 chip: so, hopefully not OT - is the plan to ship 0.2.4 based on leo-ctx5?
14:22 Named parameters are off the TODO list
14:23 autrijus: That's the plan, yes
14:23 great. I'll line up the PIR testing and version req here then.
14:23 <@obra> they're off the todo list in that they're done or that they're not to be done?
14:24 The latter. I like the idea that Perl 6's Pair handling might in the end be less magical in parameter passing than we've feared, but it's still not looking like there's enough common ground with Python to make Parrot the right place to find
common ground
14:25 <@obra> Ok.
14:25 <@obra> Anything else up, besides the move?
14:26 Nope. Day job is still fun and Parrot-friendly.
14:26 (not parrot-funding-friendly, but non-parrot-hostile, let's say)
14:27 <@obra> and presumably not parrot-using-friendly.
14:27 Cloudmark is actually a mostly C/C++ shop. Which, given that Perl is a huge C program, has left me feeling right at home.
14:28 I don't expect them to be Parrot users and frankly, given Decision Plus, I think that's a good change
14:28 <@obra> *nod*
14:28 (at least, not users of parrot for its own sake)
14:28 <@obra> Ok. Next on my list is allison, if that's all for your reporty part.
14:28 <@obra> There will be question time after reports ;)
14:29 yes
14:30 over the weekend I started hacking together an AST for Punie, on the principle that I'll have a much better feel for how to write up the spec if I'm also working on an implementation of sorts
14:30 I haven't released the parrot compiler tools architecture plan yet
14:30 it's still pretty rough
14:30 probably time to branch out in my sources for comments though
14:31 would like autrijus' eyes, and anyone he suggests
14:31 url? :)
14:31 none yet
14:32 nod. bounce me a copy then?
14:32 after I fill in some blanks (especially in the PGE description), will put on list, but if I can email it to you before then and get comments would be a good start
14:32 yupt
14:32 I don't know what's in it, so it's hard to recommend sources
14:32 yup, that is
14:32 so, read first, then suggest?
14:32 yup.
14:33 <@obra> is punie in public svn?
14:33 in parrot/languages/punie
14:33 obra: http://svn.perl.org/parrot/branches/leo-ctx5/languages/punie/
14:34 <@obra> ah. very cool
14:34 <@obra> anything else new, allison?
14:34 that's all from the implementation side
14:35 so, I guess that's all that's on topic. back to you
14:35 <@obra> chromatic?
14:36 Nothing here. I'm on vacation.
14:37 <@obra> Nice
14:37 <@obra> leo?
14:37 not much to report
14:37 back in Austria, I caught a cold with heavy sneezing
14:37 <@obra> :/ Sorry to hear it.
14:37 I prefer .pt :-)
14:38 <@obra> .pt was quite nice, though I totally failed to find a hotsprings I could visit.
14:38 anyway, I'm running at 30% or so
14:38 finished Google SoC final reports
14:38 both guys passed
14:38 leo_: sorry about that ... actually I didn't mention that I had a bad cold too last week. Maybe I gave it to you
14:39 we didn't mail much :-)
14:39 leo: that's good news on SoC
14:39 yup
14:39 then I fixed the bug in my branch that was bothering mainly TCL
14:40 a :slurpy got promoted to :flatten, if the same var was used in a call
14:40 tcl is now passing 98% of tests
14:40 (or even more as Coke is working on it)
14:40 err, tcl is now passing 100% of tests, actually
14:40 way cool
14:41 <@obra> Wow.
14:41 that's all from here
14:41 <@obra> Nicholas: what's up? (as much as I want to go out of order and hear about tcl)
14:41 I have questions for the question bit, and a little to report
14:42 as mailed last week, after a big push last Monday I got the reference counting PMC Leo wrote to work
14:42 "my brane hurts"
14:43 <@obra> very cool
14:43 this has the side effect of slowing ponie down. Which isn't surprising, given that all reference count checks are now a hash lookup. This will go *when* reference counting is dropped in favour of regular Parrot GC wherever possible
14:43 however, looking at the code that this other me wrote 6+ months ago I find that there's also already a(nother) hash of all allocated live SV heads
14:44 to cope with the problem that perl 5 expects to be able to access perl 5 SV heads after it's dropped the reference count to zero
14:44 (ie when I switched to directly malloc()ing them rather than puling them from arenas, I couldn't free() them at the point that the reference count hits zero)
14:45 I'm not sure if this hash can go (yet), because after some pain I found I needed to be able to code it to be able to "delete" things from it while iterating over it (for Perl 5 global destruction)
14:45 so I'm a bit stuck
14:45 does the parrot has have the property that you can delete from it midway through iteration?
14:45 [or is that a question for the question section?]
14:45 the parrot hash, you mean?
14:46 yes, I mean that
14:46 I can't type this fast, I guess
14:46 this should be safe, as hashes don't shrink
14:47 OK. You couldn't do it on perl 5 hashes, or the thread clone pointer table hash (which is what I used) because hash elements are allocated and freed
14:47 however, there is still the big mess of quite what "owns" a refernece count, and what just happens to have a point to something else reference counted which it expects never to go away
14:47 in general it will depend, I should think. Some hashes will shrink, as people invent PMCs that suit them
14:48 <@obra> let's come back to this? I want to get to autrijus and mdiep
14:48 and I *think* that the optree might need to start "owning" references onto GVs that it points to, rather than the current situation (As I understand it) where it points and prays
14:48 but basically I've been thinking
14:48 and more importantly @work has things that need doing
14:48 so next victim...
14:49 <@obra> ok. autrijus?
14:49 personally I have a HD meltdown, so nothing much in the past few days
14:49 <@obra> anything else pugsy?
14:49 however pugs sees some radical changes that may affect parrotskecth
14:50 the 'pugs' executable is now a simple perl5 script that exec()'s the appropriate compiler and runtime backends
14:50 so "./pugs -Bperl5 hello.pl", "./pugs -Bjs hello.pl" etc all work
14:51 previously we would need an embedded libparrot (which doesn't work in win32 due to gcc/vc++ conflicts) to run perl6 thru parrot
14:52 now it's much more trivial as the individual stages in the pipeline can be decoupled and the interim results saved.
14:52 a la old style C compilers, then. cpp/cc1/as
14:52 chip: exactly.
14:53 the focus is now mainly on the perl5 backend. so the faster route to run perl6 on parrot may be thru ponie :)
14:53 I get very scared when anyone mentions ponie in the context of being working.
14:53 principally because it still feels like a very BIG job
14:53 <@obra> Ok.
14:53 fglock is getting the previously-thought-as-improbable-to-implement things like generator arrays.
14:54 and at 1 day per week it doesn't progress rapidly
14:54 so it's looking good for the shown-on-the-timeline goal of bootstrapping p6-on-p5 this year.
14:55 I'll look at parrot 0.2.4 for the merge; I'd also like to sync the releases again like last month.
14:55 end of report.
14:55 at which point you find where all the regexp engine, Unicode and threads bugs in perl 5 are? :-)
14:55 (the merge = leo-ctx5 merge)
14:55 <@obra> ok. matt?
14:55 as reported, coke has got tcl passing 100% of tests in leo-ctx5
14:55 Nicholas: rules engine is being done on top, instead of compiled to, regexp; what unicode bugs? threads is a real concern.
14:56 <@obra> Does that mean that the tcl test suite is incomplete or there's now a real, full, useful tcl on top of parrot?
14:56 * Nicholas waits for the questions section
14:56 obra: the tcl test suite is incomplete (by far)
14:56 <@obra> ok.
14:57 <@obra> anything else in your camp?
14:57 we're hovering around 12% of the actual Tcl tests passing
14:57 <@obra> *nod*
14:57 my tuit supply has been low with the start of classes last week, so there's not much other than my "HLL Namespace Design" thread on p6i
14:58 I was glad to see Larry's reply to that
14:58 <@obra> Ok.
14:58 I will hopefully get around to understand Parrot's current implementation sometime this week, and then on to a proposal to support all needed features
14:59 that's all.
14:59 <@obra> So, we've only got a couple minutes left "officially" but I'm happy to run a bit long if people can stick around.
14:59 <@obra> Who's got questions?
14:59 I have. but I also need to answer the Unicode question
14:59 * mdiep has a couple
15:00 * chip has one
15:00 <@obra> let's start with chip
15:00 leo: what was your chosen solution to get around the :flatten being conflated with :slurpy?
15:01 moving the call bits into the call structure
15:01 i.e. pcc_sub->arg_flags
15:01 and
15:01 i.e. pcc_sub->ret_flags
15:01 neat
15:01 er, nm
15:02 took just a couple of lines
15:02 the way you did it, will it work OK to have multiple returns in the same sub, or multiple calls using the same reg in different ways from the same sub?
15:03 yep, because there is one pcc_sub perl call/return/sub
15:03 excellent
15:03 ok, that's my q
15:03 <@obra> ok. nicholas, then matt.
15:04 gah. just as the kettle boiled.
15:04 "no tea"
15:04 OK, the unicode bugs comment
15:05 the meta-summary of "Perl 5.8.? is boring" is that we keep finding Unicode bugs
15:05 so anything that runs atop Perl 5 will hit them
15:05 allison: I have a couple parrot comptool question, but it may be made redundant if you can mail me the draft plan
15:05 specifically, a recent-ish discovery was a whole class of bugs - basically string overloading with UTF-8 is currently broken
15:05 and no-one has had time to work out how to fix it
15:06 autrijus: ok, if you want to wait til next week when you've read it, that's fine
15:06 because it's messy, and involves fixing broken assumptions in code paths that check SvUTF8(sv)
15:07 because SvUTF8(sv) is not true on an reference. Yet a reference can have overloaded strinification, and in turn overloaded stringification can return UTF-8 encoded data
15:07 allison: I was thinking about maybe read it this moment. :) I'll ask anyway
15:07 and I suspect that this is where things might hit
15:07 but more generally
15:07 Damian's Perl6::Rules came unstuck bceause of the regepx engine
15:07 and I'm concerned that trying to push Perl 5 too hard will reveal the cracks within
15:08 Serious threads are still likely to be a problem. But I don't think that Perl 6 has a threads spec yet, so that might not be a problem within this timeframe
15:08 was that a sufficient asnswer? does it generate more questions?
15:08 nod.
15:08 autrijus: ok, ask now and if I think the answer is too long for IRC, I'll save it and write it into the document
15:08 just a quick comment about perl5's cracks
15:09 pugs's plan is to solve any problems with an extra level of indirection.
15:09 if Perl6 emulates pos(), it might be able to use pos and \G to execute rules piecewise, rather than trying to create The Ultimate Regex
15:09 eg. full CPS on javascript, which does not even have goto().
15:09 so we're not going the Perl6::Rules route
15:09 rather if there's a rule engine, it will be built like PGE
15:09 (I seem to have stepped on autrijus there, sorry)
15:09 chip: np
15:09 but it was an interesting answer
15:10 PGE doesn't use parrot's internal rx ops either
15:10 or PCRE
15:10 which is also builtin to aprrot
15:10 rather it compiles to something that disregards the underlying broken regex
15:10 so that's what we'll do on both Rules and Unicode.
15:10 but every layer of indirection you find you need because of Perl 5 bugs will make things slower. (I assume)
15:10 it's rather hard -- actually provably impossible -- to fake threads this way, so we'll punt.
15:10 so it's only really a stop gap)
15:11 Nicholas: not really if the indirection go thru XS.
15:11 linking libsyck for example is a good indirection to take.
15:11 insteadof working around the very broken YAML.pm.
15:11 end of comment :)
15:12 <@obra> ok.
15:12 (the policy so far is: pure perl5 for the core stuff, but advanced things may need C modules like Coro.pm)
15:12 it seems consistent. in a crazy-but-sane way
15:12 <@obra> That it? Matt, what's on your list?
15:13 no, not done *asking* questions yet
15:13 but I can wait if that's better
15:13 nicholas: go ahead and finish
15:14 <@obra> Nick: list off your questions and we can try to get through as many as possible?
15:15 <@obra> I'm sorry for not better coordinating last week, all.
15:15 I think I have about 5 questions (related) that I believe are principally for Chip, and he may not have answers off hand
15:15 <@obra> I bet we'd have done better with questions had I done so.
15:15 first question is about the extending interface
15:15 some of the vtable calls are exported via C to extenders, but not all, and the naming is not consistent
15:16 there's a thread that ends here: http://www.nntp.perl.org/group/perl.perl6.internals/29422
15:16 where (IIRC) chromatic has a version of a program to generate extend.c (or parts of it) automatically, but we're really waiting on a design call on waht's needed
15:16 I see. Hm.
15:16 I ask, because every so often ponie needs another 1 or 2 vtable calls, and I add them by hand, and it all feels wrong
15:17 so I guess my question is "could you think about what you want, and make a sign that we will recognise?" :-)
15:17 OK, a step forward is to automatically generate them. It's a definite decision that anything that requires copy/paste/search/replace from a human being on a regular basis is just Wrong
15:18 we have to remove some inconsistently named ones as part of this
15:18 And given the current flux, I think it's a good idea to expose all the vtable functions, but with an understanding that it's possible we'll decide to unexpose some before 1.0. (just a little CYA on my part there)
15:18 but that short term pain seems best
15:18 seems reasonable
15:18 sort of jumps to fourth question
15:19 yes, we can do (re)naming kludges only after 1.0 when we have an interface to maintain
15:19 are vtable changes likely soon? In particular, Dan was keen on the whole morphing concept, and I wrote the ponie PMC code to start to take advantage of it, but Leo has seemed less keen on the morph idea
15:20 you've (wisely) stated that PIR compatibility is the current priority
15:20 which means that ponie, as an atypical parrot user, isn't sure what might change
15:21 Well, when morphing happens or doesn't happen, that shouldn't break the PMC interface promises (such as they are) either way, so ... how is Ponie affected by whether a given PMC likes to morph or not?
15:21 well, it's partly
15:21 a: is morph staying?
15:21 b: what might change in the near future in the vtable?
15:21 Consider Perl 5 $$. When someday we have a pid pmc, it won't morph when you assign to it, but an integer pmc assigned a float might do so
15:22 OK
15:22 (_might_, mind you, but not if someone said C)
15:22 different meaning for 'integer pmc'. more like 'general scalar pmc that happens to contain an integer at the moment')
15:22 for any question "I'll think about it" is fine by me as an answer. I don't want to put you on the spot, or delay mdeip's questions
15:22