On Sep 20, 2007, at 7:26 PM, Rick DeNatale wrote:

> Getting back to the original thread though, it's actually not quite
> true that ranges require the starting and ending elements to implement
>  succ,

Ah, I thought they did because of this excerpt from the Pickaxe:

"So far wee shown ranges of numbers and strings. However, as you  
expect from
an object-oriented language, Ruby can create ranges based on objects  
that you define.
The only constraints are that the objects must respond to succ by  
returning the next
object in sequence and the objects must be comparable using <=>."

Also, the documentation of Range says:

"Ranges can be constructed using objects of any type, as long as the
objects can be compared using their +<=>+ operator and they support
the +succ+ method to return the next object in sequence."

So, in what sense succ is not required?

-- fxn