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

Reply via email to