% Ademan has left Ademan!~dan@h-67-101-41-46.snfccasy.dynamic.covad.net % AndyA has left AndyA!~andy@ca93nt.hexten.net % ewilhelm has joined #parrot r29750 | petergibbs++ | trunk: : Re-wrote sprintf2.t to simplify adding more tests. : Added more tests including %*.*f : Fixed spf_render to make %*.*f test pass. : Changed sprintf.t to skip test 300 which now fails differently. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29750 % Ademan has joined #parrot % Andy has joined #parrot % AndyA has joined #parrot % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % Andy has left Andy!~Andy@64.81.227.163 % bacek has left bacek!~bacek@mcas-151.usr.optusnet.com.au % NordQ has joined #parrot % NordQ has left NordQ!~user@77.as-24.nienschanz.ru % Patterner has left Patterner!~Psyche@e177235193.adsl.alicedsl.de % Patterner has joined #parrot % Whiteknight has joined #parrot % iblechbot has joined #parrot % masak has joined #parrot % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net is there an Emacs mode for PIR? % apeiron has left apeiron!~apeiron@c-76-124-253-149.hsd1.pa.comcast.net % apeiron has joined #parrot % rurban has joined #parrot Can I ask about about make install? % NordQ has joined #parrot rurban: you can ask about anything. sure. but do I get an answer? Ok. I added now to almost all languages Makefile the following targets: installable, test-installable and install install copies installable_$LANG@exe to bin_dir/parrot-$LANG@exe@, pod2man $(LANG).pir > $(DESTDIR)$(MANDIR)/man1/parrot-$(LANG).1, define DOCS and cp $(DOCS) $(DESTDIR)$(DOC_DIR)/languages/$(LANG) was that the question? If this okay or if there was something else planned for make install? hi all Hi hola, rurban. jonathan: hi * jonathan finally woke up....after a LOT of (it seems needed) sleep. rurban: I'm sure jonathan can answer your question jonathan: q about make install for the languages I added now to almost all languages Makefiles the following targets: installable, test-installable and install install copies installable_$LANG@exe to bin_dir/parrot-$LANG@exe@, pod2man $(LANG).pir > $(DESTDIR)$(MANDIR)/man1/parrot-$(LANG).1, define DOCS and cp $(DOCS) $(DESTDIR)$(DOC_DIR)/languages/$(LANG) If this okay or if there was something else planned for make install? Or should we distribute just the $LANG.pbc into some dir? pbc_to_exe --install is handy to generate self-hosting binaries As far as I know, there weren't any solid plans for make install yet. It's been advised as something to just not do for quite a while now, because it was broken. Ok, So I'll just create a TODO ticket and write my plans there. Thing is, I want to package parrot and the languages for cygwin Yes To me, what you just suggested seems sane. rurban++ Without self-hosting installables I cannot do that, op needs the build_dir to run the langs. Ok, so I'll continue From what I understand, none of this works at all now, so if you're making it do something useful that's an improvement. :-) Even if folks see need to tweak the exact paths later. What I thought about is to generate the config/root.in framework automatically from some simplier definitions I just need pir deps, the resuklting pbc's, the pmc's, the DOCS and the source for pod2man That sounds like itmay make it more maintainable. *it may just like automake. users shoudl be able to override test, test-installable and some pmc and pbc targets well, language authors. language authors are in LANGUAGES.STATUS.pod, mostly The problem is: what about langs not in our tree? kea-cl e.g. basic is also out. I'm not so sure what we can do about those. I guess, they'll come with their own configure/make and so on. I think eventually, all language projects will move to their own repository. But I think that's a medium-term rather than a short-term thing - Parrot just ain't stable enough to make that a sensible option yet. * jonathan decides to spend the first part of his Rakudo day reviewing patches and tickets in the queue and apply/fixing stuff. % ruoso has joined #parrot % pmurias has joined #parrot [perl #57296] [TODO] make install -C languages r29751 | jonathan++ | trunk: : [rakudo] Make sleep return the value it was given, which for now fakes the number of seconds slept. More importantly, it avoids a Null PMC Access exception. We can improve this once sub-second time support is in place through the time() call. Patch from Carl Msak (masak++). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29751 heh, dalek encodes into latin-1, and rakudo_svn on #perl6 encodes into misformed utf-8... it's not easy coming from a country using strange accents on some of its letters :) masak: I've appreciated this fact much more since moving to such a country. jonathan: .sk, right? Here an accent makes the difference between "woman" and "men". :-) masak: Yes jonathan: yes, we have similar differences :) % NordQ has left NordQ!~user@77.as-24.nienschanz.ru Hmm...do we not have any tests anywhere for multi... there's a few pf them in the Pugs test suite I'll look at getting some together for Rakudo. I planned to spend some time writing tests before implementing the Perl 6 MMD algorithm, so I could make sure I had the whole thing clear in my head. For now, just wanted to add something since "multi foo" now parses (with upcoming patch). sounds good. r29752 | jonathan++ | trunk: : [rakudo] Make multi f() {} parse and work the same as multi sub f() {}. Resolves RT#57122. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29752 % paco has joined #parrot % kid51 has joined #parrot r29753 | jonathan++ | trunk: : [core] When trying to write to a closed file handle, we should throw an exception, not have an assertion failure. That way HLLs or programs can catch it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29753 % rurban_ has joined #parrot % rurban has left rurban!~chatzilla@212-183-57-247.adsl.highway.telekom.at % rurban_ is now known as rurban % ruoso has left ruoso!~ruoso@201.45.49.162 % Limbic_Region has joined #parrot % pmurias has left pmurias!~pawel@static-78-8-208-43.ssp.dialog.net.pl r29754 | jonathan++ | trunk: : [rakudo] Give a reasonable error message when trying to inherit from a non-existent class (we need something better eventually, but this beats odd exceptions and assertion failures). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29754 r29755 | jonathan++ | trunk: : [pct] Fix the Null PMC exceptions that could occur in the return_pir control handler. This resolves at least one Rakudo ticket, and should help anyone using NQP who was also seeing this bug. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29755 Whoever put the blue box in RT that gives a link to the editable version of a ticket deserves a beer. % bacek has joined #parrot g'night everyone % davidfetter has joined #parrot * jonathan wonders when the post-OSCON hackathon starts % Andy has joined #parrot it starts in about an hour and 20 Aha, OK. * jonathan moved an extra timezone east after moving from the UK, and is even further from whatever the timezone is in Oregon. % kid51 has left kid51!~jkeen@pool-70-107-15-104.ny325.east.verizon.net r29756 | jonathan++ | trunk: : [rakudo] Make multi sub foo { } work (the case where you have a multi, but no signature, which means it's a parameterless variant). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29756 jonathan++ # rt activity masak: Would rather try and not let the queue grow too huge. :-) jonathan: that's partly my fault, I guess :) Well, your fault in a good way. It means Rakudo is better as a result. that's my goal. :-) Ah. Class variables. I'm most interested to hear what you think of #57118 -- but I guess you'll get to that eventually I saw it is a bug in some vaguely scary parsing code and thought it better to let pmichaud pick which patch he thought was the Right One. Nice work coming up in two patches that will do it, though! :) I couldn't sleep last night, and figured "what the heck" % iblechbot has left iblechbot!~iblechbot@162.18-dial.augustakom.net % Andy has left Andy!~Andy@64.81.227.163 % timbunce has joined #parrot % _timbunce has joined #parrot * davidfetter sees double % timbunce has left timbunce!~timbo@12.157.240.2 Anyone have anything parrot-related they'd like me to work on? % bacek has left bacek!~bacek@pa58-111-23-114.pa.nsw.optusnet.com.au % ruoso has joined #parrot % clunker3 has joined #parrot % _timbunce has left _timbunce!~timbo@12.157.240.2 % bacek has joined #parrot % teknomunk has joined #parrot % Andy has joined #parrot % timbunce has joined #parrot % Andy has left Andy!~Andy@64.81.227.163 % davidfetter has left davidfetter!~davidfett@start.fetter.org r29757 | fperrad++ | trunk: : [Lua] first test for OpenGL diff: http://www.parrotvm.org/svn/parrot/revision?rev=29757 % davidfetter has joined #parrot % iblechbot has joined #parrot % kid51 has joined #parrot % jhorwitz has joined #parrot % Senaka has joined #parrot seen infinoid infinoid was last seen on #parrot 1 days, 13 hours, 3 minutes and 50 seconds ago, saying: s1n: http://www.parrotvm.org/svn/pugs [Jul 25 03:28:09 2008] % Senaka has left #parrot % chromatic has joined #parrot r29758 | pmichaud++ | trunk: : [rakudo]: spectest-progress.csv update, 110 files, 1885 passing tests diff: http://www.parrotvm.org/svn/parrot/revision?rev=29758 * jonathan waves a pmichaud *at hello how's things? good. finally have a working network connection again :-) Phew! How was OSCON? excellent, as always Nice Hopefully I make it there again some year. I've spent the week on anti-biotics and back and forth to the doctor, so you've certainly done better this week. r29759 | chromatic++ | trunk: : [Lua] Fixed SVN metadata on new file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29759 * jonathan would choose OSCON over beer-denying anti-biotics any day. "pmichaud" at 64.122.41.37 pasted "why doesn't this work?" (8 lines) at http://nopaste.snit.ch/13668 pmichaud: There is a time opcode? * jonathan wonders what it returns... "pmichaud" at 64.122.41.37 pasted "why doesn't this work? results" (5 lines) at http://nopaste.snit.ch/13669 Puts the current system time (represented as a number of seconds, with microseconds) in $1. Heh. That would work just nicely. ...except it gives me an odd result (see nopaste 13669) oh? sleep(4) doesn't actually sleep for 4 seconds. Wow. it sleeps for something less than 4 seconds I'm curious what this dones, on Win32. I'll go ahead and commit. OK, sure. Just smoking a change to add class attributes.... % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net pmichaud++ # woot, real sleep! If it passes, I'll apply it, and close another masak++ ticket. :-) r29760 | pmichaud++ | trunk: : [rakudo]: Update sleep() to return actual time slept. Sorta. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29760 r29761 | jkeenan++ | parallel: : [configure] Refactor gen::platform::runstep() into smaller chunks. Add tests : of internal subs where possible. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29761 "masak ticket". I like the sound of that. However $ perl6 -e 'class A { has $.x; method foo { say $.x } }; my A $a .= new; $a.foo' Object I'm pretty sure that printing Object is bogus. yes, why does it do that? Probably because I did something bone-headed inside the 'new' method. I'll look at it in just a moment... jonathan++ r29762 | jonathan++ | trunk: : [rakudo] First cut at getting class attributes (declared my $.x) to work. Does a little refactoring so we can do this without code duplication. Also has a workaround for :outer not being allowed to point at :init :load blocks; we can pull that out once pdd25cx is merged and PCT updated. Todo is make the accessor sensitive to the presence or lack or 'is rw' and make sure type constraints get applied. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29762 % Andy has joined #parrot pmichaud: On Win32, it appears we haven't got sub-second sleep implemented. So I just get 4 and 1 respectively. Erm, subsecond *time*, I meant. % jhorwitz has left jhorwitz!~chatzilla@64.122.41.37 % Andy has left Andy!~Andy@64.81.227.163 r29763 | jkeenan++ | parallel: : Eliminate trailing white space in several locations. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29763 % kid51 has left kid51!~jkeen@pool-70-107-15-104.ny325.east.verizon.net % apple-gunkies has left apple-gunkies!~chatzilla@tx-71-1-49-73.dyn.embarqhsd.net % timbunce has left timbunce!~timbo@12.157.240.2 % timbunce has joined #parrot % timbunce has left timbunce!~timbo@12.157.240.2 % gryphon__ has joined #parrot "chromatic" at 64.122.41.37 pasted "Calling PMC METHODs from VTABLE entries" (47 lines) at http://nopaste.snit.ch/13670 I can't make this work. I have stupid fingers today. r29764 | jonathan++ | trunk: : [rakudo] If you don't specify a type constraint that is a proto-object, we shouldn't default an attribute to containing Object proto-object. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29764 chromatic: Should it not be METHOD void set_key(PMC *key) { Most of the other methods aren't, but maybe. I'll try that. METHODs don't specify return types Is it not actually calling the method? Yes. Apply it and prove t/pmc/enumerate.t r29765 | pmichaud++ | trunk: : [rakudo]: Throw an appropriate exception for unescaped $'s in strings. : * Resolves RT #57118 (masak++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29765 chromatic: You getting "t\pmc\enumerate....too few arguments passed (0) - 2 params expected" Yes. pmichaud: I like "Can't use $ as non-variable in interpolated string". pmichaud++ thanks. I think TimToady will likely change it, though. ;-) maybe one could also write something about that \$ was probably what was intended so, perhaps "Can't used unescaped $ as non-variable in interpolated string"? *use already better :) provided that the programmer knows that 'escape' == '\' (in this case) chromatic: I think that it is expecting a call to have been set up using the Parrot Calling Conventions. Maybe try using PCCINVOKE I've done that too. Let me get the error message. Hm. Yeah, I'm trying it here and it fails to compile. Okay, now that worked. Like I said, stupid fingers. But basically, the problem boils down to run_meth_from_c calls runops_args, which calls inoke before calling pass_args_fromc, which normally is fine. Because invoke just returns an offset into the bytecode But here you're calling an NCI So it tries to get the args, before they have been set up to get. Ah, makes sense. It's maybe something worth fixing. I filed a bug a year and a half ago related to that. It's the "You can't invoke NCI calls from the external API." Ah. So certainly worth fixing. If I remember correctly, you said we needed some bytecode changes first. Though I may be thinking of the arity method. I can't think right now why this particular fix would want bytecode changes. Me neither, but it's been a while. r29766 | chromatic++ | trunk: : [PMC] Added the set_key() method on the Iterator PMC to encapsulate the : key-setting operation. (No more poking into its struct val, which I hope to : remove.) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29766 japhb, ping -- RT #57006 looks appliable. r29767 | chromatic++ | trunk: : [config] Add the cygwin importlib to please -lparrot in packaged version (Reini : Urban, RT #56562). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29767 is there color coding in vim or Emacs for PIR? % teknomunk_ has joined #parrot Look in editor/ chromatic: ah, thanks % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net could submethods, theoretically, be implemented in rakudo as of today? what's the semantics of `my $var` inside a class? (where '$var' is a non-twigil variable) rakudo: class A { my $a = "hi"; method foo() { say $a } }; A.new.foo() OUTPUT[␤] rakudo: class A { my $.a = "hi"; method foo() { say $.a } }; A.new.foo() OUTPUT[hi␤] Looks liek polyglotbot is properly updating every 10 minutes, btw. Tene++ (polyglotbot++) % jhorwitz has joined #parrot * jhorwitz hacks at PDX for an hour masak: Not sure; I think just something with no accessor jonathan: so it's a bug? Assigning initial values to attributes, class or otherwise, isn't yet implemented. oki To do that neatly I think we need to refactor variable_declarator to be more STD.pm-ish this is a bit problematic, too: rakudo: class A {}; say A.new OUTPUT[get_string() not implemented in class 'A'␤current instr.: 'print' pc 12252 (src/gen_builtins.pir:7798)␤called from Sub 'say' pc 12274 (src/gen_builtins.pir:7808)␤called from Sub '_block11' pc 36 (EVAL_13:16)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 ..(src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfil... it's related to that other bug, where constructor calls cannot be last in a program what's get_string(), and why doesn't A have one? :) how should A stringify? pmichaud: I don't know. er, how should an instance of A stringify? I'd love to fix it, but I just don't know how an instance of a class should stringify. Stringerifically. And I don't want to guess. pugs says that's better than failing. however, an instance of Object stringifies to the null string, so perhaps a subclass of Object should do the same. hm, gotta go make dinner. I'll be back tomorrow with more bugs :) good luck tonight! masak: Cool, thanks for all of the tickets you filed, giving me something to work on! :-) jonathan: thanks for fixing them! r29768 | chromatic++ | trunk: : [PMC] Made every PMC which stores a Key in an Iterator use the latter's set_key : method. Encapsulation++. pmichaud: That would be logic, easy to implement now, and clear up the current issue. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29768 makes rakudo ever more pleasant to play around with % masak has left masak!~user@130.238.45.242 jonathan: feel free to do it that way for now. OK, just cooking some food right now, and will do it after dinner. Or someone else could do it instead, and you could bring food here. Might be cold, by the time I arrive... pmichaud: Was there ever some decisive answer on the way but True and .true worked? * jonathan afk for a moment - dinner no decisive answer yet -- it's one of the questions I'm hoping to ask TimToady % slightlyoff has joined #parrot pmichaud: OK, great. jonathan, we need to fix some vtable stuff before the stringification works the right way. chromatic: Oh? Specifically? % coumbes has joined #parrot It's not clear whether adding get_string in P6Object should or shouldn't override the method of the same name in Int, for example -- at least, it's not clear to PIR. Ouch, yes. 'cus we "fake" the inheritance from P6Object. % Andy has joined #parrot the solution will likely be to keep P6Object from registering vtable methods, or otherwise controlling it somehow. chromatic: pong. Odd, I never received that response from rurban. Looking ... pmichaud: I pondered that, and it seems a tad messy, but I can't think of anything better. is there a way to introspect a sub/method to determine if it's a vtable sub/method? Looking src/pmc/namespace.pmc:189 pokes around % jhorwitz has left jhorwitz!~chatzilla@ip67-88-206-98.z206-88-67.customer.algx.net I remember adding that. In sub.pmc, we could easily add it to inspect r29769 | pmichaud++ | trunk: : [rakudo]: Switch sleep to be a listop instead of named unary (masak++) : * Partially solves RT #57924; but uses a hard-coded constant value : to represent "forever" until Parrot provides a way to do it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29769 chromatic: Go ahead and apply rurban's latest 57006. I've visually reviewed it, but I've got craziness going on around here, and can't apply/test/commit myself chromatic: Hmm...it seems that v-table overrides go into a separate hash in the class. That's right. but the code in P6Object.pir calls $P0.'methods'() Which gets just the methods hash. sure, which is what we want. but presently there's not a way to create a vtable method that is not also a method so every vtable method also ends up in the methods hash % Andy has left Andy!~Andy@64.81.227.163 Heh. I was expecting it to be in one or the other... But OK. So it seems easiest way to know which it is, is to add a "is_vtable_method" to the possible inspect strings for a Sub PMC. we just discussed here (with allison) how we'll control where the various subs get located short answer: .sub "foo" :method("method_name") :vtable("vtable_name") :ns("namespace_name") where omitting the parens causes the sub name to be used and applying any of the :method/:vtable/:ns flags suppresses the automatic entry of the sub name into the namespace Ah, OK. That sounds like it'll work. so, .sub "foo" :method creates a method not entered in the namespace .sub "foo" :method :ns creates a method that *is* entered in the namespace .sub "foo" :vtable ? r29770 | chromatic++ | trunk: : [config] Improved OpenGL detection for Cygwin (Reini Urban, RT #57006). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29770 well, one would not normally do that with "foo" but .sub "get_boolean" :vtable works creates a get_boolean vtable entry but does not create a get_boolean sub or method OK, makes sense. % Ademan has left Ademan!~dan@h-67-101-46-45.snfccasy.dynamic.covad.net % slightlyoff has left slightlyoff!~slightlyo@204.14.154.209 % apple-gunkies has joined #parrot % Ademan has joined #parrot % Auzon has left Auzon!~ak9@24-171-76-148.dhcp.mtvr.il.charter.com % teknomunk__ has joined #parrot % teknomunk_ has left teknomunk_!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % AndyA has left AndyA!~andy@ca93nt.hexten.net % AndyA has joined #parrot % teknomunk_ has joined #parrot % teknomunk__ has left teknomunk__!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % Ademan has left Ademan!~dan@h-67-101-41-30.snfccasy.dynamic.covad.net % rurban_ has joined #parrot % rurban has left rurban!~chatzilla@212-183-57-221.adsl.highway.telekom.at % rurban_ is now known as rurban r29771 | jonathan++ | trunk: : [rakudo] Fix for when you have multiple multis without signatures (but different names) in a program; before, all but the first one got mis-generated. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29771 r29772 | fperrad++ | trunk: : [Lua] triangle.lua, an OpenGL demo diff: http://www.parrotvm.org/svn/parrot/revision?rev=29772 % Ademan has joined #parrot r29773 | jonathan++ | trunk: : [rakudo] Add some tests for stuff I fixed/implemented today to spectest_regression. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29773 % Schwern has joined #parrot Hey kids, where's the hackathon? Urban Grind, east side Is Adam Kennedy there? Allison, Patrick, Larry, Jerry, Eric, and me no Adam Ok, thanks. I'll be there within 3 soons. If a soon is an hour, then it'll have closed. * ewilhelm thought adam said he would, but no word r29774 | fperrad++ | trunk: : [Lua] OpenGL, small fix diff: http://www.parrotvm.org/svn/parrot/revision?rev=29774 % gryphon__ has left gryphon__!~gryphon@dsl-209-221-185-54.zipcon.net pmichaud: ping pong For given blocks (and others that set the topic) At the end of "when" we need to have something to fall to the end of that block I'm thinking that is some kind of .control thing on a block that sets the invocant? .leave OK, but what does it call that one? s/one/on/ given $foo { when ... { }; when ... { }; } # simple case, topic set by outer block I haven't worked the details on that yet. given $foo { if $blal { when ... { ... }; when ... { ... }; } OK it may be that we give an implicit label to the block I was wondering if it was a control exception. yes, it's a control exception. Like, one that is thrown at the end of a when block, and is caught at the end of a block that sets $_. in some sense it works about the same as 'last' % kid51 has joined #parrot so I may just implement it that way Hmm. Apart from the block you want to leave with "last" maybe wasn't the one that set the topic. oh? example? % iblechbot has left iblechbot!~iblechbot@ppp-62-216-196-166.dynamic.mnet-online.de and keep in mind that given $foo -> $x { ... } is valid given $foo { for @list -> $a { when $a { say "yay" } } } in that example, when applies to the 'for', not the 'given' OK. But the for isn't setting the topic? Or is it? As in, do both $_ and $a get the current iteration variable? % Andy has joined #parrot ...."setting the topic" is a bit of a red herring here. oh, perhaps not. hmm. pmichaud: I forgot to mention I really do enjoy your recap talks thanks! even if I ostensibly know everything you're saying (which I don't) pmichaud: when always smartmatches against $_, thus my confusion other what the "when" actually applies to here. (where here = in the last example I wrote) okay, re-reading the spec "The given block is just one way to set the current topic, but a switch statement can be any block that sets $_, including a for loop (assuming one of its loop variables is bound to $_) or the body of a method (if you have declared the invocant as $_)." And "If the smart match succeeds, when's associated block is executed, and the innermost surrounding block that has $_ as one of its formal parameters (either explicit or implicit) is automatically broken out of." This next commit message will be the awesome. r29775 | chromatic++ | trunk: : [IMCC] Made :vtable sub attribute imply the existence of a "self" PMC, which : refers to the invoking PMC. Many occurrences of :method on vtable subs can go : away now. See RT #47674 (and thanks to Andrew Whitworth for most of this : patch). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29775 Is the awesome! chromatic++ Figured you'd like that almost as much as I do. % Debolaz has left Debolaz!~root@nat.andersberle.com jonathan: (asking TimToady) pmichaud: OK. (answers from TimToady)++ -> $a { ... } doesn't set $_ as a parameter so yes, when $a { ... } would break out of the outer block OK So we maybe need some control exception specially for that? % Auzon has joined #parrot which means that we want to put a control exception on blocks that have $_ as a formal param OK This gets a little fun, I guess, because in the case of a sub or method that takes $_ as one of its parameters, it is that block. But that also needs to have the return_pir control. which means we'll want to update control exceptions in PCT, which is what I've been planning to do but haven't had tuits for yet OK. the return_pir control can handle more than just return exceptions PCT's default is to handle only return exceptions, but a HLL can provide its own return_pir PAST and I'm somewhat waiting for pdd25cx merge before deciding exactly how to do that OK, at the moment, or is that waiting control exceptions work? Aha, OK, makes sense. It just occurred to me that getting given/when etc working would be kinda nice to do. :-) I've spent the day mostly fixing little bits here and there. Urban Grind is closing soon? What's the plan then? Amongst other things, fixing the return_pir code sometimes giving null PMC exceptions. Was happy to track that one down. Schwern, you have 2.5 hours. Excellent. r29776 | jkeenan++ | parallel: : [configure] Refactor one hard-coded file name from inside runstep() to : _init(). Test appropriately. Delete commented-out code. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29776 % Schwern has left Schwern!~schwern@71-34-64-109.ptld.qwest.net % Andy has left Andy!~Andy@216.125.167.67 OK, I'm too tired to do anything much else today... Report: http://use.perl.org/~JonathanWorthington/journal/37019 jonathan++ % Limbic_Region has joined #parrot pmichaud: Are you about next week at all, or is it your week travelling about? mon and tues I'll be online (Just for co-ordinating Rakudo day...) wednesday is travel thu and fri I don't know yet. I'll have some online time, but I don't know the hours yet OK, I need to deal with some other stuff on Monday for sure. Tuesday should be do-able. okay, let's plan that. That probably works best for me, as I'll have some catching up to do on Mon OK. There's a couple of big-ish things I'd like to attack. One of them is getting variable declarator inline with STD.pm So the initial assignment is parsed as part of that. I think that's going to require a PGE fix, though. I did fear that might be the case. :-( but I might be able to come up with a workaround. Let's plan that for Tues, at any rate But has $.x = 42; is, I fear, going to be messy without that. oh yes, it will. We don't want any more $?OMG_GLOBAL. :-) although we might be able to cheat it at least to the level that assignment is currently cheating I wanted to catch Esther Dyson at Burgerville this week so I could take a picture and label it "ICANN Has Cheeseburger" :-D The other thing is the type registry. Where would she have to eat for me to get THAT picture? type registry might be a bit easier McDonalds? McDonalds is, like, paying $8/hr for the position of Janitor pmichaud: Yeah. But getting it right with namespaces, leical classes, blah. Not that we have lexical classes yet. :-) (Though in theory now anoymous ones work, that should be easy...) r29777 | coke++ | trunk: : [cleanup] remove duplicate coda, probably copied in from when this was a standalone file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29777 I also worked out a way to implement state variables, with stashing the current value in a hash attached to the current sub as a property, which should be fairly easy to implement. That too is almost certainly something to do after re-working variable_declarator, however. yes. and we still need to get lexicals/closures working Also, I'm really not happy with the whole scope declarator/scoped/variable declarator code. And yes, I know, I'm responsible for the mess. :-D yes, it can be cleaned up. I think I should spend some time (before Tuesday) building/updating the roadmap and identifying which features we need to have in place before others Part of it is, before we hit parsing the variable we already have parsed the scope. But there's no convenient way I can see, other than more $?FOO, to be passing that along to things deeper in the parse tree. does it need to be passed along? Well, the problem I'm finding now is that in scope_declarator, there's a "is it a variable we're scoping, is it a routine we're scoping", etc. With lexical packages it'll just gets worse. So we end up with the logic for handling variables scattered all the way up the action methods. And variable_declarator can't really look up the parse tree, or not so far as I'm aware. no, we can't look up the parse tree yet but I'm not sure what about variables needs to be "handled" just yet OK. Take a look through the code, and it should give you an idea of what I mean, anyway. sure. I've looked in the past and agree it needs some refactoring Sure. I agree - I'm just not sure what the best way is. % donaldh has joined #parrot % donaldh has left donaldh!~chatzilla@host213-123-171-12.in-addr.btopenworld.com % cotto_home has left cotto_home!~cotto@96-26-202-243.sea.clearwire-dns.net % cotto_home has joined #parrot * jonathan sleeps % chromatic has left chromatic!~chromatic@64.122.41.37 % chromatic has joined #parrot r29778 | jkeenan++ | parallel: : [configure] Refactor code from inside runstep() to _handle_define_option() to : increase testability of previously uncovered branch. Add appropriate tests. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29778 % Schwern has joined #parrot http://iwantmyopenid.org/bounty The OpenID bounty thing s/un/o/ 404: booty not found r29779 | chromatic++ | trunk: : [PMC] Converted Pair PMC to use PDD 17 attribute storage. As part of this, it : now only holds PMC keys. If we need STRING keys, we need a new implementation. : (Replace conditional with polymorphism.) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29779 % chromatic has left chromatic!~chromatic@64.122.41.37 % Alias has joined #parrot ping? * Alias tries to contact people at the hackathon % Schwern has left Schwern!~schwern@64.122.41.37 Oh come on... wtf are they :( % Alias has left Alias!~adam@069-064-236-003.pdx.net % Alias has joined #parrot % Alias_ has joined #parrot % Schwern has joined #parrot moritz: We have a question about the logic behing # pure in the fudge file. moritz: Why would one want to use #pure and not simply remove the fudge from the .t file in question? (We're trying to refactor the test suite to easier run individual test files) % Andy has joined #parrot % Alias has left Alias!~adam@c-24-21-185-224.hsd1.or.comcast.net % apple-gunkies has left apple-gunkies!~chatzilla@tx-71-1-48-56.dyn.embarqhsd.net % Andy has left Andy!~Andy@64.81.227.163 r29780 | coke++ | trunk: : [tcl] Now that :vtable knows about 'self', drop the :method hack we had been : using to get access to it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29780 % Andy has joined #parrot cla? cla is Contributor License Agreement or http://www.perlfoundation.org/contributor_license_agreement Could somebody check if I signed a CLA and have a commit bit? I think I did about two years ago cla's were first handed out at yapc::na 2006, so that would be about right but in general commit bits that haven't been used in more than a year tend to get disabled (I think) ah ha r29781 | jkeenan++ | parallel: : Refactor some code from inside runstep() into _handle_asm() and add appropriate tests. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29781 pmichaud: Could you apply that patch please? working on it -- running a test first r29782 | pmichaud++ | trunk: : [rakudo]: Allow single-test make targets, refactor fudge/harness. : * Patch courtesy Schwern++. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29782 % Andy has left Andy!~Andy@64.81.227.163 % bacek_ has joined #parrot r29783 | jkeenan++ | parallel: : [configure] Make all functions into methods of the step class. This done : mainly to make content of coda universally available, so it is moved into : _init(). Refactor code from inside runstep() to _handle_begin_c() to increase : testability of previously uncovered branch. Add appropriate tests. Add : inline comments in test file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29783 % teknomunk_ has left teknomunk_!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net pmichaud: parallelization patch sent Schwern: where are you sending these patches? they're going to my inbox normally we'd send them to rakudobug@perl.org, but we didn't want the mailing list/rt delay % Theory has joined #parrot % kid51 has left kid51!~jkeen@68.237.5.103 % Alias_ has left Alias_!~adam@c-71-59-241-170.hsd1.or.comcast.net r29784 | pmichaud++ | trunk: : [p6object]: Eliminate %!metaclass hash : * Classes point directly to metaclass object : * Anonymous classes no longer leak memory diff: http://www.parrotvm.org/svn/parrot/revision?rev=29784 r29785 | pmichaud++ | trunk: : [configure]: Fix config/auto/opengl.pm to match coding standards. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29785 r29786 | cotto++ | trunk: : [intlist] make intlist_get correctly check return list_get's return value diff: http://www.parrotvm.org/svn/parrot/revision?rev=29786 % Schwern has left Schwern!~schwern@c-71-59-241-170.hsd1.or.comcast.net % Andy has joined #parrot is there anything already in Parrot that I could use to check if a DESCRIPTION section is empty? in a Pod file % ewilhelm has left #parrot % ewilhelm has joined #parrot pmichaud, hackathon adjourned? % teknomunk has joined #parrot % rurban_ has joined #parrot % rurban has left rurban!~chatzilla@212-183-58-89.adsl.highway.telekom.at % rurban_ is now known as rurban % teknomunk_ has joined #parrot % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net uh, touch /tmp/t && make test fails t/perl/Parrot_IO.t ? rt? hmmm... rt is just RT (http://bestpractical.com/rt) or (:rt3) or (: rt bugs) or Obra's trouble ticketing system or the first IBM RISC workstation (http://www.contrib.andrew.cmu.edu/~shadow/ibmrt.html) or the bombsquad or the Right Thing or very very capable and open-source or an application framework that bundles a ticketing system or obra's baby or SOOOO slow :-S or email mailto:perlbug-owner@perl.org for access is that a report-worthy bug or have I completely lost my mind? parrotbug? parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug" rakudobug? rakudobug is probably mailto:rakudobug@perl.org parrot rt? it has been said that parrot rt is http://rt.perl.org or http://rt.perl.org/rt3/Public/Bug/Display.html?id=$bugnum aha ok, now that I'm back on the path of my bisection search to discover why compiling segfaults on amd64 rakudo roadmap? roadmap? roadmap is http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-11/msg00115.html Auzon, you talking to me or just messing with the bot? I'm asking the bot stuff, but maybe you know ;) I'm looking to see if the lack of m// support is on the roadmap or anything before I report it (in rakudo, that is) * ewilhelm wouldn't have a clue, I can't even run rakudo What OS? --> bisection search to discover why compiling segfaults on linux amd64 purl, rakudo roadmap is http://svn.perl.org/parrot/trunk/languages/perl6/ROADMAP OK, Auzon. I won't bug them about m// yet then :) ewilhelm: Seems to be working for me. Good luck on your search working? at HEAD of trunk? Yes. Fedora 9, 64 bit. grr. thanks starting to look like bisection was not needed... hm. One test has fails. :-/ which? t/spec/S02-names_and_variables/perl.t But that's something minor. is this new? we were messing with the harness some today Looks like new today. It segfaults, oddly enough which (I think) has nothing to do with what I'm attemting to chase-down ack. HEAD builds fine. I think svn ate my baby. % Psyche^ has joined #parrot what is languages/perl6/t/fetchspec ? make does svn co on the pugs t/spec, where this just picks a couple directories ? Apparently so, but I'm not sure why It's not used in the Makefile at all. Hasn't been touched in ~4000 revs It looks like the predecessor to spectest_regression. so that goes to rakudobug then? % Patterner has left Patterner!~Psyche@e177227011.adsl.alicedsl.de % Psyche^ is now known as Patterner r29787 | cotto++ | trunk: : [codingstd] fix a trailing space diff: http://www.parrotvm.org/svn/parrot/revision?rev=29787 r29788 | cotto++ | trunk: : [pod] Add a test to pod.t to make RT #48264 closeable. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29788 % Theory has left Theory!~Theory@c-67-160-131-113.hsd1.or.comcast.net 6/10.6 0.566037735849057 t/dynpmc/foo.t - Failed test 'loadlib with absolute pathname, no ext' ?? % coumbes has left coumbes!~coumbes@pool-72-69-105-225.chi01.dsl-w.verizon.net % ewilhelm has left #parrot % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net % Schwern has joined #parrot % Theory has joined #parrot % teknomunk_ has left teknomunk_!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % teknomunk_ has joined #parrot % Theory has left Theory!~Theory@c-67-160-131-113.hsd1.or.comcast.net % Andy has left Andy!~Andy@64.81.227.163 % Ademan has left Ademan!~dan@h-67-101-145-9.snfccasy.dynamic.covad.net % davidfetter has left davidfetter!~davidfett@start.fetter.org % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au