On Thu, Jun 24, 2004 at 12:43:30PM -0700, Scott Bronson wrote: > > So, in summary, though "0"==false appears to work, it leads to a number > of strange boundary conditions and, therefore, bugs. It's hard for new > programmers to grasp and even old hacks are still sometimes tripped up > by it. It just feels inconsistent. That's why I'd love to see this > straightened out for Perl6.
Interestingly, the very first use of the properties system that I remember seeing on this list was "0 but true". Although no one explicitly said so, it seems to me that the entire idea of properties was created to deal with this problem...which it doesn't do particularly well, since you still have to remember to tag the property on. As it turns out, properties are (at least apparently, until we have a significant Perl6 codebase) very useful for other things. FWIW, I also don't particularly like dealing with the edge cases that "0" causes. Unfortunately, I don't have a good solution. --Dks