13:09 autrijus: how's the threads speccing been going with liz?
13:09 jesse: very well; collected use cases
13:09 (I conned autrijus and liz into trying to figure out how perl6 concurrency might work ;)
13:09 mostly from her Thread::*
13:09 now if we can get someone to do the same for parrot, we'll be golden
13:09 going to implement the low level abstractions (multiplex, posix threads, stm)
13:09 which all comes for free with GHC
13:10 and then build "is atomic", "is critical", "is throttled" on top of them
13:10 and then rebuild her Thread::* (the ones that are _not_ workarounds for p5 warts) on them
13:10 to test whether the low level abstractions _feel_ correct enough
13:10 the low level ones will be part of S17
13:10 and going to demand that from parrot
13:11 which according to vienna meeting is part of parrot's "vision" anyway
13:11 so should be simple matter of programming.
13:11 see my use.perl journal for some of the basic ideas
13:12 work in progress doc at http://svn.openfoundry.org/pugs/docs/AES/S17draft.pod
13:12 will seek realspace review tomorrow at amsterdam.pm meeting
13:12 cool
13:12 with p5pers such as merijn, tons, juerd, abigail(?) etc
13:12 also, it's "Concurrency" not "Threads" :)
13:12 eog
13:13 er, eof. :)
13:13 Ok. hey. no chip, leo, patrick
13:13 so let's get rolling
13:13 -!- chromatic [~chromatic@sub17-30.member.dsl-only.net] has quit [Quit: Leaving]
13:13 autrijus, what's new that's not concurrent?
13:13 and no chromatic.
13:14 object space, mostly
13:14 basically, porting the YARV instruction set to p5/hs/js/pir
13:14 only the OO-related parts anyway
13:15 problem being parrot, p5, js all got kinda rich OO semantics
13:15 p6 metamodel can build on either of them "natively" but prior experience shows deviant semantics
13:16 hence going to spec out the minimum API required on part of the host runtime to get p6 OO bootstrapped
13:16 think of it as PIL for OO stuff.
13:16 primary note at http://svn.openfoundry.org/pugs/docs/notes/object_space.txt
13:16 s/primary/preliminary/
13:16 YARV instruction table at http://www.atdot.net/yarv/insnstbl.html and online compiler at
http://www.atdot.net/yc/compile
13:16 YC is really good stuff -- recommended for parrot folks
13:17 considering targetting YARV as first tier implementation.
13:17 will review ParrotObject and report mismatches and/or slow parts.
13:17 cool
13:17 (also, "port" YARV OO instruction is not wholesale port)
13:18 and semantics would differ, eg. assigning to an attribute is not done by calling "attr=" method
13:18 but the basic idea is sound.
13:18 eof on that part.
13:18 -!- chromatic [~chromatic@sub17-30.member.dsl-only.net] has joined #parrotsketch
13:18 -!- pmichaud [~chatzilla@c-24-1-26-255.hsd1.tx.comcast.net] has joined #parrotsketch
13:18 autrijus: is that it for you?
13:19 otherwise, not blocking on anything, still comptools.pod in parrot tree would be nice
13:19 and on that note: allison. ;)
13:19 yeah, the rest are p6c stuff, not directly parrot related.
13:20 eof for me :)
13:20 what's new, allison?
13:21 oop, sorry, off looking at other things
13:21 I finished the port of version 0.05 of Luke's Language::AttributeGrammar.
13:21 to PIR
13:22 I made a few changes in the process, such as: made it more purely OO so it's not so dependent on closures,
use a coroutine to generate unique ids for the nodes as I traverse the tree.
13:22 http://svn.lohutok.net/nam/trunk/parrot/modules/Language/AttributeGrammar/
13:22 ooh svn.lohutok.net
13:22 the next steps are to try it out on more complex trees
13:23 including the output from PGE grammars
13:23 I'm tempted to take a detour, though, and fix the problem with Parrot::Test library paths
13:24 I should probably make a journal entry about it
13:24 :)
13:25 also, still need to make draft compiler tools plan public
13:25 (just so you know it's still on my TODO list :)
13:25 next step after more complex trees is to integrate it into Punie
13:25 * jesse has evil plans for todo lists ;)
13:25 I hear a rumor that the compiler tools plan will cause a milestones update to be needed?
13:26 * allison likes jesse's evil plans for to do lists, when do we see code?
13:26 the "and make your todo list public" bit is what's currently missing.
13:26 -!- leo [~lt@feather.perl6.nl] has joined #parrotsketch
13:26 leo!
13:26 hi all
13:26 I'm not sure I want to subject the perl 6 dev team to my beta toolset ;)
13:26 using RT for todo lists is probably saner for now
13:26 meeting early today ;-)
13:27 I'm here too .. since Leo jumped in
13:27 jesse: well, the original milestones called for one level of AST and we now have two, I'm not sure that's a
big enough change to be significant
13:27 timezones--
13:27 leo: http://perlcabal.org/user/autrijus/tmp/today.tmp.txt
13:27 patrick had said something about your compiler tools plan replacing a chunk of the milestones
(no chat topic is set)
[1:27pm] Nicholas: I'm unconvinced of a need to stick to the old GMT time.
[1:27pm] allison: jesse: lemmie look at them...
[1:27pm] jesse: I'll take commentary on meeting time by email
[1:27pm] jesse: allison: first: blocking on anything?
[1:27pm] jesse: if not, I'll move on to harassing others
[1:28pm] allison: jesse: all the work I'm doing falls in milestone 2
[1:28pm] allison: though, I wouldn't necessarily call it "Parrot AST" now.
[1:29pm] allison: re: "blocking" on Parrot::Test
[1:29pm] jesse: ok
[1:29pm] jesse: but that's an allison-fixes, not an out-of-allison's-hands, right?
[1:30pm] allison: I can't write tests for any non-core libraries because test code reads all paths as being relative to the location of Parrot::Test in the working copy of parrot
[1:30pm] allison: it could be either allison-fix or, someone else fix
[1:31pm] chromatic: Or "don't write non-core libraries outside of the Parrot tree", as in a technical bias for a cultural issue.
[1:31pm] allison: depends on how itchy I get about the limitation
[1:31pm] chromatic: Just bringing up a final possibility, not suggesting that's the right approach.
[1:31pm] jesse: ok.
[1:31pm] allison: but that's strange, I mean, yes we should install libraries in a standard location
[1:32pm] allison: but, for testing we shouldn't have to install them
[1:32pm] allison: (want to test before install)
[1:32pm] chip: Parrot::Test shouldn't impose that kind of diretory tree requirement. If nothing else you might want to have multiple Parrot installs with different build options
[1:32pm] chromatic: Agreed. Eventually it needs fixing.
[1:33pm] Tweety joined the chat room.
[1:33pm] Tweety: Hi there. I am Tweety. I am now publically logging this channel. If you don't want to be logged, please leave now.
[1:33pm] chip: allison: You'd probably find a quick volunteer if you wrote a p6i message with a provocative subject ("Help save Allison's world")
[1:33pm] jesse: Gee, thanks, tweety.
[1:34pm] allison: chip: ok, I'll do that, thanks
[1:34pm] jesse: cool.
[1:34pm] jesse: who should I pick on next?
[1:34pm] ââ¬Â¢ chip waves his hand ... better to jump than get pushed
[1:35pm] pmichaud: makes it easier to control the fall
[1:35pm] chip: Actually got some good time over the weekend. THe lexical picture is shaping up.
[1:35pm] jesse: cool
[1:35pm] chip: I know I've been mumbling about this for a while, but this time I even got a good picture for closures.
[1:36pm] chip: Short versoin: the interface for lexicals conforms to Hash, and for Tcl, they actually will be in a Hash. (Tcl is ... hardly compilable)
[1:36pm] pmichaud: yay!
[1:36pm] pmichaud: chip, that is *exactly* what I was wishing for this weekend
[1:36pm] chip: Perl6 lexicals will be more like a pseudohash (and the shade of Graham smiles)
[1:37pm] chromatic: Everyone else grimaces.
[1:37pm] chip: The key/value translation belongs to the Sub, while the array thus indexed (the pad) belongs to the call frame
[1:37pm] autrijus: actually I wrote Class::PsuedoHash. I like them.
[1:37pm] ââ¬Â¢ mdiep is just happy that chip has taken Tcl into consideration
[1:37pm] chip: They're actually a useful abstraction
[1:38pm] chip: anyway: I think we can get a leg up on Perl 5 closures.
[1:38pm] chromatic: Agreed, I'm just interrupting. Sorry.
[1:38pm] chip: In perl 5, eval STRING in a closure can't see any variables that its outer subs didn't specifically mention. I'd rather just capture all the outer pads at closure creation time.
[1:39pm] chip: But is that a bad thing WRT object lifetime?
[1:39pm] chip: (maybe this is a question period. autrijus think about it)
[1:39pm] autrijus: chip: of course that is the way to go.
[1:39pm] chip: autrijus: good. so much for that question
[1:39pm] autrijus: and I think p6 depends on that as well
[1:39pm] chip: Perl 5 doesn't capture all the pads, just the specific variables it's seen
[1:40pm] autrijus: as far as I can remember from larry's %MY:: and %OUR:: rants in yapctoronto
[1:40pm] autrijus: so pugs is snapping all pads in all its runtimes
[1:40pm] autrijus: cool if parrot does that.
[1:40pm] chip: ok
[1:40pm] pmichaud: I agree, this will be cool
[1:41pm] chip: OK then. My key resource is continued free time. Looking promising.
[1:41pm] chip: ^Z
[1:41pm] jesse: ok. matt?
[1:42pm] jesse: wait. blocking on anything, chip?
[1:42pm] chip: jesse: the 'resource' comment was meant as an answer to that: "no"
[1:43pm] jesse: ok.
[1:43pm] jesse: matt, then
[1:43pm] mdiep: I finally figured out Tcl's lexical issues this week: Eval'ing in PIR returns a closure.
[1:43pm] mdiep: Leo was kind enough to provide a way to get to the underlying Sub PMCs
[1:43pm] mdiep: so those issues are still fixed
[1:43pm] mdiep: err, s/still //
[1:44pm] mdiep: we are still blocking on unimplemented functions in charset/unicode.c, however
[1:44pm] jesse: who needs to implement those?
[1:44pm] jesse: are there tests for them?
[1:45pm] mdiep: I'm afraid I don't know much about those failures. coke reported them to me.
[1:45pm] autrijus: oh, PGE for nonascii stuff for pugs has been blocking on those too
[1:45pm] autrijus: I committed stubs and leo fixed my broken C code
[1:45pm] autrijus: but many XXXs are left
[1:46pm] pmichaud: mdiep: do you know which specific functions you need?
[1:46pm] mdiep: pmichaud: no, I don't. but I could probably compile a list, given a little time.
[1:46pm] pmichaud: mdiep: that would probably be helpful. I know that PGE is now currently blocking primarily on the find_cclass ops
[1:47pm] mdiep: I'll try to compile a list and send it to p6i
[1:47pm] jesse: cool.
[1:47pm] jesse: Anything else good in the tcl world?
[1:48pm] mdiep: not directly tcl, but I'm also waiting for chip to get back to me about my latest namespace spec draft
[1:48pm] mdiep: other than that, no.
[1:48pm] jesse: cool
[1:48pm] chip: a-firmative
[1:48pm] jesse: patrick?
[1:49pm] pmichaud: it's been a very busy week for me with parrot stuff
[1:49pm] pmichaud: last week I checked in the initial version of a shift-reduce parser, and a few examples in the examples/pge directory
[1:49pm] pmichaud: since then I've converted PGE to now use the shift-reduce parser for parsing perl 6 rule expressions (instead of the previous rec-descent parser)
[1:49pm] pmichaud: this also changes a number of the internal interfaces, but all for the better; it's a massive cleanup
[1:50pm] pmichaud: as a result, the perl 6 rules code is now 30% smaller (was 2100 lines, now 1500 lines)
[1:50pm] autrijus: (benchmarked?
[1:50pm] pmichaud: not to mention it should be faster
[1:50pm] pmichaud: I haven't benchmarked it, no, but there's a TODO item in RT for that
[1:51pm] autrijus: nice
[1:51pm] pmichaud: one big benefit is that PGE can now be used to parse perl 6 rule expressions; i.e., will parse out a valid perl 6 rule expression
[1:51pm] pmichaud: this makes it easy to embed in grammars
[1:52pm] pmichaud: I've also added the ability to define custom rules (for allison) and next I'll be implementing lookahead and closures
[1:53pm] jesse: cool.
[1:53pm] pmichaud: checkin is simply waiting for me to get everything sync'd up with the new code interfaces and make sure all the tests pass again
[1:54pm] allison: awesome!
[1:54pm] jesse: anything you're waiting on?
[1:54pm] pmichaud: the biggest thing blocking me at the moment is the need to occasionally sleep
[1:54pm] jesse: ice
[1:54pm] jesse: nice
[1:54pm] jesse: though I hear they have drugs for that.
[1:54pm] pmichaud: the other thing we'll have is a nice rich set of trees (and desired transformations) that could serve as test cases for the attribute grammar code
[1:55pm] pmichaud: in particular, p6rules could serve as an example, since it has to go from parse tree -> semantic tree -> optimizations -> code gen
[1:55pm] autrijus: we have... a tree and AG rules for haskell
[1:56pm] autrijus: (it's the place luqui copied the L::AG from)
[1:56pm] autrijus: i.e. UUAG/EHC
[1:56pm] pmichaud: indeed
[1:56pm] pmichaud: so, I'm just continuing on that, and will update the milestones document (again) in a day or two when the new changes are folded in
[1:57pm] pmichaud: leo provided some important improvements last week that enabled all of this (thanks again, leo)
[1:57pm] pmichaud: $
[1:57pm] jesse: ok. leo?
[1:57pm] leo: .local string report= <<"ZZ"
[1:58pm] leo: var-regs hit finally the trunk
[1:58pm] leo: all is owrking as expected
[1:58pm] chip: *applause*
[1:58pm] autrijus: *applause*
[1:58pm] autrijus: leo++ leo++ leo++
[1:58pm] Nicholas: cool
[1:58pm] leo: I had to rewrite tailcall argument passsing a bit
[1:59pm] leo: it's not quite trivial to move arge form a->b, when the register structure changed under that
[1:59pm] leo: currently an intermediate array holds arguments
[1:59pm] leo: and 2 passes are done
[2:00pm] leo: but the nice thing is: this is all statically known at compiletime and can be optimzed
[2:00pm] leo: i.e if there would be a conflict moving arguments for the sub
[2:00pm] leo: today I ci'ed
[2:01pm] leo: r9677 | leo++ | trunk:
[2:01pm] leo: 13:59 <+svnbot6> : Variable-sized reg frames 17 - no register limits
[2:01pm] leo: * enable 'spill' tests - no spilling of course:
[2:01pm] leo: 13:59 <+svnbot6> : new P60, .Integer # yeah
[2:01pm] leo: the PIR line is from one of the tests
[2:02pm] chip: cool
[2:02pm] leo: ZZ
[2:02pm] autrijus: oh I updated wikipedia "Parrot"
[2:02pm] autrijus: so it no longer talk about I31
[2:02pm] leo: great - thanks
[2:03pm] autrijus:
[2:03pm] jesse: blocking on anything, leo?
[2:03pm] leo: not yet - more cleanup will follow, then is release time
[2:03pm] leo: next week a lexical PDD would be nice
[2:04pm] jesse: ok. matt?
[2:04pm] leo: ah - I forgot one: rafl has debianized Parrot
[2:05pm] mdiep: jesse: again? I already went
[2:05pm] jesse: oops
[2:05pm] jesse: sorry
[2:05pm] jesse: chromatic?
[2:06pm] chromatic: Lots of little things -- Nick's patch, looking at the configure system, porting parts of Parrot::Test to PIR.
[2:06pm] chromatic: I was traveling last week so I didn't have much time. Hopefully this week will be easier.
[2:06pm] allison: ah, so I may not even need to mess with the library paths, nice
[2:06pm] chromatic: It depends on when you need them.
[2:06pm] allison: aye
[2:07pm] chromatic: At some point I would also like a sane way to write tests for PIR code (not Parrot), much like Perl 5's bootstrapping tests in t/op.
[2:08pm] allison: yeah, that would be good
[2:08pm] chromatic: As far as I see now, that's partly cultural, partly a path issue, and partly a "What are the minimum bits we can rely on to write the basic tests?"
[2:08pm] chromatic: Of course, it's awfully hard to test some of the libraries I've written... but I suspect we can fake out NCI at some point sometime.
[2:09pm] chromatic: I'll probably have more questions about library loading and initialization in the future. It feels somewhat incomplete yet.
[2:09pm] chromatic: That's about it. I'm blocking on time and attention span.
[2:10pm] jesse: ok
[2:10pm] jesse: who'd I miss?
[2:10pm] Nicholas: me
[2:10pm] jesse: oop
[2:10pm] jesse: nick. what's new?
[2:10pm] Nicholas: not a huge amount. Failed to get attention span.
[2:10pm] Nicholas: I did apply my tweaked version of chromatic's patch
[2:11pm] Nicholas: I've not yet gone for a dig to remove the old names in extend.c, and all the files using them in the parrot tree
[2:11pm] leo: Nicholas: rafl has cleared dups already
[2:11pm] Nicholas: Stig noticed that ponie failed to build today. For some reason now I need libparrot before libponie (to get Parrot_PMC_push_pmc) and afterwards (to give libparrot the parrot config object) so I tweaked the linker line
[2:11pm] Nicholas: rafl++
[2:12pm] Nicholas: Leo was kind enough to get 2 of the things I mentioned last week done within hours.
[2:12pm] Nicholas: leo__
[2:12pm] Nicholas: leo++
[2:12pm] Nicholas: oops
[2:12pm] leo: hashes this week
[2:12pm] Nicholas: but he didn't have time for the hash.c change, and I found the source code somewhat daunting to try to understand (cold), so didn't manage to find the calm time to deal with it
[2:12pm] Nicholas: I think that that's where I am.
[2:13pm] jesse: cool
[2:13pm] Nicholas: I seem to be mostly blocking on my ability to get into the right state of mind. Plus work scheduling is not idea - in theory as soon as something I'm blocking on on the staging evironment unblocks, I need to deal with my part of it (at high priority). And I find that unsettles me
[2:14pm] Nicholas: I think that's it.
[2:15pm] jesse: less cool
[2:15pm] jesse: anything else? questions?
[2:16pm] Nicholas: Yes. I don't have a good idea of how much time I have, and I find that if I'm not sure i've got 'large wooly amount of time' I don't want to start. Happened this morning where I (deliberately) got up at DST time, and then found that I couldn't really use the extra hour. I might as well go into work, and get the commuting disturbance out of the way.
[2:16pm] chip: I have an interface question to float (PIR and lexicals)
[2:17pm] chip: (n/m I thought he meant for everyone)
[2:17pm] Nicholas: so did I
[2:17pm] chip: Nicholas: I'm finding the trick to be relaxing a little. Go into Pogo mode
[2:17pm] jesse: Idid
[2:17pm] jesse: sorry.
[2:18pm] jesse: go for it chip
[2:18pm] Nicholas: Pogo mode?
[2:18pm] chip: "Don't take {life,Ponie} so serious. It ain't nohow permanent."
[2:18pm] chip: is all PIR going to be associated with a registered HLL?
[2:18pm] ââ¬Â¢ chip supposes the answer is 'no'
[2:18pm] allison: no
[2:19pm] allison: (that is, confirmed, the answer is 'no')
[2:19pm] leo: no registered HLL means native parrot semantics I presume
[2:19pm] chip: and so lexical policies can be defaulted by HLL, but not tied exclusively to it. Right.
[2:19pm] chromatic: A LexPad PMC for each HLL?
[2:20pm] chip: chromatic: it seemed a convenient place to put the default, if there was to be one. Yes
[2:20pm] leo: it's like a TclInteger which is different
[2:20pm] jesse: I need to actually pay full attention to something else
[2:20pm] jesse: thanks everybody. I'll grab logs a bit later.
[2:20pm] jesse: sorry to have to bail.
[2:20pm] jesse: keep asking questions
[2:20pm] chip: cya
[2:20pm] leo: thanks jesse
[2:20pm] Nicholas: thanks jesse
[2:21pm] chip: [ditto]
[2:21pm] autrijus: thanks
[2:22pm] chip: The only complication (such as it is) is that I'd _prefer_ not to have to create a new FooPad PMC for languages where the pad is just a Hash (e.g. Tcl). But it seems I'm going to have to do so, if only so the init methods can be unfiied
[2:22pm] chip: unified
[2:22pm] chip: in their interface, that is.
[2:22pm] chip: See, a Perl6LexPad init method will need to know the Sub it's from, so it can find the key/value pairs. But a Tcl pad can just be a Hash ... but a plain old Hash init method doesn't expect to find a Sub parameter.
[2:23pm] chip: And the naive
[2:23pm] chip: "add a level of indirection" solution starts to look bad when it's happening on every function entry. But some optimizations can wait.
[2:23pm] leo: I think there will be still a FooPad, and if it's just for it's type name
[2:24pm] leo: (if a FooPad is needed of course)
[2:24pm] chip: you mean, all pads being named *Pad is a good thing, even if their implementations are thin?
[2:24pm] leo: like a TclFloat which afaiks inherits all from Float
[2:25pm] chip: ah, now I see what you meant.
[2:25pm] chip: That's a good argument, thanks
[2:25pm] chip: EOQ
[2:25pm] chromatic: Sometimes names aren't just names.
[2:25pm] chip: that's what my Mom said when she named me "Stinky"
[2:26pm] chip: ... so, who's up next? questions? anyone?
[2:26pm] chip: Bueller?
[2:26pm] ââ¬Â¢ autrijus ponders Float::Tcl
[2:26pm] allison: Question: should I just put the tree transformation stuff in the Parrot repository?
[2:26pm] chromatic: Is there still an event system/
[2:26pm] autrijus:
[2:26pm] autrijus: allison: now I've discovered svn.lohutok.net I'll point people to it if you don't commit them to parrot tree
[2:27pm] autrijus: so to reduce your server load, committing them is probably wise *smile*
[2:27pm] allison: Putting it in parrot is the simplest way to solve my immediate problem with library paths so I can write tests.
[2:27pm] leo: allison: I think it's as core as PGE is, so yes
[2:27pm] allison: It will still change radically over the next month or two, which is why I hesitate, but it is at least useful now.
[2:27pm] pmichaud: allison: I vote yes
[2:27pm] pmichaud: allison: it's okay if it changes radically -- PGE has done the same
[2:27pm] allison: then where? compilers/tte? (Tree Transformation Engine)
[2:27pm] allison: (Resisting the urge for a Psittacus joke: Parrot Standardized Interface for Tree Transformations: Abstract, Concrete, and Unnecessarily Silly...
[2:27pm] chip: allison: I wouldn't do it if that's the reason. But don't hesitate to show work in progress. And any API changes are liekly to get automagically fixed in your code if it's in svn
[2:27pm] leo: allison: all is changing more or less - ci early ci often
[2:28pm] autrijus: allison: comptools.pod too
[2:28pm] allison: autrijus: okay
[2:28pm] pmichaud: compilers/tte works for me, although I've been thinking that some prototyped tools can start out in examples/ and then move to their proper location when they become less "example-ish" and more "developed-ish"
[2:28pm] chip: allison: Never miss a chance to give in to temptation
[2:29pm] autrijus: pmichaud: er but languages/* is all prototypes anyway
[2:29pm] autrijus: s/all/mostly/
[2:29pm] autrijus: so why should compilers/ differ?
[2:29pm] pmichaud: autrijus: I don't disagree
[2:29pm] autrijus: maybe a COMPILERS file?
[2:29pm] autrijus: er .STATUS
[2:29pm] autrijus: same style as LANGUAGES.STATUS
[2:30pm] allison: okay, how's this: I'll push it to the point that it's transforming PGE trees, then check it in as compilers/tte
[2:30pm] leo: pmichaud: can you ci the 'newsub' removal code? I'll drop that opcode very likely tomorrow
[2:30pm] autrijus: I'd still rather you just commit it -- if only for my sanity of not chasing more svk mirrors
[2:30pm] pmichaud: leo: My new version drops 'newsub' -- it should be ci'd in a few hours -- as soon as I can finish debugging tests
[2:30pm] leo: great - thanks
[2:31pm] allison: EOQ
[2:32pm] ââ¬Â¢ leo is seeing forward allison increasing her purl karma by a steady flow of svnbot6 reports
[2:32pm] autrijus: yes, go for the karma
[2:33pm] allison: lol
[2:34pm] autrijus: ...and I just mentioned svn.lohutok.net's existence on #perl6
[2:34pm] autrijus: (to integral, who has been dying to see them)
[2:34pm] allison: I'm just about to post a journal entry I've been writing during the irc session too
[2:34pm] autrijus: woot
[2:35pm] autrijus: allison++
[2:35pm] leo: chip: I small (and premature) lexical Q: are we doing new .Undef the lexicals?
[2:37pm] chip: ah.
[2:39pm] chip: I was planning not. I was planning that they'd be null PMCs on creation. (Though a customized Pad could of course do something else)
[2:39pm] leo: okie - PMCNULL is fine
[2:39pm] leo: (for me)
[2:39pm] pmichaud: I think I prefer pmcnull
[2:39pm] chip: Reason being, I imagine that the PMC being null could be a convention that the given variable is out of scope
[2:40pm] chip: consider sub foo { eval '$x'; my $x }
[2:40pm] leo: or used unitialized - that's the perl5 runtime thingy w/o strict afaik
[2:41pm] chip: Hm, I think that's a kind of .Undef
[2:41pm] chip: but anyway, null is easier & seems OK
[2:41pm] chip: (&faster)
[2:41pm] leo: you can assign to .Undef, doing that with .Null throws an exception
[2:42pm] chip: yeah, that was my point - sub foo { eval '$x = 1'; my $x } should throw
[2:42pm] leo: (but that's just a matter of an appropriate exception handler - I'm still for .Null)
[2:42pm] chip: } // answer
[2:43pm] leo: thanks
[2:45pm] chip: allison: are you the new boss, even though you're the old boss?
[2:45pm] chip: seems like we're kind of done
[2:45pm] allison: chip: okay, we're done
[2:45pm] allison: Yeah, I
[2:45pm] allison: I'm working my way out of boss duties
[2:45pm] chip: I'll adjourn to #parrot then
[2:45pm] chip: thanks all
[2:46pm] leo: bye all
[2:46pm] leo left the chat room.
[2:46pm] chromatic left the chat room. (Quit: Leaving)
[2:46pm] pmichaud left the chat room.
[2:47pm] autrijus: bye
[2:47pm] autrijus left the chat room.
[3:11pm] allison left the chat room. (Quit: Leaving)
[6:33pm] mdiep left the chat room. (Quit: mdiep)