% leo has joined #parrotsketch 'afternnoon hi all hi folks I'm on a train right now, and I'll be tunneling now and in about 15 so I should report first, and if it's OK I'll also solicit questions briefly ok. go for it Not many here ... OK I'll make sure folks see the log Lexical design seems to be holding up well, albeit with the need for some more details Closure work remains, as Leo can't quite see what I'm trying to explain. Which may or may not be because it's an Escher drawing. :-, Matt shows remarkable patience in not jumping up and down screaming "NAMESPACES!" I think that soufle' is almost done, but as Brooks quoted: "If you are made to wait, it is so we may serve you better" % mdiep has joined #parrotsketch As if on cue. hello :-) Unlambda provides a non-Perl, non-Tcl lexical case, btw, and Leo has pointed out to me that the design *may* need adjustment for that. But a language expert would be welcome... especially if he arrived bearing URLs mdiep: from chip's report just now: 13:04 Matt shows remarkable patience in not jumping up and down screaming "NAMESPACES!" 13:05 I think that soufle' is almost done, but as Brooks quoted: "If you are made to wait, it is so we may serve you better" 1 heh unlambda is converted to pdd20 closures already % chromatic has joined #parrotsketch And finally, my spirits are raised as I see development activity from all others } % chromatic has left chromatic!~chromatic@sub17-30.member.dsl-only.net % allison has joined #parrotsketch I'm tunnelling in about 10min, so with obra's permission I'll take Qs leo: cool, I didn't quite get that chip: go for it. questions for chip? OK, all...? DynLexPad as standard, loadable dynamic Pad? is that the Tcl style one? yes Yes, it should be standard. It's a paradigm for lexicals that isn't Tcl-specific good would :lex then create a DynLexPad and .lex create the other LexPad PMC? % chromatic has joined #parrotsketch No mdiep: err yes depending on .HLL setting lexpad type is entirely HLL-driven. :lex is only a hack *cough* special control to make sure that a pad gets created in the absence of .lex directives On the other hand, DynLexPad can't implement declare_lex_preg, so .lex directives are effectively illegal in any HLL that uses DynLExPad chip: would'nt the presence of find_lex/store?lex indicate the same as :lex? leo: no, consider my $a; sub foo { $a } there's no reason for foo invocations to have pads, even though the find_lex "$a" is there in its body ok I think that DynLexPad could still consult and use LexInfo, if it's there, which could give a mixture of compiletime-known .lex and runtime lexicals Current design would require any HLL that might need both cases (static & dynamic lexical lists) to invent its own Lex* PMCs that, perhaps, morph Well ... that's an interesting idea actually. The only objective problem with it is that performance of every lookup will essentially halve, as every lookup requires "is it static" followed by "is it dynamic" Well, there's also the whole keeping-a-reference to the register file. yep - that's true but some language might want it. OK, consider this a definite "maybe". I fthe feature can be made to cost nothing for those who don't mix types (or as close to nothing as makes no difference), I'm open to it It'd be nice if we could show that the Tcl compiler (or some other) could actually use it I think I'm about 1min from leaving but as most of the lexicals are still compiletime in tcl, performance isn't a biggy probably here's a question: if I have to ask for clarification regarding a portion of a pdd, should I feel free to update it and add detail? Sorry for this timing ... I'll read the log. I can't stop I don't know how it works... Please clarify if you know the answer, maybe because I said so. Don't clarify with guesses, is all thanks okay. I have in mind to add something explicit about how the LexPad PMC tracks lexicals via register numbers. # afk (dinner) - but still reading ok. I'll ask leo last ;) anything else before I start asking for more reports? right then matt: what's new? encoding/charset issues got worked out this week PGE now escapes things for us but then Tcl was broken on platforms without ICU so coke went through and added some logic to only create unicode strings if they actually had values outside of the ascii range (or perhaps it was if the string was unicode when it was passed to us) Tcl is still trying to adapt to pdd20 I ran out of time last week, but from what I caught in scrollback, Parrot is requiring more methods from the LexPad PMC than are detailed in the pdd so I think we'll be requiring some help from leo to get this implemented correctly and, of course, I'm still waiting on chip for namespaces ^D blocking on anything but that? an implementation of a TclLexPad PMC or an understanding of how to make it work so no % pmichaud has joined #parrotsketch ok. allison? @@ -839,6 +839,14 @@ If you want to set this to true, you should probably also set C or at least C to true. +=item C<< $parser->preserve_whitespace( I ) >> + +If you set this attribute to a true value, the parser will try to +preserve whitespace in the output. This means that such formatting +conventions as two spaces after periods will be preserved by the parser. +This is primarily useful for output formats that treat whitespace as +significant (such as text or *roff, but not HTML). + =back I'm working on using TGE in Punie. (The parser really has a 'no_whining' flag?) How's it going? (pardon strange cut-n-paste problem, that would be a part of Pod::Simple documentation) no just wipe that out of the logs :) Sadly can't do that ;) But no worries. Anything else exciting going on? Right, TGE in Punie: going slower than I'd like. Oddly, the slow part isn't transforming the abstract syntax tree, but deciding what to transform them into. That is, what node types to use, both for the high-level tree and for the opcode tree. So, I'm just going to implement it one way and see how it works out. (Unsurprisingly, it'll start off very Pugs-like.) EOR Blocking? Parrot libraries. Howso? I'm about to switch TGE over to PGE's strategy of simply including all the subclasses of TGE into the top level file and manually running their :load subroutines. Include path problems? Always struck me as ugly. note that manually loading :load isn't necessary any more Yup. does the :load run on an include? I thought it only ran on a load_bytecode. it doesn't run on an include, but it does run when the load_bytecode loads the file that did the include okay, that's less ugly at any rate, PGE no longer manually runs the :load subroutines still ugly patrick, I'll have an offline conversation with you about library installation, you may have a simple answer allison: sounds great really EOR now ok. Patrick! How's the PGE world? going nicely, although this past week has been more design and documentation than implementation here's the current status: since last week I've added lookbehind, changed PGE to use the new "escape" opcode for strings instead of calling the (slower) Data::Escape library (more) change PGE to be using compreg instead of find_global for locating its various compilers, so that PGE now has PGE::P6Rule, PGE::Glob, and since Thursday we have PGE::P5Regexp oh, there's also a "PGE::P6Grammar" compiler available, which will compile a string containing an entire grammar full of rules Synopsis 5 has been updated and made publicly available, just in time for us to change all of the internal syntax again :-) (just kidding) heh there's a STATUS file in compilers/pge that maintains the current state of completed items and items-left-to-be-done how close are you to being able to rope in suckers to help with todos? well, particle on #parrot is starting to help with the TODOs, and many of the TODOs are at a stage where we can live without them being done in other words, they're features we want to have eventually, but aren't immediately necessary for writing a compiler or other tools of course, if they become necessary, then it's more likely for someone to take on the TODO and the place where I expect to be doing most roping is in perl 6 parsing and code generation *nod* how up to date is http://svn.perl.org/perl6/doc/trunk/plans/milestones.pod ? I'd have to look at it again, will do that this week there are some obvious new things there *nod* lots of things in that document can now be marked "done" :-) Cool so, there are a number of perl 6 rule items that are being tweaked, but the rules portion of pge is in a fairly stable state where I can turn my attention to other things I'll next be adding a feature or two to the shift/reduce parser, and I hope to be parsing reasonable amounts of perl 6 code by this time next week it turns out I dont' have any holiday-related commitments this week, surprisingly :-) It'd probably run faster if you had Parrot parsing the code, not Patrick. chromatic: okay, s/hope to be/hope to have parrot/ but at *this* point, it's still currently faster for me to parse perl 6 code than parrot. When Parrot is able to parse perl 6 faster than autrijus then we'll be in good shape. I don't know that we'll ever beat Larry. :-) (scnr) % mdiep has left mdiep!~matt@bursley-221-209.reshall.umich.edu anyway, that's my report very cool. blocking? not really; leo and chip seem to be staying one step ahead of me on the things I'm thinking I'll need Fantastic I agree, it's fantastic :-) chromatic: what's the good word? I don't need the fdreopen feature quite yet. I've decided just to port Parrot::Test without worrying how to support the legacy tests right now. chromatic++ % mdiep_ has joined #parrotsketch Unfortunately, I broke my development server the other day and don't expect to have a lot of time to work before the holiday. But I have the design of Parrot::Test in my head and it seems pretty simple... I hope to have a preliminary Test::More after a few hours of working on it. Everything is straightforward. cool Otherwise, we could run all the tests through Leo and Chip. maybe we could get the pugs guys to help load-balance in the off hours. oooh, let's build a Matrix.... allison: I hear that down that road lies pain, suffering and an earth ruled by machines. No, just multidimensional array access. Ok. anything else? anyone I've missed? Woot! We finished five minutes early. digging around, my library problem turned out to be simpler than I thought, I just need to get TGE included in the make install for parrot and it'll dissapear. Good thing nick and autrijus were off ;) wait a bit (but I can wait on that) * leo reporting ;-) (Unless you're evil, or Damian. oops - finished lexicals according to specs oops. hi leo. sorry hi Right. what's new? - converted unlambda interpreter to new style closures - works fine - nb: unl.pir used :outer in a sense that in pdd20 is: "(Unless you're evil, or Damian. ..." - ongoing unicode improvements + string code cleanup - implemented 'compose' (using NFC) - and as some distraction improved sudoku solver algorithm and finally: I see a substantial speedup of Parrot dev according to ci'ed revs (~150/week) EOR blocking? not yet ;-) but need more pdds soon ok what's next on stack? first the DynLexPad to please tcl and other folks then we should probably attack named argument passing (post-tunnel hi) it's needed for all possible object creation rehi leo: yes, named argument passing is very likely to be my next block see one line above % chromatic has left #parrotsketch this is weird, the meeting just tailed off? seems so chip: 20:03 < leo> then we should probably attack named argument passing I saw Chip: sorry. I didn't actually say "ok. thanks everybody" (I got called away) % pmichaud has left #parrotsketch % mdiep_ is now known as mdiep % allison has left allison!~allison@sub17-30.member.dsl-only.net