I agree so we should introduce Range. 
Did not you or camillo started to have Range?
It can be a really nice class.

Stef
On Dec 16, 2012, at 4:55 PM, Igor Stasenko wrote:

> So, to my sense a behavior of Interval is overloaded..
> it tries to be too many things at once:
> - be an interval in math sense (which is infinite set if used for Real 
> numbers)
> - be a "collection" of numbers which you can enumerate (implies that
> it is finite).
> 
> to me, i would be much happier if we could have two different and
> non-intersecting entities:
> 
> - Enumeration. This one indeed can be used as a collection. i.e.
> "give me all integer numbers lying between values A and B, count each
> C-th number"
>   Like that,
>   (1 to: 1.5 by: 1) is enumeration which contains a single element.
> and #last should be = 1
> 
> - Interval (Range). A pure interval in math sense:  defines a Set of
> numbers lying between numbers A and B, inclusive, where A <= B. Not
> enumerable, therefore no 'step' variable, instead what it could have,
> is flags to indicate whether interval endpoints included into interval
> or not.. i.e. (a,b) vs [a,b] vs [a,b) vs (a,b].
> 
> Not supporting enumeration (no #do: , no #add: no #at: etc). You can,
> however intersect, merge or diff two intervals etc.. same operations
> which you doing on sets (but that would require another entity -
> interval set). And of course, you can test whether some number lies
> within given interval or not.
> 
> The reason i started this topic is because some code were using
> 'range' for variables which holding intervals..
> Now what you think is more appropriate protocol for something called
> 'range', this:
> 
> x := range first
> y := range last
> 
> or this:
> 
> x := range start
> y := range end
> 
> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to