
On Thu, Oct 13, 2011 at 11:06 AM, Guido van Rossum guido@python.org wrote:
Yeah, we're down to bikeshedding about whether range(0, 10, 2) == range(0, 11, 2).
I'll weigh in on the "compare like a sequence" side, even if the specific range definitions are different. It's the way range comparisons work in Python 2 and I'd like range() objects to be as close to a computationally defined immutable list as we can get them. It may even make sense to make them hashable in those terms.
I see it as similar to the fact that "Decimal('1') == Decimal('1.0')" even though those two objects carry additional state regarding significant digits that the definition of equivalence ignores.
But not exposing start/stop/step is a definite oversight - I actually thought we *did* expose them, but I was thinking of slice objects. With those attributes exposed, anyone that wants a more restrictive form of equality can easily implement it for themselves.
Cheers, Nick.