<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">>> > I think you should stay consistent in your statements about<br>
>> > "modularity." It wraps a Dictionary, it supplies #at: for access.<br>
>> > You said if it walks and quacks like a collection, it goes in<br>
>> > Collections.<br>
>><br>
>> No, I said that was a rubbish reason for grouping things together :)<br>
><br>
><br>
> What then? A separate package for every kind of Collection?<br>
<br>
</div>I think we'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'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 "rubbish". I don't know how to make forward progress knowing only what you _don'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'll also need Set and Dictionary (and their superclasses, of course). It doesn't bother me to have Collection defined in Kernel, and I think there'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't particularly care, as long as they don't cause unnecessary<br>
coupling between packages. That shouldn't be a problem for<br>
Collections, except that Collections depends on System.<br>
<br>
But back to the point: LRUCache clearly doesn't belong to System.<br>
There'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't really belong to any other package.<br>
It'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'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't feel right (which I don'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 "useful"?</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 "holder of objects" 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's why I support your option 1, Collections. I think it'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'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) > <span style="font-size:12.727272033691406px;font-family:arial,sans-serif">It'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) > </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) > </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif">Yea, that's why Seaside implements its own… </span><span style="font-size:12.727272033691406px;font-family:arial,sans-serif"></sarcasm> <!-- sorry --></span><br>
</div><div> 4) > <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't add a new</span><br>
</div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">ridiculous dependency_, then that's even better.</span></div><div class="gmail_quote"><font face="arial, sans-serif"> 5) > </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) > </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>