r27513 | fperrad++ | trunk: : [Lua] : - add 2 TODO tests (upvalue implementation) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27513 % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot % iblechbot has joined #parrot % Psyche^ has joined #parrot % Patterner has left Patterner!~Psyche@e177236140.adsl.alicedsl.de % Psyche^ is now known as Patterner r27514 | chromatic++ | pdd25cx: : [src] Changed real_exception() to Parrot_ex_throw_from_c(). diff: http://www.parrotvm.org/svn/parrot/revision?rev=27514 chromatic@wgz.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy % TonyC has joined #parrot % masak has joined #parrot % Zaba_ has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % Ademan_ has joined #parrot % Ademan has left Ademan!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net % wknight8111 has joined #parrot % tetragon has joined #parrot % Ademan_ has left Ademan_!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % particl1 has joined #parrot allison@perl.org | Bylaws: link: http://www.perlfoundation.org/parrot/index.cgi?bylaws % wknight8111 has joined #parrot % donaldh has joined #parrot % ruoso has joined #parrot % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net % slightlyoff has joined #parrot allison@perl.org | Bylaws: link: http://www.perlfoundation.org/parrot/index.cgi?bylaws % iblechbot has left iblechbot!~iblechbot@19.17-dial.augustakom.net % mire has joined #parrot % tetragon has left tetragon!~seneca@CPE0040d001f62f-CM000a736592a8.cpe.net.cable.rogers.com % Zaba has joined #parrot % dcat has joined #parrot % allison has left allison!~chatzilla@dsl-241-25-20.telkomadsl.co.za % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % mire has left mire!~Frodo@36-175-222-85.adsl.verat.net % AndyA has left AndyA!~andy@c-68-33-170-161.hsd1.md.comcast.net % wolverian has left wolverian!wolverian@feather.perl6.nl % dalek has left dalek!dalek@feather.perl6.nl % Juerd has left Juerd!juerd@feather.perl6.nl % jonathan has left jonathan!jonathan@feather.perl6.nl % pmichaud has left pmichaud!pmichaud@feather.perl6.nl % PerlJam has left PerlJam!duff@feather.perl6.nl % dalek has joined #parrot % Juerd has joined #parrot feather1 was out of memory. http://feather.perl6.nl/~juerd/feather1.perl6.nl-memory-day.png % iblechbot has joined #parrot % wolverian has joined #parrot % Zaba_ has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % jonathan has joined #parrot % lidden has left lidden!~stefan@puce.campus.luth.se % pmichaud has joined #parrot % AndyA has joined #parrot Yay! we can once again send files with "configure.pl" in them without getting bounced by pm.org s/files/emails/ DOH no we can't. % leo has joined #parrot leo: hey! moin % Zaba_ is now known as Zaba Hi DietCoke, on diet now? dietcoke is http://coke-floats.blogspot.com/ leo: yup. going well. % uniejo has left uniejo!~uniejo@langebro.adapt.dk PDD15 says: =item - Objects may have a custom vtable or use a class-wide vtable. anyone know how to compose a custom vtable entry into an object? or even where to start looking? hurm. I only know the syntax for how to do that to the class, not the object. runtime is okay for this I would look in the oo tests to see if it's there; if not, we may have 2 problems. particle | Bylaws: link: http://www.perlfoundation.org/parrot/index.cgi?bylaws I'll just mail the list. pmichaud: Certainly, do mail the list - I didn't even know that this bit was in the spec, and I was one of the folks who worked on it. I always saw these things being done by cloning the class and passing a hash to clone with what you want to change (see clone op, clone_pmc vtable method in class) And instantiating an object from that new class. I know that I had also asked about per-object role mixins, and Allison said that would be possible too but to wait until after the pdd17 pmc changes OK, not entirely sure what she has in mind. Me either. We'll see what the list responds. :-) I can't think of anything simple that wouldn't end up boiling down to what I just mention anyway. right. Because an object depends on having some class object to tell it where to find it's "stuff" I'm planning to create a branch to re-work the protoobject implementations OK. I'll likely call it "P6object" -- any (pardon the pun) objections? ;-) No, please go ahead and work on this. However, would be good for me to get a set of spectests for OO features that I expect to work arranged tomorrow. I'm planning that we'll end up with one base protoobject implementation for Rakudo, PCT, and PGE So we can see what, if any, break as a result of the changes in the branch. OK, sounds sensible - if they're protoobjects are going to look pretty much the same. jonathan: I submitted a few small spectests to the topics you mentioned the other day btw rakudo has a parse failure for 'class a { .. };' (breaks) -- there will be a bit of refactoring involved, as I'm thinking the '!keyword_*' methods should be moved out of Object whereas 'class A { ... }' works ;) moritz: Is your point here the semicolon of lack thereof? Or capitalization? i guess capitalization is the difference between 'helping my uncle Jack off a horse' and 'helping my uncle jack off a horse' or ... vs .. ? EWWW! jonathan: capitilzation not literal ... % NotFound has joined #parrot Rakudo currently requires typenames to start with uppercase chars. Hello. pmichaud: that explains it Damn right it does. * DietCoke ponders starting a pool for an official weigh in at yapc. =-) pmichaud: Is that part of the spec too? jonathan: it's a shortcut otherwise it's difficult to distinguish 'Foo' from 'say' :-) there is a guy working on my team in this office now that reminds me of Jim. Oh yes, don't we have to build up a table of typenames and so forth as we go, so we know which are which? pmichaud: so upper case sub names don't work either? moritz: those might work, depending on how they're used jonathan: I haven't looked at STD.pm lately -- I suspect it will (or has) evolved since I did the cheat. but it's amazing how much of the test suite actually works with that convention ;) istr that pugs did a similar cheat for a short period of time. yes, does a check that the name is a valid type. So we'd need to register the valid typenames as part of the parse/compile/library load. pmichaud: we have #45503 pending. NotFound: looking. NotFound: 45971 - that comment is associated with a -different- ticket in src/oo.c ; that ticket is the same error, but in a different file. NotFound: applying #45503. Thanks for the reminder. we should probably merge all the tickets that have that comment into a single ticket, update the RT pointers. DietCoke: yes. NotFound: if you setup a bitcard id, I can make you a bugadmin. Then you can merge tickets, close the ones that are trivially closable, etc. I think I already have one... let me see. (when you go to RT, if you log in, you'll see "logged in as <>". That's what I need. Yes, I have. julian.notfound at gmail.com wozzit? ok. Poof, you're a parrot bug admin. Thanks :) thank YOU. Anything that involves removing old comments; if you provide a small patch, that'll grease the wheels to get it gone. % mire has joined #parrot in general when working on tickets, cc the mailing list. % peepsalot has left peepsalot!~peeps@cpe-67-9-161-48.austin.res.rr.com I've already seen that is easy to forget that ;) I often forget, so you'll see two comments from me on the ticket, one to the ticket, one to the ticket and the mailing list. NotFound++ % jhorwitz has joined #parrot r27515 | pmichaud++ | trunk: : [core]: : * Fix jit runcore with NULL string. : * Patch courtesy NotFound++ () diff: http://www.parrotvm.org/svn/parrot/revision?rev=27515 To start, closed two of the tickets I commented on this morning. aha -- we're getting svn: MERGE request failed on '/parrot/trunk' (again) please open a ticket on that. (not with parrot, but with... svn-admin@perl.org ?) there was a ticket on it before I'll try to re-open that one, or at least link to it. which was, I think, just closed. RT#45503 resolved -- NotFound++ I don't have access to see the svn queue. % grim_fandango has joined #parrot DietCoke: regarding the "Get printable name" in #46091, the comment no longer exist in src/pmc/class.pmc, nor the RT number. I think we killed it as part of dead code removal a few days ago, I will look at it. % Ademan has joined #parrot It's now in src/oo.c (line 729) (I just did "ack 46091".) ack++ karma ack? ack has karma of 64 % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk what now? The chalice contains human blood cursed in Death's name. The hooded figure kneeling beside you passes it to you and you have to drink. LOSE 3 HIT POINTS. pmichaud: ack or ack -a ? =-) DietCoke: ack. I find I have to use -a when working on the parrot project a lot, as things may move between parrot, perl, and c. Just curious. (RT#46091) out of curiosity, when would we come up with an instance of the name being "not printable"? pmichaud: I think is has something to do with a NUL char used as separator, or something. ....but that's still "printable" Some code already deleted mentioned escaping it. ack++ the cowbell char isn't printable oh, I see. they want the name to be escaped. so, isn't that simply string_escape_string(VTABLE_get_string(interp, name)) ? We can skip the issue by printing the "name" argument of the funcion, instead of that found in the class. it's already printing the name argument of the function But is in the other exception. Ah, no, you are right. .sub test $P1 = newclass "A\n" $P2 = newclass "A\n" .end This shows the bahaviour undesired, I think. % donaldh has left donaldh!~chatzilla@proxy-sjc-2.cisco.com Class 'A\n' already registered! -> This is with string_escape_string added. % particl2 has joined #parrot % particl1 has left particl1!~particle@c-24-19-3-148.hsd1.mn.comcast.net I'll go ahead and add string_escape_string. Good catch. pmichaud: need interp as first param. thanks. This with class name: "A\000B" -> Class 'A\x{0}B' already registered! that's correct. I think so. how do you know it's not A\x{000B} ? it's a parrot doublequoted string, so \000 is octal. It's octal I thnk. k running 'make test' * particle wonders if anyone has run fulltest lately I did about a week ago all pass allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy % allison has joined #parrot % TimToady has left TimToady!~larry@209.9.237.164 % TimToady has joined #parrot r27516 | pmichaud++ | trunk: : [core]: : * Properly escape/quote class name in "Class 'foo' already registered" : exception. : * Resolves RT#46091 (NotFound++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27516 Hey, we must left something for the bug day ;) i'll make more bugs, don't worry ;) % diakopter has left diakopter!~diakopter@209.9.237.164 % diakopter has joined #parrot % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au lunchtime. lunchtime is up, so Im gonna be thinking more slowly now ;) % Theory has joined #parrot % nopaste has joined #parrot % masak has left masak!~user@130.238.45.242 % particl2 has left particl2!~particle@c-24-19-3-148.hsd1.wa.comcast.net % allison has left allison!~chatzilla@dsl-241-62-167.telkomadsl.co.za % allison has joined #parrot % rdice has joined #parrot I'm checking #46895, incorrect recursion depth counting, and always give 1000 for me. % davidfetter has joined #parrot % TimToady has left TimToady!~larry@209.9.237.164 % TimToady has joined #parrot % diakopter has left diakopter!~diakopter@209.9.237.164 TimToady: hio. * DietCoke has sashimi for lunch today. Niiice. mmm...sashimi Also, I can't locate the alluded TODO in the versions of src/embed.c around the ticket's date. r27517 | allison++ | pdd25cx: : [pdd25cx] Exception enum names start with EXCEPTION_ or CONTROL_. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27517 % wolv has joined #parrot % wolv has left wolv!wolverian@feather.perl6.nl % sjansen has joined #parrot NotFound: re recursion depth counting... did you try alternate runcores? particle: yes, and on several machines. intriguing With gcdebug takes loooon time, but works the same. * particle would like to be able to adjust recursion depth at runtime (as a command-line option, not from within a running program) particle: have you tried the removeparent patch? no, haven't had a chance i'm hip deep in sql at work atm Stupid question: can a class addparent himself? i hope not seems like something there should be a test for. er, against. Segmentation fault. (Core dumped) ok, that's bad. =-) Segmentation fault is a form of No :) Loops in the hierarchy, in general. A rude one. "No, BITCH." backtrace shows a lot of recursion in Parrot_ComputeMRO_C3. I expected something like that. Will do some work in this issue. By the way, what's the meaning of that name? method resolution order % ambs has joined #parrot Category 3? c3 is a type of method resolution order Ah, thanks. % purl has left purl!purl@sentient.life % purl has joined #parrot c3 is also http://www.python.org/2.3/mro.html okay, particle. c3 is also http://use.perl.org/~autrijus/journal/25768 okay, particle. hee: http://www.flickr.com/photos/spiggycat/2393460671/in/pool-dcist/ particle's url is at http://xrl.us/bjk42 % barney has joined #parrot % diakopter has joined #parrot particle: can you test the newest version of the dump_pbc.pl patch? % wknight8111 has joined #parrot in a bit, yes particle: cool, thanks * pmichaud wonders how particle can do a test in only 1 on/off state. quantum computing california++ Eevee: definitely Absolutely! Even purl agrees o/` california // knows how to party o/` well, I've seen what purl does when people go to bed heh unfortunately, i'm in utah at the moment of course he'd agree % diakopter has left diakopter!~diakopter@209.9.237.164 % diakopter has joined #parrot r27518 | pmichaud++ | p6metaclass: : Create a branch for unifying p6-style protoobjects and metaclasses : in Rakudo, PCT, and PGE. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27518 davidfetter: where in UT? american fork I live in SLC, but I'm only there about a third of the time. s/there/here/ hrm. is there a perl mongers' group in (the surrounds of) SLC? % Ivatar has joined #parrot I have a problem with my attempt to prevent loops in class hierarchy, breaks at ../../parrot ../../runtime/parrot/library/PGE/Perl6Grammar.pbc --output=TGE/Parser.pir TGE/Parser.pg ambs++ DietCoke, :-P * DietCoke is down a stone! congratulations Yes. Very well done. *clap*... *clap*... *clap* purl, quiet! Too quiet. davidfetter: yes, they often meet right before http://plug.org/ iirc d'oh. i went to plug last night and hassled a mysql guy from the 2nd row Loop in class hierarchy: 'Protomaker' is an ancestor of 'Protomaker'. ---> Can this be true? yes. is it correct? no. is it possible that it's happening? yes. Ah, well. so it's possible NF's patch is right, but parrot is wrong? it's possible that Protomaker is creating some loops. Maybe both are wrong. but since I'm reworking the code now (see branch created in r27518) I think we should let it live for a few days, or at least until the release. can always post the patch in progress on the ticket. There is no ticket yet. anyone running debian or ubuntu or other derivative, your keys are broken: http://isc.sans.org/diary.html Urgh, I've edited the same version that has the removeparent patch, will try in another copy first. Same result nopaste? nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating "NotFound" at 213.96.228.50 pasted "Attempt to avoid loops in hierarchy" (42 lines) at http://nopaste.snit.ch/12974 purl, seen merlyn merlyn was last seen on #moose 55 days and 21 hours ago, saying: ... http://methodsandmessages.vox.com/library/post/the-year-of-smalltalk.html [Mar 20 15:09:20 2008] ambs, i saw him over on fleanode a couple of hours ago ambs, as RandalSchwartz davidfetter, not important. I just want to ask what emacs does he uses under mac. At the moment I do not have a decent emacs running under leopard :( imacs? ;) lol NotFound++ More verbose version: Loop in class hierarchy while adding parent 'Protoobject': 'Protomaker' is an ancestor of 'Protomaker'. that seems odd. The namespaces are included in parents list? do you get a backtrace when the exception occurrs? *occurs % slightlyoff is now known as slightlyoff_afk Yes. can you nopaste it? Is at $P0 = subclass $P0, 'Protomaker' One second... i think one second is second is the duration of 9,192,631,770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium-133 atom. "NotFound" at 213.96.228.50 pasted "loop in hierarchy" (37 lines) at http://nopaste.snit.ch/12975 % cjfields has joined #parrot from src/pmc/pmcproxy : =item C A cached array of ourself and all parent classes, in MRO order. A ResizablePMCArray PMC is allocated during initialization, and is populated with the current class. ourself? a class is listed in its all_parents entry same for class.pmc so the fact that a class finds itself in 'all_parents' isn't exceptional to Parrot. i.e., that's the normal state of things. afk # pick up kids from school So finding loops will be a lot more difficult. are we certain it's an error? i.e., does it _need_ to be an error? I'm uncertain about all. My tests segfault, so completely correct is not. To allow it, MRO must be fixed. how about this: check if the parent being added "isa" the current class for example, if A is trying to add B as a parent, make sure that ! (B isa A) and throw an exception if so. gotta run or will be late fly you fool! Yeah, VTABLE_isa_pmc seems to be the right thing, I will try. pmichaud++ what the heck :-S ambs:? DietCoke, complaining about gdb can't print some variables after a sigseg * ambs coughs /dev/sdb1 294G 279G 28K 100% /state/sanc1 I've discovered my fault: I was cheching own parents, instead of parents of the new parent. But doing it thorugh isa is better, anyway. yes, no looping. at least, no additional looping :-) * pmichaud considers asking his wife if the kids can walk themselves home from school yet. And you can overload isa, in case you want to play bad games with inheritance. But doing it can break MRO... mmm... problems. Will try the loop way, just in case. I think using isa is the correct approach for now. But I hate segfaults. presumably someone who is overloading isa will also be dealing with mro issues I'm an advocate of using the simplest approach until a case for a more complex one is articulated. The problem is that at MRO time is too late for check, even if we throw the parent table is already modified. so, you're saying to use a loop because someone might have overloaded vtable isa, and we want to enforce this "no matter what"? I think that the virtual machine must never segfault, no matter how ugly is the code. The bytecode executed, I mean. fair enough. should I try to pipe /dev/urandom to parrot to see if it segfaults? ;-) moritz: too esasy to catch, unless you have infinite monkeys doing it. NotFound: I think the more realistic approach is to take working .pbc files and randomly modify some bits in it OT: on a 64b machine, the standard C types have different sizes? ambs: not guaranteed moritz: some people do that with filesystem, to test fsck. I think the standard just says char <= short <= int <= long <= long long and perhaps char < int < long long or something moritz: no guarantee that char < int NotFound: ok, so it's even worse ;) But lots of code assume it. then, the following question should be: is there any standard way to force types to have specific sizes, or should my configure code detect that? do not know why, but I am afraid that you say I should detect that ambs: you mean types for 16, 32 and 64 bits? NotFound, exactly ambs: there are ways, but I think parrot does not assume a recent enough standard. I don't think you can even assume that they all exist on all architectures that's not a parrot question, isn't it? NotFound, in fact, it is not for parrot, but as you probably delt with that :) moritz++ Yes, with C99 you can test if they exist, and in that case use it. ambs: cd /usr/include && grep uint32 * hmms, ok, thanks :) Look at stdint.h ambs: there should be some typedefs in most sane standard libs otherwise: configure well, configure is not broken thanks, folks The loop approach works, doing make test (OT but asking here because you guys are the most likely ones I can think of to know the answer): I've taken ownership of a pile of ancient modules (dozens) that were all created by "editor inheritance" from each other. So now I want to find chunks of code that are still common to multiple modules (but not necessarily *all* of them), and factor them out. Is there any tool or module that's good for the search phase? * japhb idly wonders if the bioinformatics modules apply here japhb: throw all of them, and rewrite from scratch ;) Last time I suggested that with part of the code base, both of my bosses nearly jumped across the table to dissuade me. :-) Some time ago I suggested that for a text editor that was part of an application. In the next version, they used MS-Word instead :D The logical part of the argument they made amounted to: "The Mozilla code base rewrite may have turned out OK, but WE CAN'T WAIT THAT LONG." japhb: the counter argument is: cleaning a refactoring of a lot of ugly code can be longer. s/a/and That editor does such nice things as adding attributes literally. They added and substracted to bitfields. You marked a block that contained some text in bold, converted it to bold, and other attribute changed in the text that was already bold. japhb: what's the scope of the repeated code? japhb: i.e. is it repeated subs or just ... repeated lines within subs willy-nilly? % donaldh has joined #parrot confound: repeated lines of code. and unfortunately, it's not always exact matches. An extra arg on a function here, a wrapped line from an overzealous text editor there .... TapTinder will be back tomorrow morning. japhb: you could solve the latter with perltidy I mean, maybe something as crude as perltidy + md5sum (line-by-line) would help. confound: that's not a bad thought ... I'm sure there are better solutions. search with google for "code detect duplicate lines" or "code similarity search" NotFound: I said something along those lines (refactoring can take even longer), and they responded "Yes, but the whole time you have working code, aware of all the special cases created over years, and that we can continue to make changes in while you refactor." moritz: trying that ... % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net japhb: not a bad argument. r27519 | bernhard++ | trunk: : [Plumhead PHC] : Append ';' only in toplevel past:Stmts diff: http://www.parrotvm.org/svn/parrot/revision?rev=27519 japhb: are you having problems with diff / merge ? donaldh: It's a matter of scale -- I need to find common snippets across dozens of modules, ranging in length from 100 lines to 10,000 O(n**2) pairwise diff will not cut it. got you that's a big fuzzy match problem yeah, that's why I had a notion that maybe the bioinformatics guys had solved it already. "Find common or similar genes across N species' genomes" they tend to throw a lot of hardware at it and deal with the n**2 thing afaik :-/ yep japhb: do you have any heuristics for defining snippet length? I'm rolling that over in my head now. % ambs has left ambs!~ambs@255.92.54.77.rev.vodafone.pt the opposite of perltidy is to strip whitespace. Possibly even tokenize. Then you can sort snippets into buckets of similar token chain length. donaldh: ooh, that's a nice trick I have an unrelated question about namespaces I am just learning about the parrot internals and read that all languages get their own toplevel namespace. % davidfetter has left davidfetter!~chatzilla@start.fetter.org I played around with namespace_dump.pir to take a look. I load_bytecode 'languages/perl6/perl6.pbc' first. Created ticket #54230 with the patch. Is the Perl6 stuff supposed to be in the parrot namespace? % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu donaldh: I think Perl6 is an element of the set "all languages" ;) % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com donaldh: every language gets a top level namespace, named after the language lowercased (so 'perl', 'python', 'apl', etc.); Parrot gets 'parrot', and as I recall people are supposed to stay out of the true root namespace. The 'parrot' and 'perl' namespaces are on the same level, both direct children of the true root. % Theory has joined #parrot That's what I thought I read in the PDDs. "donaldh" at 213.123.171.12 pasted "dump root namespace" (6 lines) at http://nopaste.snit.ch/12978 Rakudo will eventually be in the 'perl6' namespace -- we just aren't there yet. (or perhaps in the 'perl' namespace.) Ah, okay. the issue is that we need to use some libraries that are in the 'parrot' namespace (e.g., pge and pct) and so we have to deal with importing/exporting symbols into the different hll namespaces * japhb beginning to wonder if 'Rakudo able to use libs in other namespaces' is the #1 most requested item it's not #1, but it's a bit up there Yep. I was asking about that couple of days ago. I know at least 3-4 people have asked, just this week. :) Although of more import to me is squashing the namespace segfault I found last night and RT'ed this morning Does it require some fancy 'use' syntax in Perl6 ? % wknight8111 has left wknight8111!~Whiteknig@c-71-230-33-251.hsd1.pa.comcast.net ('use' syntax) we haven't decided that yet Modules intended for usage from any language must have his own namespace? % AndyA has left AndyA!~andy@onager.omniti.com Long ago it was just 'use parrot:Foo::Bar;', but that got killed last year, IIRC it may end up being 'use Parrot;' followed by some other commands to import a library Outside of the langauage they are written, I mean. I thought i read some intertesting stuff in the Synopses. E.g. 'use Foo:from' S11: The use statement allows an external language to be specified in addition to (or instead of) an authority, so that you can use modules from other languages. The from adverb also parses any additional parts as short-form arguments. For instance: use Whiteness:from:name:ver<1.12>:auth; use Whiteness:from; # same thing That feels a lot closer to "as complex as necessary" than "as simple as possible (and still work)" anyway, I'm working on the new protoobjects implementation right now in another window, so that'll be a big step towards getting us closer to importing non-p6 libraries :-) During my namespace dumping games, I got a Null PMC access when trying to dump a PGE::Exp::Action it's possible, yes. it's possible for PGE::Exp objects to have nulls in them % AndyA has joined #parrot donaldh: have you found some way to get all symbols in a namespace? Using an iterator on the namespace segfaults ... japhb: http://nopaste.snit.ch/12978 There is also examples/namespace/namespace_dump.pir I had a similar problem when attempting to iterate over LexPads I thought I filed a ticket for it, but I can't find it now. donaldh: Hmmmm, that example might have the code I need Only three languages are using the .HLL keyword (lexpads) -- not an rt ticket, just a message to parrot-porters Parrot's default namespaces have left the "export default list" functionality unimplemented. So now I have to implement it manually in PIR, bleah. Also, I have a feeling that the namespaces pdd needs updating. pmichaud: mayhaps i.e., that we should re-think the API. Parrot has evolved a lot since that was written. so many things in the namespaces PDD probably shoudl change. nodnod I just want a way to export a couple thousand OpenGL symbols to another namespace without either A) burdening the caller with a bunch of boilerplate, or B) needlessly creating extra GC-clogging lists of all OpenGL symbols, when that information is already available in the namespace itself. That's a useful readout. which? which is or unwise :) or true of @array->sort about the namespace PDD I mean. ag er ah I'm in 'discovery' mode at the moment. ;) purl: forget which Tene: I forgot which HAH! Thanks, donaldh ? namespace walking? $P0 = shift iterator # Where iterator is iterating over a namespace segfaults No whammies! $S0 = shift iterator works oh, because iterator is a hash iterating on hashes has to be done with $S0 = sorry, "because namespace is a hash" Segfaulting is the wrong way to disallow that. ;-) agreed. Tests welcomed. :-) updating the rt ticket would work, too :-) I haven't spent much time in the test tree. Can you point me to an example of something that tests for segfault? (rt ticket update) I was working on that. :-) Someone has an example of a class trying to inherit from himself in an HLL? well, you don't want to test for segfault explicitly -- you want to test that shift_p_p does something reasonable when iterating over a hash :) pmichaud: sure, but what's the boilerplate for guarding against the segfault so that further tests can continue? Segfaulting is always wrong. % ruoso has left ruoso!~ruoso@195.23.92.2 NotFound: Um, I'm not sure if you meant to agree with us, or were disagreeing with something one of us said ...? agree. (Not Found is saying that segfaulting is the wrong way to disallow...) OK, good. I thought so, but somehow it seemed odd timing. I mean, there is no sense in testing explicitly for segfault, if it's segfaults is bad enough and all people know there is something very wrong. No need for a good looking message. right. But we should have a test that shows that shift_p_p works when iterating on a namespace (or hash) where "works" means "doesn't segfault". (It could throw an exception.) but even better would be to get shift_p_p to work by returning a String PMC Agree witht that. So in the worst case you are testing for an exception, not for a segfault. right. But I think we should test for a working implementation. it shouldn't be that difficult to implement. (caveat: the iterator code is pretty nasty.) NotFound: I was never suggesting to test directly for the segfault. Only to set up necessary protections so that a long 'make test' doesn't barf halfway through because it hits my test. japhb: if the test is written in perl (5), I think that's already in place. I just don't happen to know the local boilerplate, that's all. pmichaud: OK % AndyA has left AndyA!~andy@onager.omniti.com i.e, each call to pir_output_is invokes a new Parrot instance. (That's part of the reason why testing is slow.) (shift_p_p returning String PMC) Is that plan that Parrot hashes will always only allow string keys? Because otherwise we may want to be returning a PMC anyway for generality. japhb: it's reasonable, but maybe annoying a lot of people is the way to make sure the segfault is solved faster ;) pmichaud: ah, gotcha NotFound: *chuckle* I don't know what Parrot hashes will do. Perl 6 hashes will require having non-string keys available. Maybe the C++ way of iterate over pairs (key,value) is the way to go. % donaldh has left donaldh!~chatzilla@host213-123-171-12.in-addr.btopenworld.com r27520 | allison++ | pdd25cx: : [pdd25cx] Rip out more of the old exception implementation, transition the : Exception PMC to be more like the Task PMC, to better integrate with the : concurrency scheduler. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27520 % cjfields has joined #parrot new ticket entered asking for PMC-keyed hashes no smack talkin' the bioinformatics guys! cjfields: no smack talkin' here. :-) 8) - alright! ... and what made you think to pop in and say so? Felt a disturbance in the force? % Ademan has left Ademan!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net Nope, just happened to pop in at the right time. * japhb imagines Real Programmer smack talk: "Yo mama thinks O(n**2) describes the growth of her butt each year!" r27521 | bernhard++ | trunk: : [Plumhead PHC] : Fiddle with indentation of generated NQP. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27521 % Ademan has joined #parrot r27522 | allison++ | pdd25cx: : [pdd25cx] Delete now unused functions 'handle_exception' and 'create_exception'. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27522 r27523 | allison++ | trunk: : [exceptions] Note additional deprecations of old exception functions. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27523 % kid51 has joined #parrot % iblechbot has left iblechbot!~iblechbot@ppp-62-216-204-224.dynamic.mnet-online.de % PerlJam has joined #parrot r27524 | bernhard++ | trunk: : [Plumhead PHC] : Simplify test for base64 encoded values. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27524 % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % TonyC has joined #parrot % barney has left barney!~bernhard@dslb-084-058-181-095.pools.arcor-ip.net allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy allison@perl.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu % nopaste has joined #parrot % ruoso has joined #parrot % TonyC has left TonyC!~tony@202-154-105-237.people.net.au % nopaste has left nopaste!~opaste@202-154-105-237.people.net.au % Theory has left Theory!~Theory@64.122.198.69 % nopaste has joined #parrot When a PIR/PBC library is loaded, is there a way for the library to determine what namespace loaded it? % davidfetter has joined #parrot % rotty has left rotty!~user@chello084114192192.1.15.vie.surfer.at % rotty has joined #parrot % Theory has joined #parrot r27525 | chromatic++ | pdd25cx: : [PMC] Fixed attribute accessor generation for FLOATVAL PMC attributes. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27525 % tetragon has joined #parrot % rotty` has joined #parrot % rotty has left rotty!~user@chello084114192192.1.15.vie.surfer.at r27526 | chromatic++ | trunk: : [PMC] Plugged a memory leak in the Delegate PMC. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27526 % Limbic_Region has joined #parrot % kid51 has left kid51!~jkeen@pool-71-247-47-20.nycmny.east.verizon.net % teknomunk has joined #parrot r27527 | chromatic++ | trunk: : [PMC] Plugged a few memory leaks in NameSpace PMC. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27527 % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com % TonyC has joined #parrot % AndyA has joined #parrot % davidfetter has left davidfetter!~chatzilla@start.fetter.org r27528 | chromatic++ | trunk: : [src] Plugged a memory leak in Parrot_cx_handle_tasks. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27528 % wknight8111 has joined #parrot % Ivatar has left Ivatar!~graham@tu055.demon.co.uk % IllvilJa has joined #parrot % slightlyoff_afk is now known as slightlyoff % davidfetter has joined #parrot r27529 | chromatic++ | trunk: : [src] Plugged several more memory leaks. All tests pass for me; we'll see what : happens. : (A big leak remains in the JIT when passing strings to C functions.) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27529 % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.or.comcast.net % DietCoke has left DietCoke!~coke@cpe-72-228-52-192.nycap.res.rr.com % Theory has joined #parrot % mire_ has joined #parrot % mire has left mire!~Frodo@36-175-222-85.adsl.verat.net % grim_fandango has left grim_fandango!~matt@bas2-kingston08-1167932448.dsl.bell.ca % grim_fandango has joined #parrot chromatic++ % Limbic_Region has left Limbic_Region!~Limbic_Re@c-68-49-236-220.hsd1.md.comcast.net % Ademan has left Ademan!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net % Ademan has joined #parrot % Ademan has left Ademan!~dan@h-69-3-235-19.snfccasy.dynamic.covad.net % Ademan has joined #parrot % pnutr has joined #parrot % Theory has left Theory!~Theory@69.30.86.231 % zostay has joined #parrot % cjfields has joined #parrot % cjfields has left cjfields!~cjfields@adsl-76-199-15-240.dsl.chmpil.sbcglobal.net pmichaud: ping? % mire_ has left mire_!~Frodo@210-174-222-85.adsl.verat.net % tetragon has left tetragon!~seneca@CPE0040d001f62f-CM000a736592a8.cpe.net.cable.rogers.com % Theory has joined #parrot % Zaba_ has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % wknight8111 has left wknight8111!~Whiteknig@c-71-230-33-251.hsd1.pa.comcast.net % Theory has left Theory!HAZQNUTB@72.11.81.253 % Theory has joined #parrot % Theory has left Theory!~Theory@72.11.81.253 % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 % davidfetter has left davidfetter!~chatzilla@start.fetter.org % Psyche^ has joined #parrot % Patterner has left Patterner!~Psyche@e177115249.adsl.alicedsl.de % Psyche^ is now known as Patterner I really need to automate something to post a list of currently-failing spectests online somewhere. % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot r27530 | tene++ | trunk: : [rakudo] : * Rework topic handling. : This looks more correct, and doesn't fail any more tests, but I'm not very : confident about it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27530 % tewk has joined #parrot % DietCoke has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot Specifically, the spec says that $_, when used in a bare block, should be treated as a formal parameter. When used in a bar eblock that doesn't use placeholders, that is. It doesn't say anything about what should happen when the block does use placeholders, or in other sorts of blocks. % cotto_work has left cotto_work!~cotto@tide534.microsoft.com % cotto_work has joined #parrot % iblechbot has joined #parrot % uniejo has joined #parrot % Theory has joined #parrot % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.or.comcast.net Mmm, builtins are low-hanging fruit. r27531 | tene++ | trunk: : [rakudo] : * Incomplete List::uniq builtin. Doesn't handle custom tests. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27531 r27532 | chromatic++ | pdd25cx: : [src] Changed name of 'run_handler' to 'Parrot_ex_throw_from_op'. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27532 chromatic@wgz.org | Concurrency Tasks: link: http://www.perlfoundation.org/parrot/index.cgi?concurrency_tasks dalek's url is at http://xrl.us/bjqpy r27533 | chromatic++ | trunk: : [PMC] Fixed a stupid crash-inducing typo I introduced in r27526. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27533 % grim_fandango has left grim_fandango!~matt@bas2-kingston08-1167932448.dsl.bell.ca r27534 | chromatic++ | trunk: : [Rakudo] Fixed a couple of typos. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27534