On Wed, May 18, 2011 at 1:03 PM, Matthew Pocock < [email protected]> wrote:
> Range is not a sub-type of pair. You can think of a pair as being an > ordered > set of 2 items. A Range is a contiguous set defined by a lower and upper > bound (which may or may not be inclusive). Given some flag > Clusive=Inclusive|Exclusive, then every range is uniquely identified by a > single Pair<Pair<Clusive, numeric>>. The in-memory representation of the > data defining a pair and a range may be the same, but they are not at all > the same kind of thing. > I understand the semantic difference, but to me the representation is the same, unless you get in the Iterable game (see below.) But it does now feel -- with your clear explanation, thank you -- that they are different beasts. The Inclusive|Exclusive part is not in the code so that does not feel like a fair argument to support the difference though. If "a Range is a contiguous set" (a "list" since a set is not ordered), then it would make sense to support Iterable so you can use it in a for-each loop, this can be post 3.0 (the remove method in Iterator might be an issue.) Gary > > Matthew > > On 18 May 2011 17:46, Matt Benson <[email protected]> wrote: > > > On Wed, May 18, 2011 at 11:32 AM, Gary Gregory <[email protected]> > > wrote: > > > Why doesn't a Range does extend Pair? It's pretty clear (to me at > least) > > > that a range is a pair of values. > > > > > > Because the Pair is in our tuple package, it means that it should > follow > > > tuple logic and be thought of as an ordered list of elements, in this > > case > > > two elements. > > > > > > The methods that Range has that are not in Pair could be moved there. > > > > > > > IMHO a Range is not precisely a Pair, though it could define its > > _limits_ in those terms. > > > > Matt > > > > > -- > > > Thank you, > > > Gary > > > > > > http://garygregory.wordpress.com/ > > > http://garygregory.com/ > > > http://people.apache.org/~ggregory/ > > > http://twitter.com/GaryGregory > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > -- > Matthew Pocock > mailto: [email protected] > gchat: [email protected] > msn: [email protected] > irc.freenode.net: drdozer > (0191) 2566550 > -- Thank you, Gary http://garygregory.wordpress.com/ http://garygregory.com/ http://people.apache.org/~ggregory/ http://twitter.com/GaryGregory
