<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [BUG]Collection&gt;&gt;removeAll:</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Hello.</FONT>
</P>

<P><FONT SIZE=2>&gt; MY expectation for</FONT>
<BR><FONT SIZE=2>&gt;&nbsp;&nbsp;&nbsp; x removeAll: y</FONT>
<BR><FONT SIZE=2>&gt;is &quot;x has all the elements in y removed; y is unchanged UNLESS IT IS x&quot;.&nbsp; My expectations are not violated.</FONT>
</P>

<P><FONT SIZE=2>Quantify the usefulness of your expectations.&nbsp; Please provide real life examples where x removeAll: x is used as an intention revealing feature in a dialect-independent manner.</FONT></P>

<P><FONT SIZE=2>&gt; In short, #removeAll: is being blamed for not agreeing with expectations that have never been justified elsewhere in Smalltalk.&nbsp; NOT a valid argument against conforming to the standard.</FONT></P>

<P><FONT SIZE=2>The main issue is that it is unclear and intention obscuring (plus what I said in my previous message).</FONT>
</P>

<P><FONT SIZE=2>The standard also says the argument is to be uncaptured, which is defined as meaning the receiver doesn't acquire direct or indirect references to it.&nbsp; I think the spirit of this was &quot;leave the argument alone&quot;.</FONT></P>

<P><FONT SIZE=2>Saying &quot;the result is undefined when argument==receiver&quot; also coincides with the &quot;leave the argument alone&quot; attitude.</FONT>
</P>

<P><FONT SIZE=2>The ANSI standard isn't written in stone.&nbsp; I'd rather amend the standard than agreeing with it regardless of the cost.</FONT>
</P>

<P><FONT SIZE=2>Andres.</FONT>
</P>

</BODY>
</HTML>