If a have a PIR sub foo() in namespace ['Foo'], called from a sub bar() in namespace ['Bar'], how can foo() determine the namespace of the caller? probably using interpinfo somehow. * japhb greps source tree looking for likely hits % cognominal has left cognominal!~cognomina@82.67.232.89 t/spec/S29-array/delete........................... Failed 4/18 subtests On MacOSX Leopard. yes, known failure. pmichaud: ok pmichaud: your hope was wrong? :) t/spec/S29-num/int................................ Failed 5/58 subtests http://groups.google.com/group/perl.perl6.compiler/browse_thread/thread/dafda372383597eb# pmichaud's url is at http://xrl.us/bk7nh I'm not getting the S29-num/int failures, though. S29? S29 is probably http://svn.pugscode.org/pugs/docs/Perl6/Spec/Functions.pod Deleted elements at the end of an Array shorten the length of the Array pmichaud: your version is correct * bacek_ doing svn up/realclean/make for catchin int.t failure % ejs has left ejs!~ejs@64-232-124-91.pool.ukrtel.net not ok 11 - int(-0.999) is -0 I've got '0'... I think it was discussed on #perl6 that -0 was really 0 in ints anyway, it's worth a ticket or a message to perl6-compiler $ ./parrot perl6.pbc > my @a = 1; say @a.perl; [1] > # works! > pmichaud: Ho! ship it! :) still a couple of things to fix. pmichaud: can you show result of @a.push([])? I don't have [] implemented yet. and @a.WHAT() :) > my @a = 1; say @a.WHAT; Array (I'm working on [] right now.) pmichaud++! % AndyA has joined #parrot > my @a; @a.push([]); say @a.perl; [[]] pmichaud: wow! pmichaud: found out how to get namespace of caller: '$P0 = getinterp; $P1 = $P0["namespace"; 1]' It took me a while to figure out that interpinfo isn't what you want, it's the interpreter itself that you get that info from. pmichaud: I'd emit that as [[,],] like pugs does, it's easier to parse for a human running spectest_regression now. pmichaud: can you please patch Test.pm? It uses 'eq' in 'is'. Better to use ($got cmp $expected) == 0; cmp is sometimes broken. but (0 eq -0) is false this causes failures in S29-num/int.t try changing it and let me know if spectest_regression passes :-) pmichaud: in progress % ejs has joined #parrot pmichaud: it failing... @a cmp @b doesn't work.. probably haven't implemented @a cmp @b yet. mmd-- why program aborted in mmd when operator not found? because "cmp" doesn't know how to compare two Arrays t/spec/S29-array/delete.t (Wstat: 0 Tests: 18 Failed: 4) Failed tests: 5-6, 11-12 Files=43, Tests=774, 80 wallclock secs ( 0.17 usr 0.13 sys + 75.43 cusr 3.63 csys = 79.36 CPU) Parrot's MMD opcodes aren't always very smart. % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot r27917 | pmichaud++ | trunk: : [rakudo]: : * First pass at implementing Array types. : * my @a = 1; now works properly. : * Also understands [] versus (), mostly. : * Still some list context issues to be addressed in parameters. : * Resolves RT#52276. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27917 now sleep, then breakfast, then Hash and hash composers. pmichaud++ is ther a svn commit-hook that m/(resolves|closes) (RT)?#\d{5}/ automatically closes a ticket? pmichaud: my $test = ($got eq $expected) || (($got cmp $expected) == 0); this is version from Test.pm that actually works pmichaud++ # for r27917 % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 "masak" at 130.243.202.176 pasted "This program used to work, doesn't anymore" (11 lines) at http://nopaste.snit.ch/13102 "bacek" at 211.29.157.151 pasted "New version of List.map for pmichaud (with Arrayref support)" (49 lines) at http://nopaste.snit.ch/13103 % masak has joined #parrot maybe it's a known regression but I thought I'd tell you masak: make clean; make will do masak: will help glad to hear it why is this needed sometimes? without the 'make clean' the basic tests bail out see everyone in couple of hours. Time to go home see you masak: internal refactoring. internal refactoring is pretty significant, even if it's backwards compatible. masak: probably a missing dependency in Makefile make now tells me "make: *** No rule to make target `src/call_list.txt', needed by `src/nci.c'. Stop." at least before it built :P make veryclean; perl COnfigure.PL; make make realclean make realclean is sometimes need in parrot to work against missing dependencies masak: Until my patch is accepted, you need make realclean instead of make clean ah As soon as my patch is committed, that bogosity will go away masak: 'make clean' in the rakudo dir would have been enough (in this case) % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au moritz: you're telling me this now :) I'm running on battery here :P % AndyA has joined #parrot % ejs has left ejs!~ejs@80.91.178.218 % ank has joined #parrot "masak" at 130.243.202.176 pasted "Nope, still error" (16 lines) at http://nopaste.snit.ch/13104 I have made realclean in the parrot dir and perl6 in the rakudo dir it's another error now, mind you % ejs has joined #parrot % masak has left masak!~user@nl119-202-176.student.uu.se % Zaba_ has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru masak: what error? japhb: Directory not empty japhb: see the nopaste ah. That one's outside my area of expertise. :-) % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % TonyC has joined #parrot % nopaste has joined #parrot its a typo in src/classes/IO.pir but masak already left.. bacek: send patch ;-) moritz, already... But its very stupid typo... s/I0/IO/... % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk % rdice has joined #parrot % UltraDM has joined #parrot karma bacek bacek has karma of 19 * bacek promise sign CLA on reach karma 100 :) * moritz signed and sent off CLA on tuesday % braceta has joined #parrot karma moritz moritz has karma of 34 moritz, it's too early, isn't it? :) O! summon pmichaud bacek: the karma >= 100 rule either doesn't apply for me, or includes #perl6 karma pong pmichaud, there is small typo in src/classes/IO.pir I0 instead of IO (good to have font with crossed 0) my font has dotted 0 line 23 and #55032 pmichaud, maybe it's jonathan :) no, I'm pretty sure it was me. and I revorked map once again pmichaud, Yes! Its all your fault! :) r27918 | pmichaud++ | trunk: : [rakudo]: : * Fix typo in IO.pir (RT#55032, bacek++). diff: http://www.parrotvm.org/svn/parrot/revision?rev=27918 http://nopaste.snit.ch/13103 reworked map with handling arrayref properly thanks for commit map shouldn't have to do anything special for arrayref, I don't think S29-list/map_empty_list.t arrayref pushed as-is. List is flatten right, there's a problem with () in function calls at the moment. % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com i.e., if we try to fix map this way, we'll have to do it for grep and all of the others too pmichaud, oh. maybe fix push? yes, push is broken. I'll check it push @array, (); should probably leave @array unchanged. (at the moment I don't think it does) and I'll check it too pmichaud, you right. I'll change push instead of map and sub 'list' too. Looks like it should just create List and call list.'push'() push(args) * bacek running spectest_regression no, sub 'list' is the thing that does the flattening. "bacek" at 202.7.166.180 pasted "Refactored List.push and 'list' for pmichaud" (80 lines) at http://nopaste.snit.ch/13108 backwards. :-) pmichaud, :) List.push should call 'list' % braceta has left braceta!~Braceta@bl4-162-240.dsl.telepac.pt what the difference? i heard the difference was irrelevant at the stage where language acquisition is not a conscious decision. the difference is that there are other functions that call 'list' to do the flattening. It makes more sense for 'list' to do it. it is not visible from 'outside'. List will be flat I don't see why 'push' should be responsible for flattening. as opposed to 'unshift' or some other function. but it makes sense for 'list' to be the flatterer (because that's what 'list' does -- it imposes list context on its arguments.) pmichaud, then we need some common function for flattening list % bacek has left #parrot % bacek has joined #parrot like '!list(@target, args)' to avoid useless copying of created list maybe '!pushflat' is better name pmichaud, ? i think pmichaud, is there an NQP test suitable for profiling? 'list' is the common function for flattening a list. % Zaba_ has joined #parrot pmichaud, but it creates new list. so, using it in 'push' is sub-optimal it's likely not going to matter when we do lazy lists anyway flattening is not lazy :) it can be bacek: premature optimization is the root of all evil ;) moritz, Donald? You? I can't believe! pmichaud, hmm... bacek: then don't. I'm used to ignorancy ;) "pmichaud" at 76.183.97.54 pasted "my version of 'push'" (6 lines) at http://nopaste.snit.ch/13109 % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru oops "pmichaud" at 76.183.97.54 pasted "my version of 'push' #2" (6 lines) at http://nopaste.snit.ch/13110 why does it return self.elems? ah wait, probably specced this way ;) pmichaud, this approach will not work in 'map { 1 }, @list' why not? because 'mapres' is not array (in common case) that's not a problem. *args* is an array. (always) (because of :slurpy) but mapres is not! :) wait a sec i'm too stupid at this period of day. > my @a = ; say (map { 1 }, @a).perl; [1, 1, 1, 1] looks like it works to me. :-) pmichaud, you right but it does need flattening. so.... maybe I'll put flattening into the .list method pmichaud, it's aready there AFAIU .list method, not list sub so, factor common flattening into private sub :) I think I may just implement laziness. :-) * bacek rekon Munchkin's "Take me, take me" card :) pmichaud, I already start working on lay list :) lazy % Whiteknight has joined #parrot % tetragon has left tetragon!~seneca@gw-312-705.somanetworks.com % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % Whiteknight has joined #parrot % tetragon has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot * pmichaud ponders making List into a PMC why? performance? yes did you benchmark/profile it? well, in some ways it's also cleaner as PMC (in C) than in PIR. % gryphon has joined #parrot pmichaud: http://nopaste.snit.ch/13111 % tetragon has left tetragon!~seneca@69-196-141-26.dsl.teksavvy.com I was also wondering if that should be :pure instead of #pure pmichaud: that was broken by introducing the #pure flag or even :fudge and :!fudge shouldn't be too hard to change as long as we have a colon syntax for flags, we might as well use it :-) I thought # is far more unlikly in a file name than : and whitespaces yes, but I doubt a file would have a leading colon. At any rate, we know that spectest files will never have colons. it was just a thought. :-) unless we test for executability with weird filenames I'd still expect that test to be in a file with a normal filename :-) ok, you're probably right btw we have plenty of new spectests passing I bet, since my @a = 1; is working. % rdice has joined #parrot plenty being 6 ;-) I should have hash composers working soon also. % iblechbot has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % dalek has left dalek!dalek@feather.perl6.nl % PerlJam has left PerlJam!duff@feather.perl6.nl % pmichaud has left pmichaud!pmichaud@feather.perl6.nl % AndyA has left AndyA!~andy@82.152.157.85 % leo has left leo!lt@feather.perl6.nl % ejs_ has joined #parrot % wolverian has left wolverian!wolverian@feather.perl6.nl % jonathan has left jonathan!jonathan@feather.perl6.nl % Juerd has left Juerd!juerd@feather.perl6.nl % Juerd has joined #parrot % jonathan has joined #parrot % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % dalek has joined #parrot % nopaste has joined #parrot % leo has joined #parrot % wolverian has joined #parrot % AndyA has joined #parrot % ejs has left ejs!~ejs@nat.ironport.com % PerlJam has joined #parrot % pmichaud has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % Whiteknight has left Whiteknight!~Whiteknig@c-71-230-33-251.hsd1.pa.comcast.net % AndyA has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % Whiteknight has joined #parrot r27919 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] merging from trunk r27918 diff: http://www.parrotvm.org/svn/parrot/revision?rev=27919 % jhorwitz has joined #parrot % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot % IllvilJa has joined #parrot % masak has joined #parrot % Theory has joined #parrot bacek: I saw you found the cause of my bug -- thx bacek++ % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.or.comcast.net % uniejo has left uniejo!~uniejo@langebro.adapt.dk r27920 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] updating GC datastructures. Borrowed some from the current GC_GMS diff: http://www.parrotvm.org/svn/parrot/revision?rev=27920 DietCoke: Looks like you've losed your patience with hcf ;) % UltraDM has left UltraDM!~george@dasapass.avira.com japhb, what is your RT id? (have you gone through the steps in metacommitter.pod?) (easier to parse for a human) I respectfully disagree. % AndyA has left AndyA!~andy@82.152.157.85 (easier to parse) that's [[,]] (with commas, anyway) vs. [[]] % jjore is now known as zz_jjore % zz_jjore is now known as jjore % AndyAway is now known as Andy was probably [[,],] ; I find that confusing. % AndyA has joined #parrot DietCoke: have you looked at #55012? Is the issue we talked about yesterday. % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot NotFound: looks good. replied, claimed the ticket, asked for comments, set a deadline. DietCoke: about hcf, will be a solution to replace the 0 adrres dereferecing by an abort? It will preserve the educational value (if any). i propose we keep hcf and remove the tests What is the purpose of keeping the op? If it's merely a teaching tool (it serves NO useful functional purpose), then we can do that in documentation. afaik we're the only vm or hardware chip with that instruction like bxand it's a unique, silly part of parrot also useless. You mean, like some directors put an error on purpose in his films, just to distract the bug catchers ;) The problem is that our bug catchers are the testers. I certainly agree the tests must go. we have concensus there. we can debate the opcode itself. 5 err nm no problem, szbalint, i forgot all about 5 :) 5? 5 is right out purl: 5 is what you get when you forgot to specify /win in front of it szbalint: no idea * particle has many failing rakudo tests today purl: 5 is the number you get when you forgot to specify /win in front of it ...but 5 is right out... purl: 5 is also the number you get when you forgot to specify /win in front of it okay, szbalint. iwbni "make localtest" could accept the t/spec/ in front of test names that way I could simply copy/paste the summary results of "make spectest_regression" into localtest.data pmichaud: i'm 3s behind you :) i was just about to write the same thing * DietCoke woots at his latest blog entry. DietCoke: congrats on the 50% goal particle: did you see that i got my @a = 1; to work? :-) pmichaud++ hash composers are coming next, as soon as I refactor a few more List/Array things pmichaud: i saw it here, and tried spectest_regression and got a bunch of failures you may need to do a top-level update and rebuild i took the failed test names and stuck them in localtest.data then got errors during make localtest just as you were writing the above i did rebuild parrot, but not make clean the makefile is substantially different. the parrot makefile? rakudo's ok, i did make Makefile anyway, i'll rebuild, after i commit this patch to t/harness for leading t/spec/ in localtest r27921 | particle++ | trunk: : [rakudo] allow leading 't/spec/' path in filenames specified in test list data files there. rebuilding now diff: http://www.parrotvm.org/svn/parrot/revision?rev=27921 % Zaba_ has joined #parrot % Theory has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net % masak has left masak!~user@130.238.45.4 particle: any luck yet? I'm going to commit my current set of (fairly significant) changes now, even though it causes spectest_regression to fail two tests. i'm running spectest_regression now one failure I think is due to an error in the test itself. go ahead and commit, i don't have any local mods atm I haven't had a chance to look at the second, but I need lunch. r27922 | pmichaud++ | trunk: : [rakudo]: : More major refactorings to Array and List. This moves many of the : array methods out of List and into Array (per S29). It also : causes a couple of spectest_regression tests to fail; I think : it's due to errors in the tests and I'm seeking clarification. : But I didn't want to hold off on the commit, so that others can : be testing also. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27922 What is the reason to have -Wno-unused in the gcc default flags? % julian^ has left julian^!~julian@mail0.w3data.com % sjansen has joined #parrot % jjore has left jjore!~jjore@c-24-19-49-60.hsd1.wa.comcast.net I don't know, but the unused warnings only work if the build is optimized so maybe there should be no warnings during an optimized build that aren't there otherwise % jjore has joined #parrot % jjore is now known as zz_jjore % zz_jjore is now known as jjore pmichaud: realclean & rebuild seems to have cleared up my test failures should 'make testtest' work? Well, it's not very important, I can enable the desired ones with -Wunused-specific moritz: testtest has known failures particle: ok, thanks it was intended to get pugs' Test.pm working, but i think we've backed away from that goal might make sense to remove testtest and 02-test aye what does the hcf opcode do anyway? http://en.wikipedia.org/wiki/Halt_and_Catch_Fire okay, thanks Deja Vu -- I was just reading about HCF Hm, wait, that's not deja vu S29? i guess S29 is http://svn.pugscode.org/pugs/docs/Perl6/Spec/Functions.pod > my @a = (4, 5, 3, 2, 5, 1); say sort @a (one empty line of output) yes, about to look at that. I'm writing up a message about List.kv to p6c now. S29 lists only Array.kv yes, but t/S29-array/kv.t shows it being used on a List. message sent. Sorry, I've never seen sent before. % Sartak has left #parrot % ejs_ has left ejs_!~ejs@80.91.178.218 message purl purl, you're a dolt. Message for purl stored. seen chromatic? chromatic was last seen on #parrot 1 day and 17 hours ago, saying: It'll be a PMC. [May 27 17:24:52 2008] summon chroamtic summon chromatic * DietCoke wonders if that really does anything. =-) probably not, but it would be nice % PerlJam is now known as chromatic I would be perfectly happy to get an email when that happens. We can create the opcode da. *poof* what do you need? % chromatic is now known as PerlJam Do Anything. ... make tcl go 300 times faster. ...before lunchtime r27923 | particle++ | trunk: : [rakudo] tell update_passing_test_data utility to ignore end-of-line comments in test data files diff: http://www.parrotvm.org/svn/parrot/revision?rev=27923 oops, forgot moritz++ (make localtest)++ % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com particle++ moritz++ # very handy yay. i need to blog about it, but i gotta remember my rakudo.org pw eh, i'll just use.perl it I have so much to blog about today. :-( * particle wonders if mk_language_shell.pl takes names with [] in them I wouldn't bet on it. you dont like blogging? I love blogging. gives me a chance to collect my thoughts and get them straight That freature must be in mk_esotheric_language. r27924 | pmichaud++ | trunk: : [rakudo]: : * Fix sort() to look for a block argument (moritz++) i'd like to call my tiny turing-complete language pearl[sic] : * Resolves one more spectest_regression item. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27924 I like to blog, but I usually have too much to write about. particle: that proves my point. pmichaud, when that happens to me, i open a new blog! oh, speaking of which.... please don't make a directory with brackets in it in the repo. http://www.pmichaud.com/sandbox/post3.txt # soliciting comments for improvement before posting coke: i won't Next step will be to add a whitespace implementation called " " it should obviously be called ttcl anyway :-) rotfl. poor partcl. It's soooo slow. :| rakudo is catching up to it :-) in terms of... functionality? only took you 7 years! =-) I hope to find a week or three to refactor the heck out of it. :| pmichaud: your article looks strangely familiar. did you already post a sample of it for us to read? in terms of .... slowness. :-) AH! Are the macro TO_UNICODE and the to_unicode functions in charset supposed to be used for something? Actually, they are unused. pmichaud: well in that case you've caught up quick! I had to write all that slowness in special! =-) I did post3.txt to the channel once before, and got feedback from DietCoke I think (last I checked i was... what, hundreds or thousands of time slower than tcl in realworld examples. but hadn't heard from anyone else. I'm curious if the post will make any sense to a use.perl or parrotblog reader DietCoke: fix the real world. it's making good sense to me when Paula read it, she wanted to know why this was important/useful pm: It's making sense to me, though I have a couple of random questions I think It was one of the more coherent things I've read from rakudo development, if that helps. =-) I would like you to use '' instead of "" where you can, but that's just my OCD. % ejs has joined #parrot pm: What's the purpose of this article? just to say "hey, here's a new P6Object library and a bit about how it works" also maybe to explain a bit about how protoobjects and metaclasses work in perl 6 pmichaud: does implementing your own object system instead of using parrots kill your ability to use MMD? also particle asked how it worked, so we decided a blog post would be more appropriate than me simply telling him. DietCoke: no, the object system is actually layered pretty cleanly on top of parrots okay, pmichaud. pm: One of the things that always seems underexplained is the linkage between classes named "Dog" and the "Dog" namespace for instance. (Though I don't know that there's more you can say about it :) but if you say "my parent is Foo", but parrot thinks your parent is "Perl6Object", how do you get MMD to work there? well, if you say "my parent is Foo" then there has to be a Foo somewhere. :-) (even if you do have an actual parrot class of Foo; if MMD is based on parrot's child/parent relationships..." I'm not saying you have to answer that in this article, but it's something that could probably stand another blog post. =-) especially since I just did that in the Array stuff I just added to Rakudo :-) pm: in your example p6meta.'new_class'('Dog', 'attr'=>'legs tail'), what are the rules for parsing the attr parameter? pj: separated by spaces but not tabs? correct. and 'legs tail' is just as good as 'legs tail' ? yes. and that string is fully unicode? yes. and if you need an attribute with a space in it, then you send 'attr' an array instead of a string. (the string is just a shortcut to avoid having to create arrays all over the place) DietCoke: to answer your earlier question -- if you create a class with one parrot name but aliased to a different P6object name, then yes, MMD currently has to continue to use the Parrot names. But it does work. and we'll undoubtedly find some way to easily map a P6object name into its Parrot name. % braceta has joined #parrot pmichaud: my point there is not the specific names, but the search up through the object hierarchy. s/object/class/ well, for "my parent is Foo", one of two situations will occur either Foo is already a subclass of Perl6Object, in which case MMD will know that 'Foo' takes priority over 'Perl6Object' otherwise 'Foo' is not a subclass of Perl6Object, but it will be listed first in the list of parent classes (and so 'Foo' would again take priority over anything else) I haven't kept up too well with recent changes, so I think I don't understand get_hll_global exactly. What's its relationship with .HLL ? get_hll_global grabs things relative to the HLL namespace root as opposed to get_global, which grabs things relative to the current namespace and get_root_global, which grabs things relative to the root of all namespaces so, if you don't define a HLL root namespace ... ? then your'e in parrot's HLL root. i.e., ['parrot'] from the root namespace pmichaud: I will nopaste something show my confusion. yes, this does mean that P6object will have to evolve to be aware of the hll of its callers. let me rephrase slightly first. if you say, in class Bar, "My parent is foo" using the P6O system.... what is your parrot parent? is it P6O or foo? All test pass with the TO_UNICODE stuff deleted. depends on foo if foo is a subclass of P6O, then bar has one parent (foo) if foo is not a subclass of P6O, then bar has two parents (foo and P6o) ok. my confusion is resolved. I thought it was -always- just p6o. nope. parent really does mean "make foo my parent" it even goes so far as to simulate the same with PMCs for example, if I register RPA with a parent of "List", then all of List's methods get installed into the RPA class hurm. -that- sounds tricky as far as MMD goes. I obviously can't make List a parent of RPA (because it's a PMC class), but everything else in P6o will work to make it look as though RPA is really a List. Even to the point of having the '.isa' method report true for RPA.'isa'(List) or are you actually re-parenting at the parrot level there too? correct, that won't work with MMD ok. AHA! :-) pm: you have a ^_^ that's really intended simply for whenever a language happens to get hold of a Parrot native object and wants to do something reasonable with it. pm: you have a 'Hash' that should be 'MyHash' towards the end of the doc pm: and "subclss" probably wants an "a" :) found the missing 'a' which Hash should be MyHash ? | event_id | oops myhashproto = get_hll_global 'Hash' # n'est pas? you're correct. in actual code I don't even do that, since 'new_class' and 'register' always return the protoobject :-) ah, that's good to know. I was just thinking "I wonder if there's an easier way" I thought about putting that into the text also but couldn't find a clean place to do it. and in general it's more important to know where to find the protoobject. anyway, very clear. I feel like I could put some of this into practice (if I weren't working a horrid php app right now) My only critique would be "needs a better ending" :) ditto that I got tired at the end. oh, one of the things that makes me uncomfortable is the idea that p6meta.'new_class'('NQP::Grammar::Actions') -> $P0 = get_hll_global ['NQP';'Grammar'], 'Actions' but, as you say, in practice you just use the return value anyway it also works if the first argument to new_class is an array $P0 = split '::', 'NQP::Grammar::Actions' p6meta.'new_class'($P0) it's just that we often have a colon separate string, and continually writing those 'split's gets old pretty quick. eventually even the resulting class will be ['NQP';'Grammar';'Actions'] and not ['NQP::Grammar::Actions'] just haven't made that switch yet. hrmm (which is also why I don't talk about that in the article) okay, I'll put a cleaner conclusion on it and post it. thanks everyone for the comments pm: maybe you could put a small, complete example at the end. sure, that works. % braceta has left braceta!~Braceta@bl9-217-157.dsl.telepac.pt r27925 | pmichaud++ | trunk: : [rakudo]: : * Clean up .perl for Pair objects, pair composer. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27925 % Andy has left #parrot % Andy has joined #parrot % Casan has joined #parrot % Theory has joined #parrot r27926 | pmichaud++ | trunk: : [rakudo]: : * Move .keys, .kv, .pairs, .values back into List class (TimToady++). : * All spectest_regression tests pass again. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27926 % barney has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % barney has left barney!~bernhard@dslb-084-058-185-062.pools.arcor-ip.net % spinclad is now known as ahasoPerlJamischrom % ahasoPerlJamischrom is now known as spinclad * DietCoke stares at spinclad. % tewk has left tewk!~tewk@ekstrom.org no idea DietCoke: yes, I've done my part of metacommitter.pod -- for simplicity I created a 'japhb' persona for both Parrot's SVN and RT. (might as well use what everyone knows me as) momentito. thanks. just to verify, please login and tell me what it says in the "logged in as". =-) (to rt) (upper RHS) % Zaba has joined #parrot hold *chuckle* -- I just tried to cut and paste between the browser on my desktop and the IRC on my laptop. It says "Logged in as japhb" ok. try to update CREDITS or something. ^_^ we haven't seen vsoni in ages. vsoni? vsoni is new to parrot and would like to start contributing he predates you by several years. Well, on this project. :-) Just saw his name on the list I just added you to. % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % braceta has joined #parrot Pod syntax check fails in: languages/perl6/src/classes/Array.pir okay, I'll fix it. I'm about to commit a fairly significant change. pmichaud: I can wait ;) * japhb pulls a clean svn co, since I'll need it for the metadata commits anyway. Someone familiarized with Configure.pl can take a look ar #55050 ? familiar is such a strong word. I was doubting to say "lover" NotFound: it seems vaguely reasonble to me. Is very helpful to me to get out of my way all those warnings. r27927 | japhb++ | trunk: : CREDITS: Add Geoff Broadwell's IRC/SVN/RT nick diff: http://www.parrotvm.org/svn/parrot/revision?rev=27927 r27928 | pmichaud++ | trunk: : [rakudo]: : * Add first version of Hash, hashes, and the hash() composer. : * my %a = (a=>1, b=>2); now works. : * Still need to create {...} hash composer (but use parens in the : meantime). diff: http://www.parrotvm.org/svn/parrot/revision?rev=27928 OK, commit went through -- I had to think of something *useful* to do to my CREDITS entry. :-) ... and I see the commit in git-svn W00t! Thank you DietCoke++ and chromatic++ and everyone else that helped me find the hoops to jump through :-) welcome aboard, japhb! jpahb? japhb? well, japhb is Geoffrey Broadwell, mailto:geoff@broadwell.org r27929 | pmichaud++ | trunk: : [rakudo]: : * Change increment and decrement methods to be named 'succ' and 'pred'. : * Resolves RT#54654. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27929 Thanks, pmichaud OK, got to run % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com okay, time for a break. continue! oh wait. maybe you mean .yield * pmichaud tosses an exception at DietCoke. * DietCoke ponders the best way to play with a ground up rewrite of tcl, and guesses branch (as opposed to new language/ or new repository) is probably the best way for now. branch sounds best % particl1 has joined #parrot % particl1 has left particl1!~particle@c-98-232-7-104.hsd1.wa.comcast.net % particle1 has joined #parrot % particle has left particle!~particle@c-98-232-7-104.hsd1.wa.comcast.net % Casan has left Casan!~IceChat7@users163.kollegienet.dk % iblechbot has left iblechbot!~iblechbot@ppp-62-216-206-97.dynamic.mnet-online.de % mire has joined #parrot % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.or.comcast.net r27930 | pmichaud++ | pge: : Remove branch so I can start over with a fresh trunk. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27930 % braceta has left braceta!~Braceta@bl9-217-157.dsl.telepac.pt % smashz has joined #parrot % smashz is now known as smash hello everyone hello smash! hey pm so, anyone submitted any presentations for yapc::europe ? (i'm trying to submit mine now) (submitted, yes.) pmichaud: parrot related ? one on PCT, one on Rakudo. nice nice % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net i'm submitting mine now, an introduction to parrot that's all i got time for nothing fancy :-) i'm also making a presentation about parrot next week in the Portuguese Perl Workshop legal! onde? Universidade do Minho, YAPC in portugal venue % Theory has joined #parrot % Limbic_Region has joined #parrot * davidfetter spoke there, too :) hehe.. cool * smash talk proposal submitted! heh % Andy is now known as AndyAway i called it "Beautiful Parrot" inspired by this year YAPC::EU conference theme heh very nice title % cognominal has joined #parrot % Theory_ has joined #parrot r27931 | pmichaud++ | trunk: : [rakudo]: : * Cleaned up Mapping and Hash code a bit more. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27931 % Theory has left Theory!~Theory@70-58-196-131.ptld.qwest.net pmichaud: you can find my abstract here: http://nrc.homelinux.org/parrot/beautiful_parrot.pdf if you're curious in taking a glimpse ;-) here are mine: http://www.pmichaud.com/sandbox/talk-1.txt jpn jonathan is sleeping in the same room as me. Conference tyo time tomorrow % ejs has left ejs!~ejs@51-244-124-91.pool.ukrtel.net % ejs has joined #parrot pmichaud: hehe, you stole almost half of my talk (about PCT) :-D pmichaud: nice nice, road map to a complete perl6 % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % mire has left mire!~Frodo@195-169-222-85.adsl.verat.net % Theory_ has left Theory_!~Theory@67-42-223-104.ptld.qwest.net % teknomunk has joined #parrot % rdice has joined #parrot % Maddingue has left Maddingue!~Maddingue@profane.mongueurs.net % Maddingue has joined #parrot % cout has left cout!~cout@c-68-58-247-49.hsd1.sc.comcast.net % cognominal has left cognominal!~cognomina@AToulouse-152-1-36-92.w82-125.abo.wanadoo.fr ahh.. was able to submit another talk proposal % bacek_ has joined #parrot morning % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % cognominal has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot % ank has left ank!~ank@ppp121-44-210-24.lns1.hba1.internode.on.net % ank has joined #parrot % rdice has joined #parrot % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % cotto-work has left cotto-work!~cotto@tide502.microsoft.com i'm off.. cya all tomorrow % smash has left smash!~smash@gil.di.uminho.pt % rdice has joined #parrot % cout has joined #parrot % teknomunk has left #parrot % ank has left ank!~ank@ppp121-44-210-24.lns1.hba1.internode.on.net purl msg smash you still on for the release in June? =-) Message for smash stored. * DietCoke is pretty sure he's had that conversation already, but can't hurt to double-check. % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % Zaba_ has joined #parrot does the release occur smack-dab in the middle of yapc::na ? % Hinrik has left #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru pmichaud: we could always move the release to the week before. I don't think it's a problem -- was just noting the date. going to yapc::na ? rumour has it going to yapc::na is particle, Coke, cotto, rjbs, confound, hobbs, Alias, jjore, pmichaud, allison, uri, chargrill, Abigail, stevan, waltman going to yapc::na 2008 going to yapc::na 2008? I was going to. Dunno if I'll get around to it now, though. % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com % TonyC has joined #parrot % DietCoke has left DietCoke!~coke@cpe-72-228-52-192.nycap.res.rr.com % tetragon has joined #parrot yapc::na? purl? yes, bacek_? purl: yapc::na? bacek_: bugger all, i dunno purl: you are most stupid piece of code I see ever! ...but purl is a buggy piece of shit or a flooterbuck or a douchebag or an autonomic handjob system, well beyond the need for human intervention or a retard or a trannybot or a fuckslut in GumbyBRAIN's mind or going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or a smartass or the sixth beatle. or http://github.com\/dagbrown\/flooterbuck\/... yapc::na is http://www.yapc.org/ yapc::na is also http://conferences.mongueurs.net/yn2008/ okay, pmichaud. pmichaud: btw, "!flatten" was a good idea :) % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % tetragon has left tetragon!~seneca@69-196-141-26.dsl.teksavvy.com % nopaste has joined #parrot % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net % tetragon has joined #parrot > my @kv = kv(hash(a=>1, b=>2)); No applicable methods. (!flatten) well, I almost went all the way to eager lists, but decided against it. I don't know that I created function versions of all of the .kv, .keys, etc. yet looks like a bug in type matching for inherited classes in 'multi' there is kv(Mapping) line 184 in Mapping.pir % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 or some mistcommunication between 'protoobjects' and PIR's multi do you still have that pod comment bug exampl somewhere? pmichaud: just a sec. % TonyC has joined #parrot even if I change kv to have :multi(_) it's not being found. http://nopaste.snit.ch/13048 ohhhh, I know what the problem is with kv. okay, I can fix it. this is for pod parsing and it's your nopaste :) you had a shorter version earlier. :) I still trying to google it :) "bacek" at 211.29.157.151 pasted "pod parsing error for pmichaud" (13 lines) at http://nopaste.snit.ch/13114 I crafted new one. It's faster :) yes, muuuuch better thank you removing {} in begging solve parsing problem yes it must be because {} is a circumfix:{} no, that's not it. no. you can put 'sub call2 {' in first line still failing right. % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net a-ha tricky. tricky? tricky is probably gone running spectest_regression now but the problem is that pod_comment was (recursively) calling <.ws> I'm working on a smalltalk grammar. I could really use a way to trace the rules as they're trying to match. tene: when I do the pge refactor (over the course of the next week) I'll add one. pmichaud: nice. thanks. someone suggested something like %yydebug pmichaud++ # better than santa pmichaud: changing 'begin <.ws> ' to 'begin \h+ '? yes. since that's what STD.pm has now. that seems to fix the problem. pmichaud++ # more often than Santa bacek: r27932 r27932 | pmichaud++ | trunk: : [rakudo]: : * Fix problem with rule destroying statement end : * bacek++ for providing a simple test case diff: http://www.parrotvm.org/svn/parrot/revision?rev=27932 * bacek_ running git svn rebase back in a bit pmichaud: 'end' is just \N* in STD.pm your version fail to parse '=end\n' because it expects $ "bacek" at 211.29.157.151 pasted "pod parsing error for pmichaud (again)" (20 lines) at http://nopaste.snit.ch/13115 there are two =end's in STD.pm =begin ... =end w/o an must be new. particle1, ping bacek_: I'm pretty sure that the pod you just pasted is incorrect. "=begin pod" has to be followed by a matching "=end pod" pmichaud: looks like my mistake. but I'll go ahead and add the non-ident version but we should add anonymous version :) r27933 | pmichaud++ | trunk: : [rakudo]: : * Add anonymous version of =begin...=end pod_comment. (bacek++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27933 pmichaud: update_passing_test reports new test to add new test file, that is? "bacek" at 211.29.157.151 pasted "new tests to include in regression" (8 lines) at http://nopaste.snit.ch/13116 wow that's quite a few. pmichaud: it can be more if you'll fix 'kv' :) okay. just a sec. that will take a few minutes. pmichaud: (backlogged, now useless i'm sure) re http://www.pmichaud.com/sandbox/post3.txt:27: 'say "...\n"' ? # woof! spinclad: thanks. Actually I was working on that in another win until I started fixing 'kv' and friends. and like others said, it ends rather suddenly. it would be worth working in that you get back the protoob for free, if you can... other than those, a good intro. yes, working on the ending as well. :-) % spinclad is now known as PerlJamischromatic * PerlJamischromatic stares back at DietCoke % PerlJamischromatic is now known as spinclad (update) 'kv' fix is taking a while because I'm thinking about exports in general. :-) % zarchne has left zarchne!~michael@209.40.67.38 % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk * pmichaud is continually amazed at how hard he'll work to be lazy. tomorrow, i'll make moritz++'s update_passing_test_data.pl more general and portable tonight, i sleep while pmichaud++ works hard at being lazy & % particle1 is now known as particle pmichaud: this is the True Laziness. (someday i will know it too.) S29? S29 is probably http://svn.pugscode.org/pugs/docs/Perl6/Spec/Functions.pod % uniejo has joined #parrot where 'prefix:<\\>' described? S03 (it's not likely to be implemented soon.) why? because it creates a Capture, and we have a lot of re-jiggering to do to work with captures. % Zaba has joined #parrot (er, re-factoring.) :) * bacek_ can't find prefix: in STD.pm... it might not be in there yet. it wasn't there a couple of weeks ago. it would be prefix:sym<\\> pmichaud: yes... But it is not there... Yet. STD.pm? i guess STD.pm is http://svn.pugscode.org/pugs/src/perl6/STD.pm % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru not in latest version... % ank has joined #parrot we should remove S02-literals/hex_char.t from regression (for now) there is 4 skipped test from 4 it useless rakudo could do those if it could be invoked with --encoding=utf8 (for just that test.) (otherwise it'll really slow things down.) Conrad Schneiker | Parrot: link: http://www.perlfoundation.org/parrot/index.cgi?parrot pmichaud: test 1 and 4 failed okay, we can remove it. (hex_char.t that is) should probably change "parse error" to "rakudo doesn't default to utf8" Conrad Schneiker | Parrot: link: http://www.perlfoundation.org/parrot/index.cgi?parrot % clunker9__ has joined #parrot % cognominal has left cognominal!~cognomina@AToulouse-152-1-36-92.w82-125.abo.wanadoo.fr % clunker3 has left clunker3!~IRC@procura.xs4all.nl % clunker9__ is now known as clunker3 % cognominal has joined #parrot % cognominal has left cognominal!~cognomina@AToulouse-152-1-36-92.w82-125.abo.wanadoo.fr