<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br>On 3 Feb 2016, at 00:00 , James Noble <<a href="mailto:kjx@ecs.vuw.ac.nz">kjx@ecs.vuw.ac.nz</a>> wrote:<br><br><blockquote type="cite">I meant to ask explicitly,  should the “[ ]”’s interface be minimal (just iteration and say size) or maximal (a collection).<br></blockquote><br><div>You <i>did</i> ask this explicitly.  I think that you have asked three times now ;-)</div><div><br></div><div>For all the reasons that you quote, it should be minimal.  Didn't we agree on that?   I though that all that was at issue is the name.</div><div><br></div><div>I'm for the name "run", but if you don't like that, then I would choose "lineup".  I find "series"  acceptable too, but likely to cause more confusion.  For example, one might say in class "this method takes a series of arguments" and have students think that it takes a variable number of arguments, rather than one argument that is a collection.  This is less likely to happen with a term like "lineup" that is less likely to be mistaken for everyday speech.</div><div><br></div><div>In addition, because we do <i>not</i> want students to use these [ things ] for everyday programming, we should <i>not</i> choose a name that students may well associate with an everyday programming construct.  So an "oddball" name like <i>boundedIterable</i> or <i>conseqution</i> or <i>lineup</i> is actually preferable to something like list or sequence. </div><div><br></div><div>With regard to your suggestion, I would rather <i>not</i> repurpose “list” to be immutable, since the languages to which people are likely to move from Grace — Java, C++ & Python — use “list” for mutable structures.  The standard data structures course will probably teach “linked lists”, which are mutable.</div><div><br></div><div>When we chose <i>sequence,</i> <i>list, and set</i> a couple of years ago, we did this in the conscious knowledge that we didn't have a name for immutable sets.  One alternative that we considered then, which we <i>could</i> reconsider now, is to use <i>iList</i> and <i>mList</i> for the two kinds of list, and <i>iSet</i> and <i>mSet</i> for the two kinds of set.   <i>If</i> we think that we might want to make this change, this is a good time to do it, because existing code that uses, say, list.with(1, 2, 3, 5, 7) will need to be edited anyway.   On the whole, I think that I'm happy with sequence and list, but it sounds as though you may not be.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>Andrew</div><div><br></div><div><br></div></body></html>