% teknomunk_ has left teknomunk_!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % bacek_ has left #parrot % mj41 has joined #parrot % integral has joined #parrot % iblechbot has joined #parrot % ank has joined #parrot % uniejo has joined #parrot % Zaba_ has joined #parrot % Patterner has joined #parrot % ruoso has joined #parrot % paco has joined #parrot % ilbot2 has joined #parrot % slavorg has joined #parrot % cognominal has joined #parrot % Debolaz has joined #parrot % allison has joined #parrot % itz_ has joined #parrot % PerlJam has joined #parrot % leo has joined #parrot % pmichaud has joined #parrot % jonathan has joined #parrot % wolverian has joined #parrot % Juerd has joined #parrot % dalek has joined #parrot % askie has joined #parrot % rafl has joined #parrot % shorten has joined #parrot % jq has joined #parrot % moritz has joined #parrot % Maddingue has joined #parrot % bgeron_ has joined #parrot % jrockway has joined #parrot % MagNET has joined #parrot % pjcj has joined #parrot % omega has joined #parrot % szbalint has joined #parrot % Zaba has joined #parrot % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru r27660 | fperrad++ | trunk: : [PLATFORMS] : - update for MinGW32 diff: http://www.parrotvm.org/svn/parrot/revision?rev=27660 % IllvilJa has joined #parrot % ruoso has left ruoso!~ruoso@a81-84-27-88.cpe.netcabo.pt hi there I've investigated 'cmp bug'. Actually, when we creates variables of subclass of Integer they are just Objects inside of parrot. So, PMC_get_int doesn't work as supposed in src/pmc/integer.pmc. On replacing PMC_get_int with VTABLE_get_integer everything works. bacek: Sounds like a correct fix. But it looks like another bug: we actually call Parrot_Integer_cmp not on Integer class. No, that is the cmp vtable method of the Integer class. But should be SELF be Integer? s/be// Yeah, in fact maybe you should be writing SELF.get_integer, which will produce a call through real_self, but all of that lot is meant to eventually go away. jonathan, ok. I'll create patch for src/pmc/integer which will call VTABLE_get_integer instead of PMC_get_int. But it will slow down computations. Sure, that's what abstractions do. :-) :) We may just write out own Int PMC for Rakudo in the end or something. We sorta-ish need it to inherit from Any, is the thing. Ho. actually all other methods uses SELF.get_integer() So looks like this is "right way" :) Yeah, I think that dispatches by real self (as in, to the Object, not just to the Integer), so it sees any overrides. jonathan, indeed what about methods like set_integer_native? Should whey use virtual dispatch? Does that actually dispatch? I'd have thought that just set the value in the struct? Oh, do you mean calls to set_integer_native rather than the method itself? jonathan, yes Oh, yes, calls should be virtual, otherwise things go horribly wrong for subclasses. jonathan, got it. Well, any subclass that overrides that method and expects to have it called anyway. jonathan, ok. So all 'getters' except in get_integer should call SELF.get_integer() instead of PMC_int_val. 'setters' still have to use PMC_int_val. Correct? Hmmm. I'd have expected to be able to override set_integer as well, perhaps... What 'setters' are you thinking of? VTABLE void thaw(visit_info *info) { IMAGE_IO * const io = info->image_io; SUPER(info); if (info->extra_flags == EXTRA_IS_NULL) PMC_int_val(SELF) = VTABLE_shift_integer(INTERP, io); or it should be changed to SELF.set_integer(...)? I'd leave thaw as it is. Here we're trying to deserialize and just put the data back in place. jonathan, there is total 12 places where PMC_int_val is in use (after my changes). And I have no idea should I change them or not... I suggest, send in a patch with the ones you're sure about, and mention those you aren't and ask for opinions. http://pastebin.org/37243 Looks like it is long mailqueue on RT... 12:08 < cognominal_> rakudo: my @a = (1); say @a[0]; 12:08 < exp_evalbot> OUTPUT[get_pmc_keyed() not implemented in class 'Integer'#current instr.: '_block11' pc 43 that's quite nasty :/ I filed a bug and pmichaud is aware of it I'm 90% sure in patch on pastebin. I'll create another one for "im-not-definetly-that-this-is-right-thing" cognominal: ok this is these small things known by the implementors but drives the beginner crazy. They are also the things that look like they should be trivial to fix, but are a lot more subtle than you'd think. jonathan, exactly... jonathan, I know because I tried :) and my try was messy and wrong. jonathan++ and pmichaud++ to explain me my errors jonathan, ok. There is methods: set_pmc, set_integer_same, set_integer_native, increment, decrement, thaw which uses PMC_int_val. Plus init and initialize And RT#46627... So, should be MMD_Integer_EXACT used for check or this ticket outdated? % davidfetter has joined #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-200-94.dynamic.mnet-online.de % kid51 has joined #parrot % ruoso has joined #parrot jonathan, ? sorry sorry, $DAYJOB is distracting me... Got a link to that RT ticket? BTW, method list that touch the value directly seem reasonable to me. http://rt.perl.org/rt3/Ticket/Display.html?id=46627 In src/pmc/integer.pmc:add() there is the todo item: * TODO * check for exact Integer type * e.g. MMD_Integer_EXACT jonathan, It's almost 9pm in Sydney :) so my $dayjob already done Ah, about 1pm here in Slovakia, so it's very much in progress here :-) BTW, Is different contexts implemented in rakudo? like ~@list? I know +@list works jonathan, hey. It's lunch time! Oh yeah! Hmmm...I guess it depends if EXACT means it really is this very same class, or if it could be a subclass. Not 100% sure on that, sorry. I suggest either investigate, or comment on the ticket (cc'd to list) to get an answer. Ok. http://rt.perl.org/rt3/Ticket/Display.html?id=54474 'cmp bug' with proposed patch % rdice has joined #parrot r27661 | allison++ | pdd25cx: : [pdd25cx] Bringing the pdd25cx branch up-to-date with trunk r27660. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27661 % ambs has joined #parrot \o/ DietCoke++ #finally answered my email (positive reenforcement)++ :D we are all pavlovian programmers * cognominal sweeps his keyboard % kid51 has left kid51!~jkeen@pool-71-247-59-151.nycmny.east.verizon.net % iblechbot has joined #parrot cognominal: I've just over lunch thought up a temporary and small hack to make "my @a = (1); say @a[0];" work...will give it a go later on today. Gotta sort out $dayjob stuff right now... jonathan, check your mail it seems there is a possibility of double room Ah, OK I'll take whatever I can get to sleep on! :-) When I tried to book online I got a "no rooms available"... my hack works if you leave out the "( )" case, second parameter of the action I don't say it's clean % tewk has left tewk!~tewk@ekstrom.org % tewk has joined #parrot % AndyA has joined #parrot % Psyche^ has joined #parrot % Patterner has left Patterner!~Psyche@e177234125.adsl.alicedsl.de % Psyche^ is now known as Patterner % tetragon has joined #parrot % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com * bacek start loving assembler again. http://rt.perl.org/rt3/Ticket/Display.html?id=54514 Implementing mergesort on such level is old good fun. Like hacking soviet clone of PDP-11 back in 80-s :) bacek: any reason why you're redoing it in PIR when there's a version in C already? (I ask because I just threw out language/tcl's PIR version of sort in favor of the C version. =-) DietCoke, It's fun! :) I cannot argue with that. =-) DietCoke, and its mergesort. Not quicksort. If you want to see tcl's usage, check out languages/tcl/runtime/builtin/lsort.pir , look for 'sort' with the quotes. (I'm passing in a comparator function that's written in PIR) bacek++ # -Ofun but otherwise carry on. % Khisanth has joined #parrot % spinclad has joined #parrot % Tene has joined #parrot % zostay has joined #parrot % TonyC has joined #parrot % nopaste has joined #parrot % diakopter has joined #parrot % purl has joined #parrot % japhb has joined #parrot % silug has joined #parrot % Eevee has joined #parrot % Sartak has joined #parrot % dngor has joined #parrot % jjuran has joined #parrot % jjore has joined #parrot % confound has joined #parrot % Infinoid has joined #parrot DietCoke, hmm... You invoke $P0.'sort'. DietCoke, how it call to Parrot_quicksort. I just can't find it... % tetragon has left tetragon!~seneca@69-196-141-26.dsl.teksavvy.com bacek: the ResizablePMCArray PMC already knows how to 'sort' i.e., doing $P0.'sort' on a ResizablePMCArray ultimately calls Parrot_quicksort % davidfetter has left davidfetter!~chatzilla@start.fetter.org src/pmc/fixedpmcarray.pmc, lines 41-46 > ('a',1,'b',2).sort.say Method 'sort' not found for invocant of class 'List' its in rakudo... well, one would have to pass a comparison function to sort it doesn't have a default still, I'm surprised that it gives "Method 'sort' not found" -- just a sec pmichaud, ok. i'll try it very interesting. it has been said that very interesting. is that a quote? Apparently the 'sort' method doesn't get inherited by subclasses of ResizablePMCArray . (such as 'List') pmichaud, heh... "pmichaud" at 76.183.97.54 pasted "'sort' not inherited by subclasses of RPA" (27 lines) at http://nopaste.snit.ch/13022 % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru pmichaud, Can't find 'sort' in "Resizable"... But can in 'Fixed'... ResizablePMCArray isa FixedPMCArray see line 25 of resizablepmcarray.pmc pmclass ResizablePMCArray extends FixedPMCArray need_ext provides array { pmichaud, a! Got it... * pmichaud does a double-take oh this is totally bizarre % Zaba has joined #parrot big bug :-) did we make the conversion from DYNSELF to SELF? * bacek hides it may be that you need to say DYNSELF.some_vtable_function for inheritance to work "pmichaud" at 76.183.97.54 pasted "'sort' not inherited by subclasses of RPA, but 'push' is" (27 lines) at http://nopaste.snit.ch/13023 part of the pmc pdd is to convert DYNSELF to SELF and SELF to STATICSELF I'm guessing that superclass methods aren't being inherited properly i.e., given that RPA is a PMC class and RPA inherits from FPA if we create a subclass of RPA, then the methods of FPA aren't being included in the subclass perhaps. you can test by creating a subclass of FPA see if sort works oh, good idea. pmichaud: Good Idea: Visiting the circus. Bad Idea: Having the circus visit you. ah, it's more complex than that. bacek: short answer: until we get inheritance working, we need a 'sort' method for rakudo :-) bacek: however, you could copy all of the elements of a list into a FixedPMCArray, and then use its sort method pmichaud, oooo... Good answer :) and then cast that back into a List that won't work with lazy lists, but we don't implement those yet well, i suppose it will work... just need to make it unlazy before conversion to FPA correct ok. Is there anything useful that "casual developer" can implement for rakudo? hard to sort a lazy list :-) except in special cases pmichaud, why? Just use old good bubble-sort well, we can sort a lazy list, but it's no longer lazy. bacek: look for functions from S29 that aren't implemented particle, 'sort' for example? :) also, note that the 'sort' method is an inplace sort (in FixedPMCArray) let me finish updating NEWS, then I'll file a ticket for 'sort' pmichaud: can we implement gather/take yet? * particle updates and checks roadmap particle: I haven't really looked at it yet. That would be way down the list on roadmap, though you need some sort of dynamic scoping for gather/take even if it's just global variable in the interpreter of some sort that we can do oh, dynamic scoping isn't too hard that's pretty easy in Parrot. * bacek start thinking that implementing sort as creating FPA is good idea... % jjore has left jjore!~jjore@c-24-16-241-176.hsd1.mn.comcast.net % jjuran has left jjuran!~jjuran@c-71-227-190-72.hsd1.or.comcast.net % silug has left silug!~steve@ppp-70-225-32-179.dsl.covlil.ameritech.net % japhb has left japhb!~geoff@76-191-190-8.dsl.static.sonic.net % diakopter has left diakopter!~diakopter@209.9.237.164 % Eevee has left Eevee!~eevee@c-67-160-3-54.hsd1.wa.comcast.net % Khisanth has left Khisanth!~Khisanth@pool-68-237-111-126.ny325.east.verizon.net % Sartak has left Sartak!~sartak@69.25.196.249 % zostay has left zostay!~Hanenkamp@adsl-76-250-253-44.dsl.tpkaks.sbcglobal.net % Tene has left Tene!~tene@castro.iodynamics.com % spinclad has left spinclad!~rhale@209-6-140-232.c3-0.bkl-ubr2.sbo-bkl.ma.cable.rcn.com % confound has left confound!hdp@floe.aq % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % Infinoid has left Infinoid!infinoid@mad.cow.org % dngor has left dngor!abuse@adsl-068-213-211-142.sip.bct.bellsouth.net % purl has left purl!purl@sentient.life % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % Khisanth has joined #parrot % spinclad has joined #parrot % Tene has joined #parrot % zostay has joined #parrot % TonyC has joined #parrot % nopaste has joined #parrot % diakopter has joined #parrot % purl has joined #parrot % japhb has joined #parrot % silug has joined #parrot % Eevee has joined #parrot % Sartak has joined #parrot % dngor has joined #parrot % jjuran has joined #parrot % jjore has joined #parrot % confound has joined #parrot % Infinoid has joined #parrot actually sort() could return a lazy list bacek: for now I'd be happy with any 'sort' implementation that works, whether it uses the one in FPA or not. than it could run in O(n) if you only take the first or first two items and O(n log n) if you take them all well, taking only the first item is effectively "min" :-) but yes, it would be possible for sort to return a lazy list. yep, and O(n) may be very large for list items calculated from values stored in a db r27662 | allison++ | pdd25cx: : [pdd25cx] Adding new exception type. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27662 r27663 | pmichaud++ | trunk: : Update NEWS. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27663 % rdice has joined #parrot pmichaud: (doesn't work) but it works in tcl... odd. does tcl subclass ResizablePMCArray ? checking. yes. is the subclass a PIR subclass or a PMC subclass ? PMC ah, that's the difference. ISTR there's a ticket about the PIR from PMC not quite working. yes, but I thought that had been resolved long ago. but it's not working for superclasses of PMC classes possibly, but if you're saying it doesn't work... I have a simple test case written -- just cleaning it up how do you superclass a PMC? =-) (test) hokay. (it's not working for methods of superclasses of PMC classes...) "pmichaud" at 76.183.97.54 pasted "methods in PMC classes and inheritance - b0rken" (39 lines) at http://nopaste.snit.ch/13024 % ambs has left ambs!~ambs@siglab.di.uminho.pt Segfault bad. hmm. in this case it's because 'lower'() does bad things. PMC * const ret = pmc_new_noinit(INTERP, SELF->vtable->base_type); PMC_str_val(ret) = s; excellent test case, pmichaud so, segfault here is due to the 'lower' implementation, not inheritance. Let's try... PMC inheritance isn't working yet as PDD 17 spec'd it, I don't think. "pmichaud" at 76.183.97.54 pasted "inheritance b0rken in subclasses of PMCs -- #2" (32 lines) at http://nopaste.snit.ch/13025 well, it works for at least one level. for example, the 'push', 'pop', etc. methods defined in RPA work for PIR subclasses of RPA pmichaud, my version of 'sort' attached to ticket. pmichaud, and i try to use FPA... pmichaud: I meant more that, the way it's implemented now. here we go -- this illustrates it nicely. "pmichaud" at 76.183.97.54 pasted "inheritance b0rken in subclasses of PMCs -- #3" (43 lines) at http://nopaste.snit.ch/13026 filing ticket(s) pmichaud, looks like I found another bug... bacek@icebolt:~/src/parrot/languages/perl6$ cat s3.t my @l = ('a', 'b', 'c', 'd', 1, 2, 3, 4); my @l1 = sort { $^b <=> $^a } , @l; say ~@l1; bacek@icebolt:~/src/parrot/languages/perl6$ ../../parrot perl6.pbc s3.t * DietCoke ponders asking ambs to post his script. It uses FPA sorting... % Andy has joined #parrot http://pastebin.org/37282 impl. r27664 | coke++ | trunk: : update freebsd diff: http://www.parrotvm.org/svn/parrot/revision?rev=27664 r27665 | allison++ | pdd25cx: : [pdd25cx] Changing name of 'dumpcore' macro to 'DUMPCORE' to match coding : standards, with additional comment for clarity. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27665 % jhorwitz has joined #parrot r27666 | allison++ | pdd25cx: : [pdd25cx] Missed one DUMPCORE. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27666 % wknight8111 has joined #parrot allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy pmichaud: ping % uniejo has left uniejo!~uniejo@langebro.adapt.dk $ cat s3.t my @l = ('a', 'b', 'c', 'd', 1, 2, 3, 4); my @l1 = @l.sort; say ~@l1; $ ../../parrot perl6.pbc s3.t 1 a 2 b c 3 4 d yeeek... who's sort is that? jhorwitz: pong (but has to be quick -- have to go to a lawyer's office in 13) FPA (er, have to *be* at a lawyer's office in 13) (sort): what comparison function is being used? http://pastebin.org/37282 infix:cmp get_global $P0, "infix:cmp" sorted = 'sort'($P0, list :flat) oh. perhaps infix:leg would be a better choice, since we know that parrot's 'cmp' isn't good. pmichaud: catching the exception worked pmichaud, same results jhorwitz++ # excellent all tets pass, should i commit or wait for after the release? tests I think committing is okay. Or it can wait for the release -- your choice. be careful with core parrot changes language changes are ok TimToady++ helped get jonathan and I set aright on how to handle the $!, $/, $! items particle: this is for rakudo ship it! giddyup language changes are okay, yes, but we'd still like to make sure that rakudo passes 'make test' in a release. * bacek voting for http://rt.perl.org/rt3/Ticket/Display.html?id=54514 Aye, I may well look at that tomorrow ($1, etc, not the ticket just pointed at...) pmichaud: yes, and i'll run make test :) erm, $! gotta run to lawyers -- bbiaw bacek++ # sort patch allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy and http://rt.perl.org/rt3/Ticket/Display.html?id=54474 oops. % Psyche^ has joined #parrot compiler complains about 54474 % davidfetter has joined #parrot % Patterner has left Patterner!~Psyche@e177231135.adsl.alicedsl.de % Psyche^ is now known as Patterner Okay, I'd really like to figure out all the issues with properly handling $_ as a block parameter. Maybe I should send mail to the list. did you see timtoady, jonathan, and pmichaud talking last night about $_? the answers lie within Fantastic! % NotFound has joined #parrot Last night was perhaps the wrong night to take a break. Hello. particle++ # information! * Tene scrollback scrollback is your friend r27667 | jhorwitz++ | trunk: : catch 'No such caller depth' when subs are called from embedded environment (RT #54444) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27667 % radhios has joined #parrot 27666 crashes on make test... Okay, that's some good reading for lunch. Failed 5/584 test programs. 19/11275 subtests failed. * bacek looser... it has been said that looser is an adjective please anyone check patch in http://rt.perl.org/rt3/Ticket/Display.html?id=54474. I'm not sure about correctness... * Tene looks. integer2.diff? Tene, yep Does it cause any new test failures? I don't see any problems with it. Tene, I'm running tests right now... It takes a long time... * Tene nods. Hm. I've got an eight-cpu box at my office... I should run tests there. * Tene bbiab I run them on my old laptop... 10 minutes... I... can't... wait... any... more... $ prove t/pmc/integer.t t/pmc/integer......ok All tests successful. Are you feeling lucky? r27668 | allison++ | pdd25cx: : [pdd25cx] Change 'push_new_c_exception_handler' to 'Parrot_ex_add_c_handler', : and remove 'new_c_exception_handler'. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27668 My middle name is 'bad'... bacek: looks okay to me, then. purl, whanna cookie? i don't know, bacek Tene, it's good. purl, cookie? C is for cookie, it's good enough for me! allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy purl: no, C is for lettuce, it's good enough for me! okay, Tene. Hm, that was the wrong factoid. Oops. purl, say squaak bacek: i'm not following you... Tene, same number of failing tests. Files=584, Tests=11275, 501 wallclock secs... % rgrjr has left rgrjr!~user@c-98-216-94-251.hsd1.ma.comcast.net ok. time to sleep. % Theory has joined #parrot jhorwitz: ping pmichaud: pong jhorwitz: can we close #54444 ? i was thinking about that. i guess we can, unless we want to question the behavior of $P0['lexpad';1] that could be a separate ticket though I think it's reasonable to question $P0['lexpad';1], but that probably belongs in the parrot queue. so yes, it'd be a separate ticket. the let's close it out! :) and it may be a moot point anyway, given how $! $/ $_ are to be handled so I think we just close it. sounds good to me. * pmichaud likes seeing tickets get closed. mmm...closed tickets :d * jhorwitz likes 24 hours turnarounds :) it will be an interesting milestone when rakudo has more outstanding tickets than parrot :-) * davidfetter figures outstandingness is in the eye of the beholder pmichaud: 'say False' doesn't work. Bool::False, sure. rt#54444 closed. where is 'False' defined? is it an imported global, or ... ? src/classes/Bool.pir src/classes/Bool.pir is where i was looking no, I mean in the spec. ah. gotta check that. S12 our bit enum *bool ; our bit enum *taint ; hrmm. we don't do enum now. or bit, for that matter for now, just create global entries for False and True that point to 0 and 1 so, for the spectests, should i modify them to use Bool::False except when explicitly testing False? ...or should i create globals in Bool.pir? or both? both are highly experimental at this point though create globals. forget both particle: I forgot both ok. "ack False" shows that it occurs enough in the spec that we might as well create the global. jonathan might be interested in implementing enums, since they're really just classes acting as roles :-) Ooh! Shiny feature! but for now I think it's a reasonable workaround to create these as globals. how often does False appear in the spectests? i'm looking at S03-operators haven't looked outside there yet not.t and true.t, and i'll be adding some tests, and probably false.t hrmm. maybe not. is there a 'false' op? S12 has: * particle acks spec Never compare a value to "C", or even "C". Just use it in a boolean context. so, I think that S03-operators is wrong to be using False here if we're testing boolean-ness, we should be using ok() or nok() ok, so that should be nok() yep if we're testing the type of the returned value, we need to use =:= or something similar or check the .WHAT() value, or something like that. (and =:= doesn't quite work in rakudo yet) may i check that Bool::True != Bool::False? sure or that True == Bool::True? keeping in mind that True == Bool::True is really the same as +(True) == +(Bool::True) i.e., it's a numeric comparison, not a value comparison. yep I think more useful is to ask Bool::True == 1 in not.t, i want to test explicitly that True != False, etc we can't guarantee that Bool::True == 1 can we? it may depend on the vm/compiler/platform's identity of truth it's a question of numification ok, then it's +Bool::True == 1 except that infix:<==> implies numeric context on its arguments so Bool::True == 1 hrmm. ok. I can't find that explicitly in the spec, fwiw. ah. === can't be tested, though or =:= the spec does say that Order::Increase, Order::Same, Order::Decrease numerify to -1, 0, +1, so I think it's reasonable to expect Bool::False and Bool::True to numerify to 0, 1 1, 0, -1 == Bool::True, Bool::False, Bool::FileNotFound? heh FileNotFound is likely an exception of some sort, though. lol i'm kinda surprised Bool::True isn't a Failure Bool is, though. Michal Jurosz | RFP: Parrot Needs Better Smoke Reports: link: http://www.perlfoundation.org/parrot/index.cgi?rfp_parrot_needs_better_smoke_reports dalek's url is at http://xrl.us/bfeof oh, I guess Bool is just an undefined value -- that's not necessarily a Failure. % cjfields has joined #parrot % dalek has left dalek!dalek@feather.perl6.nl % wolverian has left wolverian!wolverian@feather.perl6.nl % leo has left leo!lt@feather.perl6.nl Mmm. make -j 9 test % pmichaud has left pmichaud!pmichaud@feather.perl6.nl % Juerd has left Juerd!juerd@feather.perl6.nl % jonathan has left jonathan!jonathan@feather.perl6.nl % PerlJam has left PerlJam!duff@feather.perl6.nl real 3m6.804s user 1m51.388s sys 0m45.239s hrmm, there's no nok() func in fudge or Test.pm Hm. I wonder if rakudo makes a new block for this: print $_ for @a; i expect that what's left of 'for' is a closure I hardly KNOW her. Yeah. That makes sense. 17:07 <@TimToady> and the presence of $_ is not enough to force "I must have a parameter" A bare closure without placeholder arguments that uses $_ (either explicitly or implicitly) is treated as though $_ were a formal parameter: From S04 So I guess that statement *only* applies to bare closures. Wait, formal parameter with a default of OUTER::<$_> So do I need to figure out which blocks are "bare" and treat them differently? i assume bare means not a sub or pointy block Ah. So for, while, etc. are bare? doesn't for take a pblock? gotta check STD on that It can. * Tene sleeps. erm... no. * Tene teaches. just half your brain sleeps, then. allison: ping. dietcoke: ya % braceta has joined #parrot was going to comment on r27670, but I think I need to see the whole function. moment. ssh to feather sloooow all of a sudden. would you mind a small rework on that that instead of nesting the ifs, did each comparison in sequence, failing first rather than last? sure also, does it matter if you check base_type -and- isa ? doesn't base type win? just the base type is good enough k. % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru (it was checking base_type || isa, but that was just wrong also it was checking base type against a literal, which didn't allow for inheritance % Zaba has joined #parrot oh, do you want to make the change, or shall I either or. go for it, I'm digging into the 'can_handle' bullet point (the last one aside from language testing) % Psyche^ has joined #parrot is anyone logged into feather? according to ssh I'm connecting, but then hanging. svn.pugscode.org is down, too % Patterner has left Patterner!~Psyche@e177229097.adsl.alicedsl.de % Psyche^ is now known as Patterner % ambs has joined #parrot % braceta has left braceta!~Braceta@83.240.229.38 % davidfetter has left davidfetter!~chatzilla@start.fetter.org % radhios has left radhios!~roberto@200.47.67.169 % radhios has joined #parrot hm, getting "attempt to access code outside of current code segment" in my pure perl mod_perl6 code * jhorwitz figures out where to even start deubgging that the joy of embedding parrot.... it obviously works with the PIR version of mod_perl6 that sounds suspiciously like the inferior runloop! yes, it does. if you say so... inferior cuz it doesn't work? ;-) Sounded like some CS term. me, being a lowly engineer, just nod my head. inferior like the flyers. % AndyA has left AndyA!~andy@82.152.157.85 that was low oh, but it was fun :) but all will be well when cindy is put in his place % AndyA has joined #parrot does each compile and load_bytecode produce a separate code segment? i believe so hm. then i don't understand how code from one segment can call a sub from a load_bytecode w/o generating that error. apparently there's lots i don't understand. :) % chromatic has joined #parrot oops, i'm probably getting confused with compilation unit that would make sense. chromatic will tell you whether each compile and load_bytecode produce a separate code segment, jhorwitz this chromatic...where can i buy one? chromatic store, where else? we don't have those out east I *believe* they produce separate packfile structures, which mean separate code segments. % braceta has joined #parrot Okay, the first part I know. The implication I believe. remember when jonathan started the bytecode changes, and disappeared for a while? seems the same thing happened to infinoid. "don't touch the bytecode pdd." * jhorwitz points fingers oh yeah, pdd13, I still have a stack frame pointing to that, around here somewhere juerd? juerd is root or at http://juerd.nl/ juerd email? % pmichaud has joined #parrot juerd@ juerd is also juerd@juerd.nl okay, particle. % pmichaud has left pmichaud!~pmichaud@cpe-76-183-97-54.tx.res.rr.com % pmichaud has joined #parrot emailed him. feather is incommunicado? % dalek has joined #parrot yes, so it seems oh, it just came back up. here's dalek! yay unless it's up-down-up-down-up-down. well, i finally was able to commit to svn.pugscode.org That's good. It was sick of you stringing it along. +34 to #parrotsketch pmichaud, all tests passed using autoboxing for that lower method call you suggested. How urgent is the fix? not not urgent Ack, #ps in .5 % jonathan has joined #parrot r27673 | particle++ | trunk: : [rakudo] add 'nok' sub to Test.pm diff: http://www.parrotvm.org/svn/parrot/revision?rev=27673 * Tene svn log | grep tene I only noticed it while trying to find out about inheritance among pmc types, so I wanted to ticket it before I forgot about it but in scanning I noticed a number of places where methods are creating return PMCs for base type values and they no longer need to be (and are more robust if they don't) Robust in the sense that PMC_x_val is not robust? that, plus also the fact that autoboxing honors .hll type mapping and the fact that it's silly to put the result into a PMC if we're just going to cast it right back to an int i.e., $S0 = $P0.'lower'() was creating an unnecessary PMC. % Juerd has joined #parrot Makes sense. * Tene pre-reports I'm not sure if that's the right time interval. Didn't check the dates. Sounds right, though. http://cia.vc/stats/author/tene the last week has day of week, before that is listed by date mmm, reduce pmc pressure. % Ivatar has joined #parrot Ack, I need to commit my List::uniq patch. eh, I'll do it during the middle of the release. :P If you want to commit now, go ahead. % braceta has left braceta!~Braceta@83.240.229.38 % braceta has joined #parrot allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy % wolverian has joined #parrot % pmichaud has left pmichaud!~pmichaud@cpe-76-183-97-54.tx.res.rr.com % pmichaud has joined #parrot % barney has joined #parrot PS in 2 % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % ruoso has left ruoso!~ruoso@195.23.92.2 % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu from juerd: Yes, Apache2 consumed all memory again. I've stopped apache2, and am hoping someone will volunteer to figure out what is wrong because I don't have the time. how long is apache2 running before it eats up all memory? A few days okay, looking. If you need root access let me know. you might not know the answer, but is it the master process consuming all of the memory or one of the subprocesses? I don't know. I know that the linux kernel spits out messages about processes called apache2 See http://c14.convolution.nl/munin/perl6.nl/feather1.perl6.nl-memory.html Juerd's url is at http://xrl.us/bkshd it looks to me as though apache2 is set with "MaxRequestsPerChild 0" this means that child processes never exit often that's okay, but it can also mean that memory consumption can grow big if something gets out of whack This started a week ago I set that to 100 is apache2 heavily loaded on feather? If not, then setting a MaxRequestsPerChild value might be worthwhile to make sure that child processes are recycled pmichaud: Not at all r27674 | allison++ | pdd25cx: : [pdd25cx] Fix trailing whitespace. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27674 r27675 | chromatic++ | trunk: : Updated PLATFORMS for Aix/PPC and Solaris 10/gcc/cc (Paco, RT #54524). yes, I'd recommend MaxRequestsPerChild then. It's not as if there's a huge cost to starting up an additional child every so often diff: http://www.parrotvm.org/svn/parrot/revision?rev=27675 r27676 | allison++ | pdd25cx: : [pdd25cx] Change 'can_handle' in ExceptionHandler to allow for subclasses of Exception. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27676 r27677 | fperrad++ | trunk: : [RELEASE] : update LANGUAGES_STATUS.pod from languages-smoke results diff: http://www.parrotvm.org/svn/parrot/revision?rev=27677 I've started apache2. To all: if you have any time in between, please run top and evaluate apache2's memory use r27678 | fperrad++ | trunk: : [RELEASE] : update LANGUAGES_STATUS.pod from manual tests diff: http://www.parrotvm.org/svn/parrot/revision?rev=27678 Juerd++ Juerd: I'll check in on it every few hours Great; thank you Andy: how do I submit an article to rakudo.org, btw? % Zaba_ has joined #parrot chromatic: I think you should be good-to-go as far as CPAN indexing is concerned. Thank you. % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru thanks for doing that, pmichaud++, i got distracted by a phone call about a job pmichaud: i think the mt.cgi link is on perlbuzz to login to rakudo.org r27679 | chromatic++ | trunk: : [distro] Updated scaffolding for 0.6.2 release. I try using the mt.cgi link, but it just cycles me back to the perlbuzz page. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27679 http://perlbuzz.com/cgi-bin/mt/mt.cgi % ambs has left ambs!~ambs@255.92.54.77.rev.vodafone.pt well, i can't remember my password, so i'm no help openid++ r27680 | chromatic++ | trunk: : [distro] Added a missing line from NEWS. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27680 whenever I follow the mt.cgi link, it asks for my username and password. I enter it, and it takes me to the "Your Profile" form. I can go back to the original (perlbuzz) page and I appear to be logged in, but I don't see any way to post a new article. (and, of course, my goal is to contribute to rakudo.org, not necessarily perlbuzz) yes, rakudo.org uses the same mt instance, so there's only one login iiuc pmichaud: Maybe you have an accout, but haven't been given permissions to post on rakudo.org? that's my guess :-) I can't grant you 'em, I already checked that. bug andy 19:00 Andy: how do I submit an article to rakudo.org, btw? :-) Andy ack alester perlbuzz splint lint headerizer petdance # all points bulletin :) ...if that doesn't make his irc client explode... Who's talkin' about me? ALL OF US! I think that we're all bozos on this bus. Except of course for the bots. CAP'N! SHE CANNAE TAKE MANY MAR KEYWERDS! Andy: how do I submit an article to rakudo.org? Let me see if you have permsssions on there. Have I given you permissions before? the group consensus is "probably not" I thought you had, but perhaps we only talked about it. * particle needs a password reset, too someone suggested that I should cross-post some of my use.perl articles to rakudo.org oh yes please. * jonathan takes blame for the suggestion pmichaud: I was lying in bed last night trying to sleep and failing to...and thinking about :scope('context') I'm thinking maybe we should do something more general ...as in? We're already going to need to have a way to cutomize context anyway Release tagged, tarball made and tested, uploading now. ok, you're now a contributor on rakudo r27681 | chromatic++ | RELEASE_0_6_2: : Tagged release 0.6.2 from r27680 not sure I can reset your PW. LOoking. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27681 % PerlJam has joined #parrot :scope('custom'), and some other way to say how to do a get and store chromatic++ chromatic++ Someone can take a look at #54384 ? chromatic++ (everyone else involved, too)++ ok, I just reset it. oh. well, for :scope('custom') someone could actually do that by deriving a new class from PAST::Val and adding their custom scope as a method Password was reset for user 'pmichaud' (user #97). Password was sent to the following address: pmichaud@pobox.com I think creating a new function of a similar name but different behavior is a mistake, NotFound. Andy: thanks! I'm starting to wonder if disallowing NULL strings in bytecode is wise. Yeah, true. pmichaud: Thank YOU. Rakudo.org is happy to have much content. okay, I have to go pick up kids from school. bbi30 It just seems to me like Perl 6 has very specific needs out of :scope('context') ok, sure chromatic: agree, but I was worried about breaking the pmc that uses the current version. (context) well, perhaps Rakudo should be the case that demonstrates adding custom PAST node types then :-) I just know that I have enough use for context variables in implementing various tools that it has generic value Ah, OK, that was going to be my question...is it generic enough. a lot of things in PGE and PCT can be made a lot simpler if there's a generic context capability available One problem with adding NULL checks to ops (another idea) is that we have to do those checks in the JIT as well, and that's not trivial. At least, I find modifying ops in the JIT non-trivial. Is it helpful to put in #line directives in the C generated from PMCs? more often than not it's getting in my way. I tend to agree that custom handling of null seems wrong. okay, gotta run. back in a while. andy: could you reset my pw, too? sheesh chromatic: the check is not done at the op level, but at a function called by the opcode. ANYONE ELSE? HUH? r27682 | fperrad++ | trunk: : [Lua] : - bytecode translation : minor refactor diff: http://www.parrotvm.org/svn/parrot/revision?rev=27682 Andy: mine too! I know. I'm just brainstorming different approaches. chromatic++ andy++ surliness++ Tene: Do you actually have one? Well, no. You used capital letters, though. Password was reset for user 'particle' (user #131). Password was sent to the following address: jerry.gay@gmail.com chromatic: I've fixed some days ago a problem caused by that, the opcode function checked for null but the jitted version not. Andy: me too! (I don't have an account but heckling you seems to be the popular thing to do) thanks andy! You're welcome particle! So doing it in the opcodes is at least error-prone. The rest of you can go jump in a lake! Rrraaarrr! How about a creek? I have a creek, not a lake. I have a bathtub Andy: give me an account so that I too may ask that you reset my password. :) and then we can all jump in a creek and splash around like school children there are now more people without accounts asking than people with Will if all of the people asking for them are actually going to post... ;-) I don't even know what accounts people are talking about, but if it's parrot or perl6 related and I have time, I'll try to post. % ambs has joined #parrot I'm not sure I have anything to say yet that others couldn't say better Eevee: maybe the others can but doesn't. Eevee: Or maybe your perspective is just as valuable as anyone else's perspective (more so if you share). And in the worst case we can have a lot of fun blaming you }:) oh gosh so much pressure quit Eevee: If you're contributing stuff, you have a pretty good perscpective on the thing you're contributing. ;-) % barney has left barney!~bernhard@dslb-084-058-154-033.pools.arcor-ip.net pressure++ ;-) Cue Queen Press any Eevee to continue. they told me about this in middle school I'm supposed to just say no % braceta has left braceta!~Braceta@83.240.229.38 jonathan: when I manage to make it past one patch I will perhaps consider myself 'contributing' :P /topic #parrot Parrot 0.6.2 "Reverse Sublimation" Released | http://parrotcode.org/ | 19/674 new/open tix but! I will keep it in mind % chromatic has changed the topic of #parrot to: Parrot 0.6.2 "Reverse Sublimation" Released | http://parrotcode.org/ | 19/674 new/open tix may want to update parrotcode.org YAY! Eevee: one thing at a time. * chromatic wishes crow.pir added the next release date. hrmm. that'd take some doing :( unless it's blind lookup in a file or somebody writes DateTime.pir \o/ It's in the JSON file. oh. well then, that's *simple* ... or at least a placeholder, 'cuz I forgot it. i don't remember ever announcing the next release date for a release (contributions) from a marketing perspective, what makes more people likely to participate is if they see other people of about the same perceived skill level participating step nine: Don’t forget to include the next scheduled release date. so posts from anyone who is working/playing with Parrot/Rakudo are helpful, even if they seem "trivial" so, I can start ripping out deprecated features now? * pmichaud clicks his Code Ripper(TM) scissors menacingly Do it. muwahahahaha! And fast! oh dear. just don't run with those I never "run", I just "execute" with them. * Eevee groan ("with extreme prejudice" :-) I concede pun defeat Off with his head! I have Code Ripper(TM) scissors. NotFound appears to have a Code Ripper Chainsaw(TM) of course, I think I'm the only one who can really do a "Texas Chainsaw Massacre." :-P Wow. You can paste HTML into Blogger and it will still mangle your HTML all to pieces. That's... useful. chromatic: you left in 'aloha' and 'mahalo' in the announcements? pmichaud: I think that my LOC contribution will overflow negative integer range. NotFound: I think that negative code contributions should be multiplied by a factor of -2 * DietCoke fixes a C bug. woot. I pulled them out of some of the announcements. chromatic: can you vet my patch on #54474 ? chromatic: the file to fix is tools/util/templates.json ... why is aloha in that file? * DietCoke glares at particle for leaving an surprise. pmichaud: and the bonus added is to close several tickets about fixing the dead functions. NotFound: indeed, bonus ahhhhhhhh overload! ...that's what happens when you release parrot while on vacation... chromatic: ahhhhhhh freakout? we need to upgrade chromatic to quad-core ... that's like having a 64-bit leo. Or clone it and make a cluster. Mostly I'm trying to figure out 1) why Blogger helpfully inserts extra

tags in your HTML when you've already provided it with valid HTML and doing so actually contravenes the HTML specification and 2) who to stab in the face to get it to change. did you use html mode or helpful edit mode? robrt's probably the closest target you could join google and work on it on your skunkworks. skunkworks? bad purl. I'm not bad, I'm just coded that way I used HTML mode. It mangled my HTML. "OH, a newline after a paragraph tag! That must mean to add another paragraph tag! Hooray! Oh, a newline in an open tag! What could possibly go wrong if I add a paragraph tag there! Nesting tags within tags is FUN!" s/\n//g? Yeah, because whitespace is significant in HTML. or replace with a space, or add at the start of the next, or some similar such terrible hack or blogger might have some switch or custom tag to disable its own autoformatting, like lj does I'm going to go with the face-stabbing, just because it's less of a hack. Coke: your patch looks fine. chromatic: looks like you'll just have to take time out of parrot/$job/etc. to write a nice blog tool. chromatic: you could even write it in parrot/perl6 :) Are you embedding whitespace code in html? chromatic: danke. Between tags, yes. Will be nice: