<div dir="ltr">On 21 September 2013 10:05, Tim Delaney <span dir="ltr"><<a href="mailto:timothy.c.delaney@gmail.com" target="_blank">timothy.c.delaney@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dismissing legal code as 'pathological', as more than one person has, does not cut it as a design principle.</blockquote><div><br></div></div><div>To me, that is a reiterable. It might not give the same results each time through, but you can iterate, it stops, then you can iterate over it again - it won't raise an exception trying to do so. So not what I would consider a pathological case - though definitely an unusual case and one that obviously wouldn't work in many situations that require reiterables to return the same values in the same order each time through.</div>

<div><br></div><div>So we've got two classes of reiterables here</div><div><br></div><div>- anything that can be iterated through, and then iterated through again, for which obj is not iter(obj) will work in all but what I consider to be pathological cases;</div>

<div><br></div><div>- iterables that can be iterated through multiple times, returning the same objects in the same order each time through, for which I don't think a test is possible.</div></div></div></div></blockquote>
<div><br></div><div>Also, pathological is probably not the best term to use. Instead, substitute "deliberately breaks a well-established protocol". It may make sense to do so in certain circumstances, but you can't expect anyone else to play nice with you if you don't play nice with them.</div>
<div><br></div><div>Tim Delaney </div></div></div></div>