Ben Finney: > Is there a later PEP that I've missed which > finally makes ‘bool’ a type independent from ‘int’?
In a tidy language like an ObjectPascal or Java bools and integers are different types. In Python if bools become distinct from integers you have to rewrite things like: sum(el == val for el in iterable) as: sum(1 for el in iterable if el == val) In the past here I have stated that boolean operators should return only boolean values, and I believe it still. Because doing otherwise is quite confusing. But in practice I have seen that while being a little untidy, having bools as subtype of int doesn't lead to much bugs, and it has few practical advantages. So purity isn't that useful here. Having an iterable that contains both ints and bools isn't too much common, because while Python isn't statically typed, in practice most of the times in most Python programs types are uniform and predictable (that's why ShedSkin can work). And even if you have a list that contains bools and integers mixed, then having to tell them apart (by hashing, etc) is quite uncommon, I think I have never had to do it in 2-3 years. So maybe is that code that is doing something messy, so maybe is that code that has to change and become more tidy, and not the language itself :-) Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list