Dan Sugalski: # At 5:28 PM -0700 5/16/02, Brent Dax wrote: # >Dan Sugalski: # ># Okay, I've checked in the final changes to this edit of # PDD 2, the # # >vtable pdd. Tine to rip into it^W^W^Wexamine it closely. :) # > # >I guess I'm first. # > # >I think the PARROT_TRUE/PARROT_FALSE thing is a Really Bad Idea. # # I'm not thrilled with it either, but I don't want to be checking the # exception flag in the interpreter when we don't have to. I'm not at # all happy about the calls that do have to check. I currently consider # that the lesser of two evils. Evil, yes, just less evil # # >I understand that we need a way to indicate exceptions. However, I # >think that it either must be out-of-band or it needs to have a much # >rarer value. I would much prefer if it was completely # out-of-band, but # >if that's not possible at least choose a different value; ~0 # jumps out # >at me as a possibility. # # Pssst. Brent. Don't tell anyone, but ~0 *is* -1... :)
Um......quiet you! ;^) OK, so maybe INT_MAX? # >C people are used to being able to say # > # > if(foo()) { # > true # > } # > else { # > false # > } # # Right, instead it's # # if (!status = foo()) { # throw_exception(); # else { # if (status > 0) { # true # } else { # false # } # } # # Great? No. Better performance, though, than explicitly going out and # checking the interpreter structure for an outstanding exception. Not # only does that mean we're accessing more memory so there's less cache # coherency, but it also means that more routines will have to # explicitly clear the exception status. I think I've already asked this and you've already answered, but I can't find it by Googling the list archive, so I'll ask again. What's so evil about setjmp/longjmp? Threading shouldn't be an issue, as we have a handy per-thread place we can store the structures: the interpreter struct. --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) blink: Text blinks (alternates between visible and invisible). Conforming user agents are not required to support this value. --The W3C CSS-2 Specification