On Fri, Dec 19, 2003 at 10:23:45AM -0800, Austin Hastings wrote: : Of course, when I do: : : my $x = 0 but (true|false); : : then what happens?
That's the problem with making them methods. Any such operational definition is going to get you in trouble. I think I like them better as enums, because then you can have junctions of them functioning as a kind of subtype. Of course, such a junction may well give Parrot hissyfits at a lower level if there's a hardwired boolean bit that Parrot is trying to set and/or unset simultaneously, but that's perhaps a special case. I don't think we'll necessarily see such a bit for boolean, since most built-in types define their truth in terms of their actual value. It's quite a bit more likely that Parrot will get heartburn from: my $x = <$*IN> but (tainted|untainted); That's because there's likely to be a "tainted" bit in the PMC somewhere, since taintedness isn't a function of the data itself, but of its source. Larry