<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi Frank, thanks for hanging in there -- this stuff sometimes requires patience to work through!</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">&gt;&gt; &gt; I think you should stay consistent in your statements about<br>
&gt;&gt; &gt; &quot;modularity.&quot;  It wraps a Dictionary, it supplies #at: for access.<br>
&gt;&gt; &gt; You said if it walks and quacks like a collection, it goes in<br>
&gt;&gt; &gt; Collections.<br>
&gt;&gt;<br>
&gt;&gt; No, I said that was a rubbish reason for grouping things together :)<br>
&gt;<br>
&gt;<br>
&gt; What then?  A separate package for every kind of Collection?<br>
<br>
</div>I think we&#39;re both guilty of strawmanning each other :) No, of course<br>
not. Having each class in a separate package ruins the point of a<br>
package. I mean, it _packages_, so a package must _group_.<br></blockquote><div><br></div><div>Frank, I&#39;m not posing strawman arguments, at least not intentionally.  The only thing you left me to work with was that organization along a particular semantic was &quot;rubbish&quot;.  I don&#39;t know how to make forward progress knowing only what you _don&#39;t_ like.  Please tell me what you _like_.  So I was just trying to ask, if not that, WHAT, should it be?  Then way we can rave and critique about a particular vision, and move on it, or not.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
For Collections, I want to push all the collections that Kernel uses -<br>
OrderedCollection, Array, ... - into Kernel. For any that are left, I<br></blockquote><div><br></div><div>Awesome, I agree with that!  I think we&#39;ll also need Set and Dictionary (and their superclasses, of course).  It doesn&#39;t bother me to have Collection defined in Kernel, and I think there&#39;s no choice.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
don&#39;t particularly care, as long as they don&#39;t cause unnecessary<br>
coupling between packages. That shouldn&#39;t be a problem for<br>
Collections, except that Collections depends on System.<br>
<br>
But back to the point: LRUCache clearly doesn&#39;t belong to System.<br>
There&#39;s no obviously right place for it in any of the other packages.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
So we have a class that doesn&#39;t really belong to any other package.<br>
It&#39;s only used by Balloon and Morphic (and Morphic depends on<br>
Balloon). So we can<br>
* put LRUCache in Collections and hold our noses, or<br>
* put LRUCache in Balloon and hold our noses, or<br>
* put LRUCache in its own package, Caches, and hold our noses.<br></blockquote><div><br></div><div>For me, it&#39;s always seemed obvious.  The only raves/critiques in the whole thread I can find [1] related to putting it in Collections seem to amount to it not being useful enough, and<span style="font-family:arial,sans-serif"> yours that, viscerally, it doesn&#39;t feel right (which I don&#39;t understand).</span></div>
</div><div class="gmail_quote"><font face="arial, sans-serif"><br></font></div><div class="gmail_quote"><font face="arial, sans-serif">But based on these facts --</font></div><div class="gmail_quote"><font face="arial, sans-serif"><br>
</font></div><div class="gmail_quote"><font face="arial, sans-serif">  - we have currently 2 users where merely 3 we agree to consider &quot;useful&quot;?</font></div><div class="gmail_quote"><font face="arial, sans-serif">  - we have the option to integrate Seasides more-useful LRU Cache, which has just 7 methods instead of 3, would put us at 3 users.</font></div>
<div class="gmail_quote"><font face="arial, sans-serif">  - the idea that LRU Cache is a &quot;holder of objects&quot; with #at: access.  </font><span style="font-family:arial,sans-serif">No need to hold my nose.</span></div>
<div class="gmail_quote"><font face="arial, sans-serif"><br></font></div><div class="gmail_quote">That&#39;s why I support your option 1, Collections.  I think it&#39;s the best fit both semantically and pragmatically.  Note based on our plans, Kernel is an option too.  But I still prefer Collections.</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">I totally respect the will of the community if you prefer a different package.  I only implore we do not create a separate package for something we&#39;re all saying has little value.</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">Thanks,</div><div class="gmail_quote">  Chris</div><div class="gmail_quote"><br></div><div class="gmail_quote">[1] --</div><div class="gmail_quote">    1) &gt; <span style="font-size:12.727272033691406px;font-family:arial,sans-serif">It&#39;s generic, but the implementation is not generally useful.</span></div>
<div class="gmail_quote"><div><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">    2) &gt; </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">But really, LRUCache is _not_ generic, because _noone uses it_.</span><br>
</div><div><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">    3) &gt; </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">Yea, that&#39;s why Seaside implements its own…  </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">&lt;/sarcasm&gt; &lt;!-- sorry --&gt;</span><br>
</div><div>    4) &gt; <span style="font-size:12.727272033691406px;font-family:arial,sans-serif">If someone else [...] makes a </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">new package, or puts it in Collections, _and doesn&#39;t add a new</span><br>
</div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">ridiculous dependency_, then that&#39;s even better.</span></div><div class="gmail_quote"><font face="arial, sans-serif">    5) &gt; </font><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">the fact that Seaside needs an LRUCache shows that the _</span><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">concept_ of an LRUCache is needed in at least 3 places.</span></div>
<div class="gmail_quote"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">    6) &gt; </span>put LRUCache in Collections and hold our noses</div><div class="gmail_quote"><font face="arial, sans-serif"><br>
</font></div><div class="gmail_quote"><font face="arial, sans-serif"><br></font></div><div class="gmail_quote"><font face="arial, sans-serif"><br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<span class=""><font color="#888888"><br>
frank<br>
</font></span></blockquote></div><br></div></div>