Re: Inclusive-exclusive range

2009-03-04 Thread Meikel Brandmeyer
Hi, Am 04.03.2009 um 14:06 schrieb Mibu: On Mar 4, 2:46 pm, Michael Wood wrote: On Wed, Mar 4, 2009 at 2:07 PM, Mibu wrote: Why does range in Clojure use an inclusive-exclusive range? For what it's worth, Python's range function works the same way. I think Clojure's design leans towards

Re: Inclusive-exclusive range

2009-03-04 Thread Itay Maman
(+1 for Konrad's point regarding concat). Two points, in favor of 0-based indexing (as opposed to 1-based) When you look at a piece of code and see zero used as an index into some custom-made collection, you immediately know that this is a reference to the first item. Except for the rare cases o

Re: Inclusive-exclusive range

2009-03-04 Thread Michael Wood
On Wed, Mar 4, 2009 at 3:17 PM, Mibu wrote: > > Joshua, my puzzlement is not with the first element but the last. > > For example, the (range -1 2) gives (-1 0 1). Because, if you have a vector of 10 elements, (and your language starts indexing from 0) you can use (range 10) for the indexes, ins

Re: Inclusive-exclusive range

2009-03-04 Thread Konrad Hinsen
On Mar 4, 2009, at 14:06, Mibu wrote: > On Mar 4, 2:46 pm, Michael Wood wrote: >> On Wed, Mar 4, 2009 at 2:07 PM, Mibu wrote: >>> Why does range in Clojure use an inclusive-exclusive range? >> For what it's worth, Python's range function works the same way. > > I think Clojure's design leans to

Re: Inclusive-exclusive range

2009-03-04 Thread Mibu
Joshua, my puzzlement is not with the first element but the last. For example, the (range -1 2) gives (-1 0 1). On Mar 4, 3:06 pm, Joshua Fox wrote: > This is discussed, with references, > herehttp://en.wikipedia.org/wiki/Array#Index_of_the_first_element --~--~-~--~~~--

Re: Inclusive-exclusive range

2009-03-04 Thread Mibu
On Mar 4, 2:46 pm, Michael Wood wrote: > On Wed, Mar 4, 2009 at 2:07 PM, Mibu wrote: > > Why does range in Clojure use an inclusive-exclusive range? > For what it's worth, Python's range function works the same way. I think Clojure's design leans towards what's right more than what's custom eve

Re: Inclusive-exclusive range

2009-03-04 Thread Joshua Fox
This is discussed, with references, here http://en.wikipedia.org/wiki/Array#Index_of_the_first_element --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@goog

Re: Inclusive-exclusive range

2009-03-04 Thread Michael Wood
On Wed, Mar 4, 2009 at 2:07 PM, Mibu wrote: > > Why does range in Clojure use an inclusive-exclusive range? > > I'm aware of the traditional substring range convention, which always > puzzled me as to how an unintuitive and error-prone use became > cemented as the norm. > > I'm not calling for a

Re: Inclusive-exclusive range

2009-03-04 Thread Joshua Fox
With pointer-based strings or arrays, as in C , it is natural to start at index 0, so that you can do pointer arithmetic: address+0 is the first character/item. Then, if you have a string or array of length n, the last item is at n-1. Joshua On Wed, Mar 4, 2009 at 2:07 PM, Mibu wrote: > > Why d