% jan has joined #parrot % iblechbot has joined #parrot % TiMBuS has left TiMBuS!~Hurf@123-243-167-27.static.tpgi.com.au % TiMBuS has joined #parrot % clunker3 has left clunker3!~IRC@procura.xs4all.nl % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au r29222 | bernhard++ | trunk: : [codingstd] Add spaces after comma. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29222 % Ademan has joined #parrot % Whiteknight has joined #parrot r29223 | fperrad++ | trunk: : Fix t/src/extend.t failures. : r29171 introduces Parrot_vfprintf(), so we need to #include diff: http://www.parrotvm.org/svn/parrot/revision?rev=29223 % ruoso has left ruoso!~ruoso@201009120124.user.veloxzone.com.br % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net pmichaud: (for scrollback) Just been catching up with some other (non-Rakudo) stuff this morning that I didn't get to last night; going to hack on some non-signatures stuff for now. Ping me when you're about - maybe we can work on parts of it together, or something. % ruoso has joined #parrot % bacek has joined #parrot % bacek has left bacek!~bacek@pa58-109-166-195.pa.nsw.optusnet.com.au % barney has joined #parrot % Whiteknight has joined #parrot r29224 | bernhard++ | trunk: : [Pipp] 'make pipp' now correctly depends on 'make build-common'. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29224 r29225 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] update to trunk r29223 diff: http://www.parrotvm.org/svn/parrot/revision?rev=29225 % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net r29226 | bernhard++ | trunk: : [Getopt::Obj] Some beautifications. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29226 php? php is really badly designed or swahili for "child molestor" or Philippine pesos or PHP: Hardly Programming or brought to you by the teletubbies or proof there is no god or http://xrl.us/t6wx or the little transgender brother of perl or http://tnx.nl/php or easy or was better when it was a templating system or blamed on Rasmus Lerdorf... or the preferred method of delivering MySQL errors to web browsers ...wow! purl: php is also the worse-is-better approach taken to to dazzling new depths i'm sorry, but that's too long, moritz sad % paco has joined #parrot % jhorwitz has joined #parrot % iblechbot has left iblechbot!~iblechbot@88.16-dial.augustakom.net % TiMBuS has left TiMBuS!~Hurf@123-243-167-27.static.tpgi.com.au % gryphon has joined #parrot r29227 | bernhard++ | trunk: : [Pipp] Option 'd' is a Hash. Remember the settings from the 'd'-option. : Implement 'ini_get'. Pass test 4 of the spectests. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29227 % davidfetter has left davidfetter!~davidfett@start.fetter.org % davidfetter has joined #parrot % gmansi has left gmansi!~gmansi@190.55.35.246 r29228 | bernhard++ | trunk: : [Pipp] Start with ini_set() and with $php_errormsg. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29228 % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net % uniejo has left uniejo!~uniejo@193.88.64.250 % gmansi has joined #parrot % gryphon has joined #parrot % gmansi has left gmansi!~gmansi@190.55.35.246 % iblechbot has joined #parrot % rdice has joined #parrot % gmansi has joined #parrot NotFound: ping r29229 | cotto++ | trunk: : [codingstd] wrap macro args diff: http://www.parrotvm.org/svn/parrot/revision?rev=29229 pmichaud: pong r29230 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/sun4/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29230 % jq has left jq!~jquelin@merlin.mongueurs.net r29231 | jonathan++ | trunk: : [rakudo] First crack at starting to get named enums in place. This sets up a role, a class, and puts instances of it (for the enum values) into the right places. It introduces an Enum base class for all enumerations also. This doesn't let us do a lot useful with them yet, but it's the first step. If this turns out to be a good base to build the rest on, what I'm checking in now will undoubtably get clean-up to eliminate a few bits of inline PIR; for now, it diff: http://www.parrotvm.org/svn/parrot/revision?rev=29231 Overlength commit message dalek fail! NotFound: (RT #56750) -- it seems to me as though this code is replacing what is currently a constant hash lookup with creation of new gc-able elements for every declaration of an empty string Am I reading it wrong? jonathan: that's a bug, for sure, but... can't you use multiple lines in your commit messages? I typically do: [rakudo] * more details * more details if I'm going to be making a bunch of changes to wrap macro args, should I commit one file at a time to make bisection easier, or just do them all at once? * particle too pmichaud: I looked at const_string code, and it does a hash lookup and creates and populates a new string with a copy of the result. that's what makes it easier for git users cotto_home: dir at a time might be a good compromise particle: I just write them on the command line, rather than it opening a text editor... Just creating the string is short and faster. particle: sounds good jonathan: ah, i use tortoisesvn's utility NotFound: I see that it does the hash lookup, but I don't see that it creates/populates a new string with the copy of the result pmichaud: it calls string_make_direct yes, but only once per constant string particle: I think there's some environment variable I could configure...but normally I do small enough commits (deliberately) to not have so much to say. :-) subsequent calls to const_string for the same constant string will re-use the string it created in previous calls r29232 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/skeleton/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29232 (I should say once per constant string value per interpreter) jonathan++ # working on enum classes jonathan: (re: signatures) after yesterday's conversations I'm a little burned out on lexicals, signatures, and the like so I'm taking a bit of a break this morning. pmichaud: mmmm... then I don't understand at all how it works. % UltraDM has left UltraDM!~george@dasapass.avira.com NotFound: interp->const_string_hash is a cache pmichaud: I can only imagine...break++. the first time we call const_string with "" as the buffer argument, the hash lookup fails and so we use string_make_direct to create a new STRING instance, store it in the cache, and return it subsequent calls to const_string with "" as the buffer argument will then find the string in the hash and return it directly, without creating a new one pmichaud: yes, but returning the string header directly exposes it to external modifications. ...except it's a constant. if something is modifying it, that's a bug in the caller. pmichaud: that is another problem, the string struct is exposed, and is directly modified from a lot of places. the string struct is modified for things created using const_string? pmichaud: given some recent tickets, I'm almos sure it is. I'm almost certain it isn't. :-P but pick one and I'll analyze it. I suspect what is happening is that someone is modifying a string register that isn't properly cloned. Probably, but in that case someone is modifying a const string, it isn't? sure, but the solution is to get them to not modify the constant string, not to fix Parrot so that strings are no longer COW or shared pmichaud: ok, I agree to reject the ticket and keep working in the problems. % jq has joined #parrot jonathan: do we need a separate Enum class? I somewhat figured that enums were just roles. (I'm asking only for elucidation, not because I think it's necessarily wrong.) pmichaud: The way S12 writes it, enums do everything excluding world peace... They can act as a role, but are in fact a kind of class. I'm not 100% sure about the Enum class yet, but it ain't really important and will be easy to be rid of if it's wrong. It is a convenient place to be able to stick some stuff that all enums will implement (though there are other ways to do that) and I figure you'd maybe want to be able to say Bool ~~ Enum and get true. It's probably something to get a clarification on. okay r29233 | bernhard++ | trunk: : [codinstd] remove trailing spaces diff: http://www.parrotvm.org/svn/parrot/revision?rev=29233 But we could just switch to inheriting from Any and get the few methods from elsewhere. I often have difficulty with the role/class distinction in general. Same. doesn't the "enum" statement somewhat indicate the base type? But S12 says "An enum is a low-level class that can function as a role or property." It indicates the type of the property. IIRC, TimToady made a statement somewhere that properties are just roles Right. that's because the specs aren't clear about what builtin types are roles and what are classes A property is a role with one attribute, pretty much. r29234 | julianalbo++ | trunk: : Clean some unreachable code warnings diff: http://www.parrotvm.org/svn/parrot/revision?rev=29234 * particle has a feeling that implementation will inform the spec writer here particle: I found the enums part of the spec quite wolly, tbh. wolly? *woolly r29235 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/ppc/jit_emit.h Is that how you spell it? Maybe it's excessively Britt English. :-) : now down to 1819 failures of macro arg test but if I have my enum Day then isn't Day really a subclass of Int ? diff: http://www.parrotvm.org/svn/parrot/revision?rev=29235 or is that not what is meant by "default type"? I can't see how it could work that way. Because it's a property too. A property being of type Int actually means that the attribute in the role defining that property has type Int okay. So when you say "$x but True" you're adding an attribute of type bit to $x ...when we have attributes of type bit, at least. :-) What is the purpose of: if (0 && GC_DEBUG(interp) ) ? is it more precise to say "$x but True" adds an attribute 'bool' of type bit to $x ? Yes. And also accessor method named bool Well, the attribute is really called $!bool. so, "our bit enum bool " creates a role, that role has a "$!bool" attribute and a "bool" accessor ? (and the role's name is 'bool') lots of bools around here ;) The first statement is true. The second is not, because while we need a role (so we can compose it into stuff), bool itself is a class (implying what is in the namespae under bool is a class). Thus the role, under the current implementation, is anonymous. And composed into the class bool namespaces can't have roles? The slot can hold a class or a role. so why does bool itself need to be a class? The specification says it is; additionally, the enum values are instances of this class. And you can't instantiate a role. S12:1773 says: Note that C and C are really role names. jonathan: a class of the same name is automagically created if you try to instantiate a role Hmmm...mabye I've got this the wrong way around and the class should be anonymous and the role has the name. that's how i see it That can probably work too... S12:2037 says When the typename happens to be a role, autovivifying it involves attempting to create a punned class of the same name as the role. OK Then it likely should be the other way around...good catch. (And no real hassle to do it that way instead.) yes. The introduction of an Enum class (where the spec doesn't mention one) kinda threw me for a bit. :-) OK, I expect that can disappear. OK, I'll get those shuffled around. Thanks for the clarification/feedback. r29236 | julianalbo++ | trunk: : Clean other unreachable code warning diff: http://www.parrotvm.org/svn/parrot/revision?rev=29236 % Theory has joined #parrot r29237 | bernhard++ | trunk: : [Pipp] add test of backslashes in single quoted strings. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29237 % Andy has joined #parrot r29238 | bernhard++ | trunk: : [Pipp] Use the default variant, PCT, for spec-testing. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29238 % gryphon_ has joined #parrot % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net % davidfetter has left davidfetter!~davidfett@start.fetter.org % Whiteknight has joined #parrot % davidfetter has joined #parrot % Ademan has left Ademan!~dan@h-67-101-103-49.snfccasy.dynamic.covad.net r29239 | chromatic++ | gsoc_pdd09: : [Rakudo] Brought Rakudo up to date with latest changes in concurrency branch. : Now it compiles and passes most of the sanity tests. (It looks like the : operator precedence parsing bug is responsible for most of the failures.) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29239 % apple-gunkies has joined #parrot % barney has left barney!~bernhard@p549A38B2.dip0.t-ipconnect.de r29240 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] update to trunk r29238 diff: http://www.parrotvm.org/svn/parrot/revision?rev=29240 % AndyA has left AndyA!~andy@ca93nt.hexten.net Hmm. If you override the invoke v-table method, self doesn't get passed in. % AndyA has joined #parrot % Ademan has joined #parrot % Theory has left Theory!~Theory@c-67-160-131-113.hsd1.wa.comcast.net jonathan: correct -- this is a known misfeature Whiteknight was working on it last week, iirc. Grr. I kinda need that to work. :-S Wonder if I should task-steall... Whiteknight: ping I'm quite certain that Whiteknight would welcome any advice or assistance you can provide. :-) I'll look for our irc log conversation from last week I'm still pondering the best way to do it... looks like we started the discussion at http://irclog.perlgeek.de/parrot/2008-07-03#i_379876 Thanks, reading through it... % Eevee has joined #parrot It's easy enough to get us the invocant passed, it's getting the invocant passed _and_ preserving the other arguments that are passed that is tricky. pmichaud: Agree with you it's not an IMCC level issue. i'm here I was working on it, set up branches/vtable_has_self but haven't made much progress because I dont understand argument passing Whiteknight: For every v-table override other than invoke, we do something like Parrot_run_meth_fromc_args(interp, meth, pmc, meth_name, "P"); Note that we invoke the PIR method and pass along "pmc" - the current PMC instance, which becomes the object. % apple-gunkies has left apple-gunkies!~chatzilla@cable-cmts3-65-161-245-232.vvm.com In invoke we don't do that because we want to let the invokee handle the arguments. r29241 | chromatic++ | pdd25cx: : [Rakudo] Updated exception-throwing code to use the most appropriate Parrot : function (s/real_exception/Parrot_ex_throw_from_c_args/); this time really in : the pdd25cx branch. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29241 Apart from, this doesn't quite work out, because we don't get a chance to insert the invocant in. The invoke vtable method has it, but doesn't put it into the args of the invoked PIR sub. ahhhhh and so an invoke vtable method in PIR doesn't have a way to get at the arguments i.e., we could do $P0(arg1,arg2), but the invoke vtable method doesn't have a way to get at the arguments, because invoke is always invoke_p does that sound even close to right? No; $P0(arg1,arg2) will invoke the PIR override for invoke with just those two parameters. The problem is that it should invoke the PIR override with three parameters: the first parameter should be self, followed by the other two. Basically, we need to "splice" another argument into the call. vtable_invoke takes a variable number of aprameters? are there any other vtable methods that do that? vtable_invoke doesn't care about the parameters at all invoke generally doesn't do anything parameter related right, exactly it's always invoke_p The get_params opcode in the sub is what starts the paramter getting. The invoke vtable method in object just passes control on to the PIR override method. let me go by way of analogy if I override get_boolean in PIR, then I get 'self' and nothing else. period. If I put an extra .param statement in the PIR vtable, it's an argument mismatch. because get_boolean doesn't take any arguments. No, not quite There two different types of argument going on here. yes, exactly The C ones, and those that PIR cares bout So normally, for every other override, there was no set_args before it. there are the arguments to the vtable invocation itself, and then there are the PIR arguments set up by set_args and get_args The argumetns were given to C. So from C, we run the PIR and pass the args the C vtable method received, along with the invocant. right but since the C vtable method for invoke doesn't get any arguments... In vtable invoke, the C doesn't get any of the args from the PIR. All invoke does, in reality, is changes the program counter to point at the PIR instruction that is the start of the sub. we're saying the same thing. Right. except I'm saying that if we fix it so that :vtable('invoke') gets the PIR arguments, that's a somewhat substantial departure from how the other :vtable methods work. because none of the other vtable methods do that. There aren't any PIR arguments for other vtable methods. right. But invoke needs to be different in some sense. Because otherwise, how does it actually get hold of the PIR args? yes, I guess I'm questioning whether we really want it to be different. (And I misspoke earlier -- it's _already_ different, it's just incompatibily different) $P0(x, y) - we'd like the v-table override not just to be able to get hold of the self, but also the x and the y, I guess? I agree that without doing something like this there's not an easy way to get at the PIR args, short of doing our own .pcc statements. can we build a new set of PIR arguments from the existing ones? Well, the bigger problem is that even invoking the other PIR method would then clobber the arguments of the original call. You mean with self unshifted onto the start? yeah That's what I think we need to do. Unfortunately, I don't see a trivial way to do it. I agree. however, since we expect to be substantially modifying the calling conventions anyway, perhaps we should open a ticket for the new calling conventions and then make this issue a dependency on that I mean, I've got a good idea of one way to do it, which is to fake getting the args as slurpies, then setting up a new call... well, except for the fact that you need :vtable('invoke') today, apparently :-( I can hack around the current situation. It's going to stop me getting one small bit of enums working. I should probably grab allison's PCC message from the mailing list and turn it into a ticket so I can attach other tickets that depend on it can you munge and tailcall to avoid a frame? Like, they can act as a simple argumentless function. r29242 | julianalbo++ | trunk: : Another unreachable warning, codingstd in jit_emit ppc diff: http://www.parrotvm.org/svn/parrot/revision?rev=29242 particle: Going and diddling the signature is one other option. :-) perhaps you could override invoke but get self from the interp ? is self stored in interp? since it's a sub in this case, yes. sub.pmc puts current_object into the context and clear it in the interp. I tried to splice in a "self" argument, but I dont know how to do that ah. hrmm. At the point the sub is invoked. (sorry about the delay, you guys talk fast and I had to backlog) I thought that the interp always had a reference to the current executing sub for vtable invoke, self is the current executing sub interp->current_ctx i.e., in $P0(1,2) self would end up being $P0 oh, wait hrm. The currently executing sub is the vtable override if the object that $P0 is an...right. s/if/of/ I wonder if... NO! sorry :) * jonathan attempts great, great evil .me gets his garlic and cruciifx ready * particle wonders if Coke is watching OK, it's not so easy as I'd hoped...I think we can runtime-patch the signature, though. But what I was going to do will likely get us a memory leak. % Eevee has left Eevee!~eevee@c-67-160-3-54.hsd1.wa.comcast.net I was thinking we could ferret away a self pointer somewhere, like a new field in the interpreter struct for this purpose if it's not null, use it as the first parameter, if it is null (as it would be most of the time) use parameters like normal Yeah a bit of a hack, but it solves our problem I'm coming around to that idea too. Well, maybe we want to have a flag in the signature that says "get the current object from the context and use it as the parameter here". maybe create an [add|get|_self opcodes to set this field for method and vtable calls Nah, I don't think we want to add opcodes. true, but how would we set that flag? in the invoke opcode? Yeah Diddle the signature object. It's still a fair bit of work I think to do that though, or at least to get it stable enough to work reliably. So where do we even start? We've got that branch set aside to play in, but this is far outside my realm of expertise and I'm certainly willing to do the work if I had some guidance about where/how to do it OK Whiteknight: maybe fix my hll namespace problem first? ;-) or I can work on that one. So we have an arguments signature. Whiteknight: don't you have a soc project to finish? ;-) It can be in the bytecode, or it can ge in the interp structure. If it's referenced from the bytecode, it needs a lookup in the constants table. Find it from wherever, then clone it. Then unshift onto it something (see PDD3 for flag values) that indicates it's a PMC, then add another flag to say it should be sourced from the current_object in the context. Oh, before you can unshift it, switch it's vtable to be ResizableIntegerArray. As you can't unshift onto a fixed one. Then stash that in interp->current_args r29243 | pmichaud++ | trunk: : [rakudo]: spectest-progress.csv update: 94 files, 1679 passing tests diff: http://www.parrotvm.org/svn/parrot/revision?rev=29243 Then hack inter_call.c to recognize this flag in the signature and get the object from the current_object in the context. And in theory it maybe, just maybe, will work! and in reality it will definitely, definitely, be an ugly hack (no offense) :-) I have a lot of projects to work on Whiteknight: we should clone you ;) what I need is a third computer here and two more hands * pmichaud deals ten cards to WhiteKnight. * Whiteknight checks, no gin rummy pmichaud: If you can think of something better... ;-) my "better" is long-term and involves re-thinking PCC altogether :-) Anyway, I don't have the energy to try that today, nor the motivation.. agreed :-) I'll work around it for now. % clunker3 has joined #parrot I really want to get a basically working-ish enums implementation before the end of the day. focus on that, I'll monkey around quietly on this vtable invoke nonsense that would be outstanding % Ron has joined #parrot Looks like the const_cstring_hash is never marked as live. Is this intentional for some reason? r29244 | jhorwitz++ | trunk: : add tests for switch statement (WTF?/OMG/OMGWTF) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29244 lolcode commit messages are the best * jhorwitz needs to remember to prefix his commits with [language] * particle slaps the honorable gentleman from King of Prussia good show, good show r29245 | tene++ | trunk: : [lolcode] : MANIFEST and svn metadata. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29245 purl: karma tene tene has karma of 99 That's a nice number. Maybe I should stop here. tene-- Crap. :) he's from KOP? yep, he was born in the mall parking lot. well, if you have to be born somewhere... i used to live in the arcade * jhorwitz will work for quarters I'm right down the road from there, we could hang out and have slumber parties and stuff * particle is currently working for a KoP-based client if by slumber parties you mean go out and drink beer, that works yeah, i suppose that's the adult version of the same concept Whiteknight: what uni you at? Temple, technically where are you living now? good engineering school Malvern wow. are you closer to vanguard, or lockmart? right down the road vanguard vanguard is probably receiving 150k to run the business for the next 3 days * particle worked there 5 years ago and then particle abandoned us % Theory has joined #parrot % Theory has left Theory!~Theory@c-24-21-186-194.hsd1.mn.comcast.net % Theory has joined #parrot % cj has joined #parrot Andy: I was wondering if you IRC'd any more. I guess you just can't stand #perl anymore :) r29246 | jonathan++ | trunk: : [rakudo] Shuffle enums around a bit so that the role is named and the class anonymous. Get rid of Enum class since it's not spec'd and we can do find without it. Also make instances of the enum class act more value like, so you can say EnumMember to get the underlying value of EnumMember. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29246 jonathan: rakudo doesn't seem to parse $stuff but Enum - how do you use roles now? jonathan: but is not implemented yet. but it's next on my todo list ;-) But you can do it with "does" ok I think that does work now. and I guess that's how you test it right now? r29247 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] Add bad hack around my absurd-pointer-dereferencing problem. Solves one problem but causes/exposes a new problem diff: http://www.parrotvm.org/svn/parrot/revision?rev=29247 Aye, if it works. ;-) jonathan: I just added t/spec/S12-enums/as-role.t - one pass, one failure jonathan: does the test look sane to you? moritz: Led me nyam my dinner, and I'll get back to you on that in 10-15 mins. :-) jonathan: no hurry ;) moritz: It doesn't quite work like that. :-) .no tests if the current value of the maybe property is set to no. r29248 | pmichaud++ | trunk: : [rakudo]: add 'polar' to Complex and Any (RT #56754, moritz++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29248 % Ademan_ has joined #parrot % Ademan_ has left Ademan_!~dan@h-67-101-144-25.snfccasy.dynamic.covad.net "jonathan" at 85.216.151.226 pasted "moritz: this seems to be working - is expected output" (10 lines) at http://nopaste.snit.ch/13551 jonathan: I'll adopt that into my test, thanks So, lolcode's case statments have fallthrough like C's. According to spec 1.2 Any ideas on how to represent this in PCT? moritz: Also, my $x = 42; $x does Maybe(Yes); say $x.No; say $x.Yes; say $x.No; # 0 1 0 moritz: So runtime mixing in works too. Now for but... :-) moritz: Also note, there is some issue with does on a string - to do with it being a PMC rather than a PDD15 class, I think. Me? it has been said that Andy is the man with the feathered broom or mailto:andy@petdance.com or AIM:petdance or OK cat-xeger is BACK or trying to get Sun Studio 12 installed so I can lint lint lint. Me? i think Tene is Stephen Weeks me? you are, like, right, there are a LOT of things like that cj: I don't hang out in #perl, but I am in #perl++ and others. ooh, didn't know there was a #perl++ me? you are mailto:jnthn@jnthn.net How boring! (but correct) jonathan: $x does Maybe(1); works. $x does Maybe(yes) doesn't Oh? too few arguments passed (0) - 1 params expected current instr.: '_block47' pc 830 (EVAL_17:205) I'lll submit it as a test in a few moments moritz: Hmm? enum Maybe ; my $x = 42; $x does Maybe(Yes); say $x.Maybe; say $x.No; say $x.Yes; 1 0 1 r29249 | rblasch++ | trunk: : [perl #47153] Added PMC_is_null to, well, test if PMC is null. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29249 jonathan: ah, I used lower case names Ah. that could be the differences perl6: enum Maybe ; my $x = 42; $x does Maybe(Yes); say $x.Maybe; say $x.No; say $x.Yes; OUTPUT[Statement not terminated properly at line 1, near "Yes>; my $"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 20609 (src/gen_grammar.pir:2813)␤called from Sub ..'parrot;Perl6::Grammar;statementlist' pc 19622 (src/gen_grammar.pir:2450)␤called fr... moritz: Yeah, I think it is. We don't have a class registry yet, so rely on typename rule only detecting uppercase variants. It's wrong, but not a bad heuristic...well, often. % contingencyplan has joined #parrot particle: polyglotbot is probably out of date. It is. probably It's not updating and I don't know why. Want me to update it now? sure can you do that via msg? Not yet. polyglotbot: control update That certainly would be nice. Okay, it's updating, but the rebuild isn't happening, it looks like. polyglotbot: get a hold of yourself! building now r29250 | julianalbo++ | trunk: : DOD_registry handling simplified, RT#56678 diff: http://www.parrotvm.org/svn/parrot/revision?rev=29250 r29251 | moritz++ | trunk: : [rakudo] add first enum test to spectest_regression (+9 pass) diff: http://www.parrotvm.org/svn/parrot/revision?rev=29251 would it be proper for the new PMC_is_null macro to also check if pmc->vtable->base_type is enum_class_Null? % donaldh has joined #parrot s/macro/function/ cotto_work: in that case, it must first check for pmc->vtable * particle recalls ripping out PMC_is_null macros some time ago % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 By the way I don't see the need for the interpreter argument. r29252 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] fixed bounds for the sweep loop. Sweep code was incorrectly assuming index numbers were 1-based instead of 0-based. Fixed one problem, exposed a new segfault somewhere else. chromatic++ for the insight. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29252 NotFound, cargo cult? wikipedia: "Cargo cult" "Cargo cult" is one of Citizen_X's favorite hacker jargon terms Does win32 have JIT support? cargo cult is a style of computer programming that is characterized by the ritual inclusion of code or program structures that serve no real purpose. purl, cargo cult is a style of computer programming that is characterized by the ritual inclusion of code or program structures that serve no real purpose. ...but cargo cult is programming by putting together bits of code the programmer doesn't really understand. See: http://en.wikipedia.org/wiki/Cargo_cult_programming... d'oh. step 1: look. step 2: leap. And by other way, I think to maintain the possibility of using NULL as PMCNULL is unusefull, NULL can't throw exceptions when used. donaldh: yes donaldh: it's one of the few platforms that does have jit hmmm. The jit test is SEGVing on cygwin on Vista. i don't know if cygwin has jit yeah cygwin really isn't the same as vanilla Win32 So by Win32 do you mean Microsoft Visual C or MinGW or does it not matter? msvc x86 r29253 | julianalbo++ | trunk: : Allow check for nullness of const PMCs diff: http://www.parrotvm.org/svn/parrot/revision?rev=29253 What magic does jit require for it to work? donaldh: be able to create chunks of memory with execute permissions, mainly. see docs/jit.pod thanks. and docs/dev/jit_i386.pod, etc The PMC_is_null signature disliked my g++ build, fixed. pmichaud: do you have plans to fix the \past thing in --target=past? is it possible to run a single configure step and save the temporary files? I've tried using --verbose-step but can't get enough info. what info do you need? the generated .c/.h/.o files? the output files from the compiler aren't enough? .cco .ldo etc moritz: I can haz but tests? ;-) yep, the generated files. I think. r29254 | jonathan++ | trunk: : [rakudo] Implement the but operator. To get it resolving enums correctly, we also mark the enum anonymous class with the 'enum' property; we may find a better way later. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29254 donaldh: you may need to change something in Parrot::Configure::... in order to keep the generated files around jonathan: S12-enums/basic.t ? kid51 is the best one to ask about that, if you can't find it yourself probably in cc_build or cc_gen methods particle: thanks, I'll take a look. it doesn't seem to parse 'but Day::Mon' moritz: I fear that is more typename confusion. :-( "but Mon" should work oh wait forgot to rebuild :/ Oh! * moritz shuts up * jonathan hopes Day::Mon works The but operator can only be used with a role or enum value on the right hand side with 'but Day::Mon' and 'invoke() not implemented in class 'Role'' for Day(Mon) Oh? it tries to call Day() with one argument enum Maybe ; my $x = 0 but Maybe::Yes; say $x; say $x.Maybe 0 1 oh, I used a Str in this test I wrote that before you told me not to r29255 | rblasch++ | trunk: : [perl #43438] Align win32/stat.c with generic/stat.c. : This also makes t/pmc/io.t "stat failed" work on Windows. Ah. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29255 Yeah, should add some test to the "does" tests for that and todo them, I guess. jonathan: and implement .does() ;) Hmm, that'd probably be good to have. ;) moritz: Just working the the pseudo-functional form of but now. oh, and my $x = 3 but Day::Mon; reports type '' for $x in error messages and when I smartmatch against it, it says Method 'ACCEPTS' not found for invocant of class '' r29256 | tene++ | trunk: : [lolcode] : * Add comparison operators. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29256 r29257 | tene++ | trunk: : [lolcode] : * Switch support : * Minor grammar cleanup diff: http://www.parrotvm.org/svn/parrot/revision?rev=29257 r29258 | tene++ | trunk: : SVN props on new lolcode builtins file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29258 moritz: Smart-match I know isn't done yet. Hmm...why on earth does it harm the proto-object... Or our tying to it... I cheated and made it behave like if/else instead of C's switch. jonathan: does the 'but' operator create an anonymous type? > enum Day ; my $x = 3 but Day::Mon; say $x.WHAT Null PMC access in find_method() i heard Null PMC access in find_method() was the bane of Infinoid's existence. moritz: but operator does make an anonymous subclass. Well, actually, does does. Hmm. The does operator, which but uses, is doing it. % Ron has left Ron!rblasch@80-121-83-28.adsl.highway.telekom.at that would explain the empty str as type Aye. Tene: (\past in --target=past output) no, I didn't have any plans to fix it moritz: Will look into exactly what's causing that and fix it. anonymous classes don't have classnames tene: so now you can't use duff's device in lolcode? anonymous classes don't have (Parrot) classnames how will Whiteknight port his gc? is that a rhetorical question? you *are* porting the gc to lolcode, right?!?!?! actually, I was going to port _from_ lolcode into C eventually I CAN HAS DOD? r29259 | Whiteknight++ | trunk: : [src/packfile] update function-level documentation for src/packfile/pf_items.c diff: http://www.parrotvm.org/svn/parrot/revision?rev=29259 OH HAI I FREED UR BUFFARS OH NOES! POINTERZ R FAIL I'M IN YOUR POOL, COMPACTING. I CAN HAS MEMORY PLZ? pmichaud: Yes - the issue is that the object loses it's associated with the proto-object. After a does. I'M IN UR STAK EATING UR MEM whee NO MEMARY: PWN! OHNOES, BUKKIT NOT FOUND if you don't use P6object to create the anonymous subclass, it'll not have an association pmichaud: That's...a tiny bit tricky perhaps. :-) I don't know if P6object supports anonymous subclasses yet. But it should. http://lolcats.com/view/3/ OK. I'M IN UR CODEZ, FREEING YA STILL-REFERENCED OBJECTS. I'll fix up P6object to allow anonymous subclasses. oh! you could always .register the anonymous subclass, though. % mire has joined #parrot p6meta.'register'(anonclass, 'protoobject'=> ... ) that's probably cleaner anyway. pmichaud: any idea how to represent a c-style switch in PAST? pmichaud: Aha. And I can do that *after* it comes back from my C op. Great. in PIR, are labels first-class objects? that is, can you store a label in a variable? Tene: I don't think there's a way to do it yet. Perhaps there should be. If labels are first-class, you can create a jump table using an array pmc. That's how C-switches are usually implemented labels aren't first class like that, no. well, there goes that idea afaik there's not really a way to do a branch afaik there's not really a way to do a branch to a variable position _however_ there is a way to do it in the pdd25cx branch, using local_return (/me laughs evilly) anyway, a jump table assumes somewhat that all of the 'case' targets are constants and that may not be true in our typical target language moritz: but Maybe(Yes) now works as of latest ci YAY INCR jonathan * pmichaud continues to think that p6object is Really Cool. :-) r29260 | jonathan++ | trunk: : [rakudo] Make pseudo-functional variant of but operator work. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29260 pmichaud: You probably thought of this, but suppose I do something like for 1..1000000 -> { 0 but Yes } pmichaud, he asked about a C-style switch, not a fancy-schmance perl5-style given-when doodad And every call to but is registering a new anonymous class (which will get GC'd once the copies of 0 gets collected) (pardon my technical jargon) p6object will not leak, right? Whiteknight: sure, but I don't know how often C-style switches are used in our target languages at any rate, the easier way to handle C-style switch is to create an array of Sub pmcs, then invoke the appropriate one (we can in the future I hope optimize it not to create a new one every time is also a good point, of course) jonathan: p6object will leak in that case I don't know how to avoid it. % DietCoke has joined #parrot c-style switch falls through by default since 0 is immutable and roles are immutable, I suspect a single 0 but Yes can be generated and reused Tene: did you add the builtin DIFFRINT but not add it to the grammar? % gryphon_ has left gryphon_!~gryphon@dsl-209-221-185-54.zipcon.net DietCoke: it matches , so doesn't need to be added to the grammar ... Evil. hokay. * DietCoke vanishes again. % DietCoke has left #parrot jonathan: I suppose I could properties on the class objects instead of a lookup table. although that's a bit of a pain too. Somehow I have to be able to get from .HOW to the metaobject, which means there's a reference *somewhere* % Theory has left Theory!~Theory@c-24-21-186-194.hsd1.or.comcast.net TimToady: Yes, I suspect the same, but it's an optimization, so it probably won't get done all that soon, unless someone gets the urge. :-) sorry, from .HOW to the parrotobject arrrrgh note the change I just checked into S12 after yours from .HOW to the parrotclass (too many distractions) I think it's probably fixable if I use setprop/getprop instead of managing a table. pmichaud: Yeah, understand the difficulty. I guess we can leave it about as it is for now. I guess the abstractions we have will make it cheap to modify in the future, right? yes. I think it's fixable. % ruoso has left ruoso!~ruoso@201.45.49.162 one very annoying thing I've noticed about classes and get_class, though: (nopaste coming) "pmichaud" at 76.183.97.54 pasted "annoying behavior of get_class on PMC objects" (17 lines) at http://nopaste.snit.ch/13552 TimToady: I'll have to look at the details more closely, but an initial scan doesn't appear to cause me much grief. thanks for pointing them out % cognominal has joined #parrot pmichaud: a note about what we talked about yesterday: pmichaud: Let me get the does/but issue fixed, then I'll look at that one.. I think that get_class creates a new PMCProxy instance each time iwbni it created one and then used that forevermore I've been peppering in a few diagnostic messages in the init function for class.pmc, and I can't find any differences between namespace and key PMCs and how they are handled Whiteknight: what does get_name return from a namespace? perl6: enum Maybe ; my $x = 42; $x does Maybe(Yes); say $x.Maybe; say $x.No; say $x.Yes; OUTPUT[1␤0␤1␤] ['ABC';'Bar'] returns 'Bar' pmichaud: I agree it should be doing that. at least, as far as I can see really? wow pmichaud: get_class in default.pmc return a proxy Even if the pod says that it returns SELF I need to double check that I am reading the correct things, but inside the init function, it appears namespace and key pmcs appear to be acting in exactly the same way well, they certainly would iterate differently :-) just a sec "pmichaud" at 76.183.97.54 pasted "result of get_name on a NameSpace PMC" (15 lines) at http://nopaste.snit.ch/13553 I'll have to work on it a bit later and see what I'm doing wrong r29261 | jonathan++ | trunk: : [core] Correct an off-by-one error that could lead to segfaults rather than an exception. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29261 line 191 is what distinguishes NameSpace from Key if name_arg is a Key, then it doesn't include a hll namespace element but if name_arg is a namespace, then we end up replacing it with something that _does_ have a hll namespace element I'll have to double-check. Whatever I was doing to test earlier was obviously not The Right Thing (because Parrot_ns_get_name returns the hll namespace name as the first element of the array) personally I would rework that entire logic here's something to try (typing) So at that point, removing the hll namespace would be as easy as shifting the result array from Parrot_ns_get_name? yes, but I"m not a fan of the approach being taken at all anyway. nopaste coming. nopaste away "pmichaud" at 76.183.97.54 pasted "suggested revision to class.pmc" (29 lines) at http://nopaste.snit.ch/13554 oops need to revise -- just a sec "pmichaud" at 76.183.97.54 pasted "suggested revision to class.pmc" (29 lines) at http://nopaste.snit.ch/13555 I've changed "new_namespace" and "name_arg" to "class_namespace" and "class_arg" er, "class_name" r29262 | jonathan++ | trunk: : [rakudo] Fix does (and thus but) to not lose an object's association with its proto. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29262 but the key feature is that I've refactored name_arg (now class_name) to *always* come from the namespace for the class so, if we're passed in a namespace, we just use it if we're passed in a key or rsa, then we create the associated namespace if needed, and then use that either way, class_name always comes from the namespace directly, instead of sometimes from the key/rsa and we always remove the hll component from the namespace (to preserve existing parrot behavior) there may be other instances of name_arg, new_namespace, etc. that need changing -- I just posted enough to get the idea across yeah, i see what you're doing here it's a good start to a patch. I'll work on it, submit it, and steal all the karma :) you can have the karma :) the downside to this approach is that we're constructing class_name (a new array) even when we don't need to -- such as when there's an RPA or Key that can already serve in that capacity however, creating new classes is a rare enough operation that I think the consistent approach might be better but feel free to refactor class_name back into the separate branches of the if, in order to avoid the extra Parrot_ns_get_name and VTABLE_shift_pmc calls. we might be able to do a short-circuiting refactor later, once we get the general idea to work % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com but I agree, consistency can be a lot more important for our purposes then small performance gains % Theory has joined #parrot Code clarity also counts. pmichaud: I don't think getting get_class to return one PMCProxy would be all that hard. As in, creating it and returning the same oen all the time. jonathan: I would think it shouldn't be hard either. I'm kinda curious why it doesn't do that already. When I first did the PMCProxy implementation, I am pretty sure I had them all in a registry somewhere, jsut an array indexed on PMC type ID. ahhhh we're getting rid of type ID, though And it just grabbed it from that. Right. So Allison ripped that out, and I thought the plan was we'd store the reference to the PMCProxy in the namespace. that makes sense to me (and is basically what I've been thinking) She wanted to create them lazily, however, so I said "OK, feel free" - I didn't realize until you pointed it out just now that this meant created them afresh every time. I thought it meant "create it once and stash it". Creating it every time is expensive for now, and unhelpful to what you're doing also. I discovered it in P6object when trying to create indexes to the parrotclass objets for PMCProxy I have to index by name instead of address because every get_class gives me a new PMCProxy instance I'm getting quite tired now - and I still should write my report for the day. Can you file an RT ticket, so we don't forget the issue, and I'll try and look into it sometime soonish, if nobody beats me to it? sure, I'll file a ticket. great work today -- I'm very happy that enums are working and that roles are coming together as nicely as they are I think I might just do one last thing - refactor Bool to make it more enum-like. okay. I've been thinking that it actually belongs as a Perl 6 prelude, though. So that we can do return 0 but True. I thought this as well, but then I also thought: bool ain't quite as simple as an enum. Because it also has the special pred and succ. isn't there separate bool and Bool ? bool is the enum, Bool is a class OK, do they have some relation? I don't know. but S02 lists both "bool" and Bool bool native boolean and S12 defines bool as our enum *bool ; or somesuch our bit enum *bool ; so I think that Bool is the one that defines success/pred on Bool objects, and that "bool" is an enum or native type or whatever src/classes/Bool.pmc even implements "False" and "True" that way currently. i.e., they're distinguished from Bool::False and Bool::True % donaldh has left donaldh!~chatzilla@host213-123-171-12.in-addr.btopenworld.com OK, but that confuses me because normally if you make an enum Foo , then you get symbols Foo::X, Foo::Y and X and Y. right so we get bool::False, bool::True, False, and True none of which are Bool::False nor Bool::True Oh! OK So Bool::False should be be the same as False. no. OK bool::False should be the same as False. :-) Capitalization craziness. OK, let me try that. okay. I think you should be able to simply remove lines 30-37 from src/classes/Bool.pir, and then have the 'bool' enum do the rest. (but leave the rest of Bool.pir alone) % iblechbot has left iblechbot!~iblechbot@200.16-dial.augustakom.net Yes Erm Where should I put the definition for bool? We can't have Bool.pir and bool.pir. :-) I'd do builtins/enums.pir for now OK. it would also be nice to move Order.pir into enums.pir since Order.pir is almost strictly an enum Ah, that is an enum too? I think so. I just implemented it as a class for now to get some spectests passing, and thinking we could move it to an enum when enums were ready that might even be an easier first attempt than bool (because of the capitalization issues) pmichaud: Well, I just wrote enum bool into the compiler, captured the output PIR and am tidying it up. :-) Easier than writing it by hand and forgetting something. % NotFound has left NotFound!~julian@50.Red-213-96-228.staticIP.rima-tde.net heh good I think tonight/tomorrow I'm going to fix our ability to pre-compile .pm files and use them. then we can start a Prelude.pm and write builtins in Perl 6 * moritz eagerly awaits that pmichaud++ pmichaud: Does the enum being called bool, and thus 0 but Ture setting the bool property, not mean that an if statement should be checking the result of the .bool property/method on something? IMHO if should call $thing.bool and the default implementation of .bool is to look at .Num or .Str or some such and for user defined classes it's always true by default oh wait, that means that .bool never has to look at .Str or .Num, because it only needs to be defined in builtin classes where it can just be an ordinary method % kid51 has joined #parrot Hmm. Actually switching it over to being an enum causes a couple of spectests breakages, so I'll hold fire on this patch for now. it's .true, not .bool Oh, actually... pmichaud: How does that work, if the property being declared is bool? I don't know. I do know that S02 explicitly mentions the ".true" property, not ".bool' OK. I can hack my implementation of this here to have the property be .true for now pmichaud: seems inconstent But I think we need a spec fix/clarification. don't do .true yet, please Oh, you're not already testing that? .true is very well defined in S02, while .bool is very vaguely defined I agree that "0 but True" is supposed to do something meaningful. but I'm not sure that we just blindly start hacking everything else to be .bool, or modifying .true to be different from what S02 says it is. pmichaud: it's defined that $thing.$type is the general syntax for getting a $type representation of $thing moritz: I'm not saying it's consistent I'm saying that the spec is very clear about .true, and I'd prefer to favor that at this moment. it seems logical to implement prefix: in terms of .bool ok moritz: I don't disagree. But the spec doesn't say anything about .bool other than the brief mention in S12 it says a *lot* about .true pmichaud: It could also be fixed by changing S12's definition our bit enum bool ; Rather than uppercase. yes, but then 0 but True doesn't work. kdi51++ #random karma No, it'd be 0 but true. and 'true' (lowercase) already has a meaning -- it's prefix:true Oh, hmm. OK, then it needs a clarification. :-) please just ask on p6l. kid51++ #random karma, less random spelling kdi51-- # easy come, easy go it may be that .true is not the same as prefix:? In vtable terms, it may be that vtable get_boolean is not precisely the same as .true it could be that it checks .bool first and then .true Yeah anyway, clarification on p6l is warranted here, rather than random guessing into the spec. I know this is something for p6l, it's just good to evaluate some of the possibles first. (or even not-so-random guessing :-) anyway, dinnertime here -- bbl again, great work. Thanks...and converting bool::True and bool::False and True/False to be enum worked out fine. Even if 0 but True doesn't until we get the spec clarification. (As in, passes all spectest_regression) So, will pop that in. % gryphon_ has joined #parrot r29263 | jonathan++ | trunk: : [rakudo] Switch True and False over to being real values from the (now existing) bool enumeration, rather than instances of the Bool class. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29263 % rhr has left rhr!~ryan@bas3-montreal02-1096687698.dsl.bell.ca % rhr has joined #parrot % mire has left mire!~Frodo@8-168-222-85.adsl.verat.net r29264 | jkeenan++ | trunk: : Add some tests for sub _evaluate_cc_run() and _handle_glut(). diff: http://www.parrotvm.org/svn/parrot/revision?rev=29264 % gryphon_ has left gryphon_!~gryphon@dsl-209-221-185-54.zipcon.net cotto_work: What about my karma? or my spelling? % cotto_work has left cotto_work!~cotto@tide535.microsoft.com % cotto_work has joined #parrot Today's report: http://use.perl.org/~JonathanWorthington/journal/36895 r29265 | jkeenan++ | autojit: : Branch was merged into trunk and is no longer needed at HEAD. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29265 r29266 | jkeenan++ | autojit-28732: : Branch to which this tag corresponded was merged into trunk and is no longer needed at HEAD. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29266 % ruoso has joined #parrot r29267 | jkeenan++ | parallel: : Creating parallel in https://svn.perl.org/parrot//branches diff: http://www.parrotvm.org/svn/parrot/revision?rev=29267 r29268 | jkeenan++ | parallel-29266: : Tagging trunk at r29266 so that the parallel can later be synched to it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29268 r29269 | jkeenan++ | parallel: : Begin to develop base class for Parrot::Configure. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29269 r29270 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] remove some unnecessary macros and expose the code underneith. Also, simplify some things that are accounted for elsewhere. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29270 % cotto_work has left cotto_work!~cotto@tide503.microsoft.com % TiMBuS has joined #parrot % AndyA has left AndyA!~andy@ca93nt.hexten.net r29271 | jkeenan++ | parallel: : Extract most object methods from Parrot::Configure and place them in : Parrot::Configure::Base, whence they can be inherited by new class : Parrot::Configure::Parallel as well. The latter has the same structure as the : Parrot::Configure object. i guess : parrot::configure object is now a singleton. So most tests have been put in a diff: http://www.parrotvm.org/svn/parrot/revision?rev=29271 % AndyA has joined #parrot % kid51 is now known as kid51_at_dinner % cotto_work has joined #parrot hah! i just got my first core dump! take a picture! It'll last longer! % Limbic_Region has joined #parrot % bacek has joined #parrot r29272 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] A few changes: : * fix problem where sized pools are getting double-swept : * improve (maybe not fix) card setting function to avoid overlapping : * fix bounds-checking on cards in pool sweep code. : * Update comments and readme diff: http://www.parrotvm.org/svn/parrot/revision?rev=29272 slowly but surely, I'm getting this to work right Whiteknight: when does SoC end? too soon too soon is http://www.encyclopediadramatica.com/index.php/Too_soon i dont know when exactly\ it doesn't matter, i plan to parrot for a long time well, that's good aug17 iirc I was just wondering if there were required deliverables by a certain time frame soccer & % Ademan has left Ademan!~dan@h-67-101-144-25.snfccasy.dynamic.covad.net % Ademan has joined #parrot % petdance has joined #parrot % Ademan has left Ademan!~dan@h-67-101-103-54.snfccasy.dynamic.covad.net % Andy has left Andy!~AndyL@host3130.follett.com % petdance is now known as Andy % Ademan has joined #parrot there is no bool type in Perl 6, nor is there a true or false value. The type name is Bool, and its enum is False,True you can say .Bool, but that's just a type coercion like .Int % kid51_at_dinner is now known as kid51 r29273 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/mips/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29273 TimToady: so, S12 is incorrect about the built-in "bool" enum? r29274 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/ia64/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29274 % davidfetter has left davidfetter!~davidfett@start.fetter.org % teknomunk has joined #parrot % particle1 has joined #parrot % Theory has left Theory!~Theory@c-67-160-131-113.hsd1.or.comcast.net % rdice has joined #parrot % particle has left particle!~particle@c-98-232-28-49.hsd1.wa.comcast.net % wknight8111 has joined #parrot % Whiteknight has left Whiteknight!~nobody@c-71-230-33-251.hsd1.pa.comcast.net r29275 | jkeenan++ | parallel: : Create pcfreeze() and replenish() as wrappers around Storable::nfreeze and : thaw. Combine two test files into one, replenishing the Parrot::Configure : object to do so. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29275 % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com * kid51 must sleep $kid51->sleep(8 * 3600); % kid51 has left kid51!~jkeen@pool-71-247-59-48.nycmny.east.verizon.net % Limbic_Region has left Limbic_Region!~chatzilla@pool-70-105-230-71.port.east.verizon.net r29276 | cotto++ | trunk: : [codingstd] ignore token concatenation when looking for unwrapped macro args diff: http://www.parrotvm.org/svn/parrot/revision?rev=29276 % wknight8111 has left wknight8111!~nobody@c-71-230-33-251.hsd1.pa.comcast.net r29277 | cotto++ | trunk: : [codingstd] Wrap macro args in src/jit/i386/jit_emit.h. Yes, all of them. diff: http://www.parrotvm.org/svn/parrot/revision?rev=29277 % baest has left baest!~baest@2206ds1-suoe.0.fullrate.dk moritz: around? nope. % baest has joined #parrot % Psyche^ has joined #parrot identify spade whoops % Patterner has left Patterner!~Psyche@e177235234.adsl.alicedsl.de % Psyche^ is now known as Patterner % uniejo has joined #parrot r29278 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/hppa/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29278 % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net % Ademan has left Ademan!~dan@h-67-101-148-213.snfccasy.dynamic.covad.net r29279 | cotto++ | trunk: : [codingstd] wrap macro args in src/jit/arm/jit_emit.h diff: http://www.parrotvm.org/svn/parrot/revision?rev=29279 % Andy has left Andy!~Andy@64.81.227.163 % barney has joined #parrot % Ademan has joined #parrot % TiMBuS has left TiMBuS!~Hurf@123-243-167-27.static.tpgi.com.au