LRUCache to Balloon?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

LRUCache to Balloon?

Frank Shearar-3
I'm sorely tempted to move LRUCache to Balloon. It's in System at the
moment, making Balloon depend on System.

Doing so would make Balloon not depend on System anymore. The other
user of LRUCache is ScrollBar, which is in Morphic. Morphic already
depends on Balloon, so nothing happens.

In short: this
* moves LRUCache closer to one of its two users
* breaks a needless dependency

Thoughts?

frank

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-3
LRUCache is generic, so how about Collections?

On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]> wrote:

> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
> moment, making Balloon depend on System.
>
> Doing so would make Balloon not depend on System anymore. The other
> user of LRUCache is ScrollBar, which is in Morphic. Morphic already
> depends on Balloon, so nothing happens.
>
> In short: this
> * moves LRUCache closer to one of its two users
> * breaks a needless dependency
>
> Thoughts?
>
> frank
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Levente Uzonyi-2
On Thu, 21 Nov 2013, Chris Muller wrote:

> LRUCache is generic, so how about Collections?

It's generic, but the implementation is not generally useful.


Levente

>
> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]> wrote:
>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>> moment, making Balloon depend on System.
>>
>> Doing so would make Balloon not depend on System anymore. The other
>> user of LRUCache is ScrollBar, which is in Morphic. Morphic already
>> depends on Balloon, so nothing happens.
>>
>> In short: this
>> * moves LRUCache closer to one of its two users
>> * breaks a needless dependency
>>
>> Thoughts?
>>
>> frank
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

David T. Lewis
On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:

> On Thu, 21 Nov 2013, Chris Muller wrote:
> >
> >On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
> >wrote:
> >>I'm sorely tempted to move LRUCache to Balloon. It's in System at the
> >>moment, making Balloon depend on System.
>
> >LRUCache is generic, so how about Collections?
>
> It's generic, but the implementation is not generally useful.
>

I don't see how the concept of a LRU cache is in any way related to Balloon.
It seems to me that if it is useful enough to be included in the system at
all, then it should live in a package category that reflects the actual meaning
of the class.

Suppose for the sake of argument that Balloon was being maintained as an
external package outside of the trunk image. Suppose also that an LRU cache
was something worth having in the trunk. What package would you put it in?

Dave


Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:

> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>> On Thu, 21 Nov 2013, Chris Muller wrote:
>> >
>> >On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>> >wrote:
>> >>I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>> >>moment, making Balloon depend on System.
>>
>> >LRUCache is generic, so how about Collections?
>>
>> It's generic, but the implementation is not generally useful.
>>
>
> I don't see how the concept of a LRU cache is in any way related to Balloon.
> It seems to me that if it is useful enough to be included in the system at
> all, then it should live in a package category that reflects the actual meaning
> of the class.
>
> Suppose for the sake of argument that Balloon was being maintained as an
> external package outside of the trunk image. Suppose also that an LRU cache
> was something worth having in the trunk. What package would you put it in?

I would put it in its own package, called Cache. I anticipate heated
discussion around yet another package with a single class.

But really, LRUCache is _not_ generic, because _noone uses it_.

frank

> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Tobias Pape
On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:

> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>
>>>> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>>>> wrote:
>>>>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>>>>> moment, making Balloon depend on System.
>>>
>>>> LRUCache is generic, so how about Collections?
>>>
>>> It's generic, but the implementation is not generally useful.
>>>
>>
>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>> It seems to me that if it is useful enough to be included in the system at
>> all, then it should live in a package category that reflects the actual meaning
>> of the class.
>>
>> Suppose for the sake of argument that Balloon was being maintained as an
>> external package outside of the trunk image. Suppose also that an LRU cache
>> was something worth having in the trunk. What package would you put it in?
>
> I would put it in its own package, called Cache. I anticipate heated
> discussion around yet another package with a single class.
>
> But really, LRUCache is _not_ generic, because _noone uses it_.
Yea, that's why Seaside implements its own…

</sarcasm> <!-- sorry -->


Best
        -Tobias



signature.asc (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:

> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>
>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>
>>>>> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>>>>> wrote:
>>>>>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>>>>>> moment, making Balloon depend on System.
>>>>
>>>>> LRUCache is generic, so how about Collections?
>>>>
>>>> It's generic, but the implementation is not generally useful.
>>>>
>>>
>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>> It seems to me that if it is useful enough to be included in the system at
>>> all, then it should live in a package category that reflects the actual meaning
>>> of the class.
>>>
>>> Suppose for the sake of argument that Balloon was being maintained as an
>>> external package outside of the trunk image. Suppose also that an LRU cache
>>> was something worth having in the trunk. What package would you put it in?
>>
>> I would put it in its own package, called Cache. I anticipate heated
>> discussion around yet another package with a single class.
>>
>> But really, LRUCache is _not_ generic, because _noone uses it_.
>
> Yea, that's why Seaside implements its own…
>
> </sarcasm> <!-- sorry -->

Meh. The fundamental problem I'm trying to address is to tease these
packages apart. If I make deliberate mistakes, and put LRUCache in
Balloon only because that's the most basic user and doesn't add any
additional dependencies, _that is a win_. It's one slightly less
horrible dependency.

If someone else takes umbrage at such a ridiculous idea, and makes a
new package, or puts it in Collections, _and doesn't add a new
ridiculous dependency_, then that's even better.

No, LRUCache doesn't belong in Balloons. It may well be generally
useful. But moving it there fixes a real problem. What I don't want is
to be paralysed with discussions like "but this is not theoretically
perfect!".

frank

> Best
>         -Tobias
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Tobias Pape
On 22.11.2013, at 11:58, Frank Shearar <[hidden email]> wrote:

> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>
>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>
>>>>>
>>>>> It's generic, but the implementation is not generally useful.
>>>>>
>>>>
>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>> It seems to me that if it is useful enough to be included in the system at
>>>> all, then it should live in a package category that reflects the actual meaning
>>>> of the class.
>>>>
>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>> was something worth having in the trunk. What package would you put it in?
>>>
>>> I would put it in its own package, called Cache. I anticipate heated
>>> discussion around yet another package with a single class.
>>>
>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>
>> Yea, that's why Seaside implements its own…
>>
>> </sarcasm> <!-- sorry -->
>
> Meh. The fundamental problem I'm trying to address is to tease these
> packages apart. If I make deliberate mistakes, and put LRUCache in
> Balloon only because that's the most basic user and doesn't add any
> additional dependencies, _that is a win_. It's one slightly less
> horrible dependency.
>
> If someone else takes umbrage at such a ridiculous idea, and makes a
> new package, or puts it in Collections, _and doesn't add a new
> ridiculous dependency_, then that's even better.
>
> No, LRUCache doesn't belong in Balloons. It may well be generally
> useful. But moving it there fixes a real problem. What I don't want is
> to be paralysed with discussions like "but this is not theoretically
> perfect!".
Yes, you are right there.
I would think, spinning of a new, small package would be a good compromise?

Best
        -Tobias



signature.asc (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-3
> Yes, you are right there.
> I would think, spinning of a new, small package would be a good compromise?

For THREE METHODS?  My God, PLEASE, no!

On Fri, Nov 22, 2013 at 10:33 AM, Tobias Pape <[hidden email]> wrote:

> On 22.11.2013, at 11:58, Frank Shearar <[hidden email]> wrote:
>
>> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>>
>>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>>
>>>>>>
>>>>>> It's generic, but the implementation is not generally useful.
>>>>>>
>>>>>
>>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>>> It seems to me that if it is useful enough to be included in the system at
>>>>> all, then it should live in a package category that reflects the actual meaning
>>>>> of the class.
>>>>>
>>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>>> was something worth having in the trunk. What package would you put it in?
>>>>
>>>> I would put it in its own package, called Cache. I anticipate heated
>>>> discussion around yet another package with a single class.
>>>>
>>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>>
>>> Yea, that's why Seaside implements its own…
>>>
>>> </sarcasm> <!-- sorry -->
>>
>> Meh. The fundamental problem I'm trying to address is to tease these
>> packages apart. If I make deliberate mistakes, and put LRUCache in
>> Balloon only because that's the most basic user and doesn't add any
>> additional dependencies, _that is a win_. It's one slightly less
>> horrible dependency.
>>
>> If someone else takes umbrage at such a ridiculous idea, and makes a
>> new package, or puts it in Collections, _and doesn't add a new
>> ridiculous dependency_, then that's even better.
>>
>> No, LRUCache doesn't belong in Balloons. It may well be generally
>> useful. But moving it there fixes a real problem. What I don't want is
>> to be paralysed with discussions like "but this is not theoretically
>> perfect!".
>
> Yes, you are right there.
> I would think, spinning of a new, small package would be a good compromise?
>
> Best
>         -Tobias
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-3
In reply to this post by Frank Shearar-3
You said there are already two places where it's used, right?  If
there's even just ONE MORE place that pops up, we'll find that clearly
Balloon (WTH?) is the wrong place for it.

   http://www.codinghorror.com/blog/2013/07/rule-of-three.html

I think you should stay consistent in your statements about
"modularity."  It wraps a Dictionary, it supplies #at: for access.
You said if it walks and quacks like a collection, it goes in
Collections.



On Fri, Nov 22, 2013 at 4:58 AM, Frank Shearar <[hidden email]> wrote:

> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>
>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>>
>>>>>> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>>>>>> wrote:
>>>>>>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>>>>>>> moment, making Balloon depend on System.
>>>>>
>>>>>> LRUCache is generic, so how about Collections?
>>>>>
>>>>> It's generic, but the implementation is not generally useful.
>>>>>
>>>>
>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>> It seems to me that if it is useful enough to be included in the system at
>>>> all, then it should live in a package category that reflects the actual meaning
>>>> of the class.
>>>>
>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>> was something worth having in the trunk. What package would you put it in?
>>>
>>> I would put it in its own package, called Cache. I anticipate heated
>>> discussion around yet another package with a single class.
>>>
>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>
>> Yea, that's why Seaside implements its own…
>>
>> </sarcasm> <!-- sorry -->
>
> Meh. The fundamental problem I'm trying to address is to tease these
> packages apart. If I make deliberate mistakes, and put LRUCache in
> Balloon only because that's the most basic user and doesn't add any
> additional dependencies, _that is a win_. It's one slightly less
> horrible dependency.
>
> If someone else takes umbrage at such a ridiculous idea, and makes a
> new package, or puts it in Collections, _and doesn't add a new
> ridiculous dependency_, then that's even better.
>
> No, LRUCache doesn't belong in Balloons. It may well be generally
> useful. But moving it there fixes a real problem. What I don't want is
> to be paralysed with discussions like "but this is not theoretically
> perfect!".
>
> frank
>
>> Best
>>         -Tobias
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-3
Irregardless of the fact it employs a slightly more robust
implementation, the fact that Seaside needs an LRUCache shows that the
_concept_ of an LRUCache is needed in at least 3 places.

On Fri, Nov 22, 2013 at 10:59 AM, Chris Muller <[hidden email]> wrote:

> You said there are already two places where it's used, right?  If
> there's even just ONE MORE place that pops up, we'll find that clearly
> Balloon (WTH?) is the wrong place for it.
>
>    http://www.codinghorror.com/blog/2013/07/rule-of-three.html
>
> I think you should stay consistent in your statements about
> "modularity."  It wraps a Dictionary, it supplies #at: for access.
> You said if it walks and quacks like a collection, it goes in
> Collections.
>
>
>
> On Fri, Nov 22, 2013 at 4:58 AM, Frank Shearar <[hidden email]> wrote:
>> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>>
>>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>>>
>>>>>>> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>>>>>>> wrote:
>>>>>>>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>>>>>>>> moment, making Balloon depend on System.
>>>>>>
>>>>>>> LRUCache is generic, so how about Collections?
>>>>>>
>>>>>> It's generic, but the implementation is not generally useful.
>>>>>>
>>>>>
>>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>>> It seems to me that if it is useful enough to be included in the system at
>>>>> all, then it should live in a package category that reflects the actual meaning
>>>>> of the class.
>>>>>
>>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>>> was something worth having in the trunk. What package would you put it in?
>>>>
>>>> I would put it in its own package, called Cache. I anticipate heated
>>>> discussion around yet another package with a single class.
>>>>
>>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>>
>>> Yea, that's why Seaside implements its own…
>>>
>>> </sarcasm> <!-- sorry -->
>>
>> Meh. The fundamental problem I'm trying to address is to tease these
>> packages apart. If I make deliberate mistakes, and put LRUCache in
>> Balloon only because that's the most basic user and doesn't add any
>> additional dependencies, _that is a win_. It's one slightly less
>> horrible dependency.
>>
>> If someone else takes umbrage at such a ridiculous idea, and makes a
>> new package, or puts it in Collections, _and doesn't add a new
>> ridiculous dependency_, then that's even better.
>>
>> No, LRUCache doesn't belong in Balloons. It may well be generally
>> useful. But moving it there fixes a real problem. What I don't want is
>> to be paralysed with discussions like "but this is not theoretically
>> perfect!".
>>
>> frank
>>
>>> Best
>>>         -Tobias
>>>
>>>
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
In reply to this post by Chris Muller-3
On 22 Nov 2013, at 16:59, Chris Muller <[hidden email]> wrote:

> You said there are already two places where it's used, right?  If
> there's even just ONE MORE place that pops up, we'll find that clearly
> Balloon (WTH?) is the wrong place for it.
>
>   http://www.codinghorror.com/blog/2013/07/rule-of-three.html
>
> I think you should stay consistent in your statements about
> "modularity."  It wraps a Dictionary, it supplies #at: for access.
> You said if it walks and quacks like a collection, it goes in
> Collections.

No, I said that was a rubbish reason for grouping things together :)

frank

> On Fri, Nov 22, 2013 at 4:58 AM, Frank Shearar <[hidden email]> wrote:
>> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>>
>>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>>>
>>>>>>> On Thu, Nov 21, 2013 at 4:51 PM, Frank Shearar <[hidden email]>
>>>>>>> wrote:
>>>>>>>> I'm sorely tempted to move LRUCache to Balloon. It's in System at the
>>>>>>>> moment, making Balloon depend on System.
>>>>>>
>>>>>>> LRUCache is generic, so how about Collections?
>>>>>>
>>>>>> It's generic, but the implementation is not generally useful.
>>>>>>
>>>>>
>>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>>> It seems to me that if it is useful enough to be included in the system at
>>>>> all, then it should live in a package category that reflects the actual meaning
>>>>> of the class.
>>>>>
>>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>>> was something worth having in the trunk. What package would you put it in?
>>>>
>>>> I would put it in its own package, called Cache. I anticipate heated
>>>> discussion around yet another package with a single class.
>>>>
>>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>>
>>> Yea, that's why Seaside implements its own…
>>>
>>> </sarcasm> <!-- sorry -->
>>
>> Meh. The fundamental problem I'm trying to address is to tease these
>> packages apart. If I make deliberate mistakes, and put LRUCache in
>> Balloon only because that's the most basic user and doesn't add any
>> additional dependencies, _that is a win_. It's one slightly less
>> horrible dependency.
>>
>> If someone else takes umbrage at such a ridiculous idea, and makes a
>> new package, or puts it in Collections, _and doesn't add a new
>> ridiculous dependency_, then that's even better.
>>
>> No, LRUCache doesn't belong in Balloons. It may well be generally
>> useful. But moving it there fixes a real problem. What I don't want is
>> to be paralysed with discussions like "but this is not theoretically
>> perfect!".
>>
>> frank
>>
>>> Best
>>>        -Tobias
>>>
>>>
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
In reply to this post by Chris Muller-3
On 22 Nov 2013, at 16:58, Chris Muller <[hidden email]> wrote:

>> Yes, you are right there.
>> I would think, spinning of a new, small package would be a good compromise?
>
> For THREE METHODS?  My God, PLEASE, no!

Bingo! :) But seriously, why do you even care about the number of packages in the image?

frank

> On Fri, Nov 22, 2013 at 10:33 AM, Tobias Pape <[hidden email]> wrote:
>> On 22.11.2013, at 11:58, Frank Shearar <[hidden email]> wrote:
>>
>>> On 22 November 2013 10:09, Tobias Pape <[hidden email]> wrote:
>>>> On 22.11.2013, at 11:04, Frank Shearar <[hidden email]> wrote:
>>>>
>>>>> On 22 November 2013 01:03, David T. Lewis <[hidden email]> wrote:
>>>>>> On Fri, Nov 22, 2013 at 01:31:37AM +0100, Levente Uzonyi wrote:
>>>>>>> On Thu, 21 Nov 2013, Chris Muller wrote:
>>>>>>>
>>>>>>>
>>>>>>> It's generic, but the implementation is not generally useful.
>>>>>>>
>>>>>>
>>>>>> I don't see how the concept of a LRU cache is in any way related to Balloon.
>>>>>> It seems to me that if it is useful enough to be included in the system at
>>>>>> all, then it should live in a package category that reflects the actual meaning
>>>>>> of the class.
>>>>>>
>>>>>> Suppose for the sake of argument that Balloon was being maintained as an
>>>>>> external package outside of the trunk image. Suppose also that an LRU cache
>>>>>> was something worth having in the trunk. What package would you put it in?
>>>>>
>>>>> I would put it in its own package, called Cache. I anticipate heated
>>>>> discussion around yet another package with a single class.
>>>>>
>>>>> But really, LRUCache is _not_ generic, because _noone uses it_.
>>>>
>>>> Yea, that's why Seaside implements its own…
>>>>
>>>> </sarcasm> <!-- sorry -->
>>>
>>> Meh. The fundamental problem I'm trying to address is to tease these
>>> packages apart. If I make deliberate mistakes, and put LRUCache in
>>> Balloon only because that's the most basic user and doesn't add any
>>> additional dependencies, _that is a win_. It's one slightly less
>>> horrible dependency.
>>>
>>> If someone else takes umbrage at such a ridiculous idea, and makes a
>>> new package, or puts it in Collections, _and doesn't add a new
>>> ridiculous dependency_, then that's even better.
>>>
>>> No, LRUCache doesn't belong in Balloons. It may well be generally
>>> useful. But moving it there fixes a real problem. What I don't want is
>>> to be paralysed with discussions like "but this is not theoretically
>>> perfect!".
>>
>> Yes, you are right there.
>> I would think, spinning of a new, small package would be a good compromise?
>>
>> Best
>>        -Tobias
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

David T. Lewis
> On 22 Nov 2013, at 16:58, Chris Muller <[hidden email]> wrote:
>
>>> Yes, you are right there.
>>> I would think, spinning of a new, small package would be a good
>>> compromise?
>>
>> For THREE METHODS?  My God, PLEASE, no!
>
> Bingo! :) But seriously, why do you even care about the number of
packages in the image?
>

Because package categories exist for the benefit of human beings who want
to be able to read and understand the system.

Dave



Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
On 22 November 2013 18:34, David T. Lewis <[hidden email]> wrote:

>> On 22 Nov 2013, at 16:58, Chris Muller <[hidden email]> wrote:
>>
>>>> Yes, you are right there.
>>>> I would think, spinning of a new, small package would be a good
>>>> compromise?
>>>
>>> For THREE METHODS?  My God, PLEASE, no!
>>
>> Bingo! :) But seriously, why do you even care about the number of
> packages in the image?
>>
>
> Because package categories exist for the benefit of human beings who want
> to be able to read and understand the system.

Yes. And those names won't change, so..... ? You'd have as many
packages as you do system categories, if you broken every package up
right now into its hierarchically named parts.

But also if it ever arises that we really need a decent library of
various kinds of caches - Clojure has a _very_ nice way of expressing
various kinds of caches by composing different properties - we'll have
the perfect package for it. In that far distint time no-one will even
remember the day that Cache had a single, lonely class.

I would rather we put LRUCache into a _less bad_ package - Balloon -
than a _bad_ package like System. Because needing System couples you
to the Collections, Compiler, Compression, Environments, Files,
Graphics, Installer-Core, Kernel, Monticello,
MonticelloConfigurations, Morphic, MorphicExtras, Multilingual,
Network, PackageInfo-Base, Sound, ToolBuilder-Kernel, Tools, TrueType
packages, which in turn couples you to who knows what else.

> Dave
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
On 22 November 2013 18:41, Frank Shearar <[hidden email]> wrote:

> On 22 November 2013 18:34, David T. Lewis <[hidden email]> wrote:
>>> On 22 Nov 2013, at 16:58, Chris Muller <[hidden email]> wrote:
>>>
>>>>> Yes, you are right there.
>>>>> I would think, spinning of a new, small package would be a good
>>>>> compromise?
>>>>
>>>> For THREE METHODS?  My God, PLEASE, no!
>>>
>>> Bingo! :) But seriously, why do you even care about the number of
>> packages in the image?
>>>
>>
>> Because package categories exist for the benefit of human beings who want
>> to be able to read and understand the system.
>
> Yes. And those names won't change, so..... ? You'd have as many
> packages as you do system categories, if you broken every package up
> right now into its hierarchically named parts.
>
> But also if it ever arises that we really need a decent library of
> various kinds of caches - Clojure has a _very_ nice way of expressing
> various kinds of caches by composing different properties - we'll have
> the perfect package for it. In that far distint time no-one will even
> remember the day that Cache had a single, lonely class.
>
> I would rather we put LRUCache into a _less bad_ package - Balloon -
> than a _bad_ package like System.

To be clear: System isn't a bad package. It's a bad place for
LRUCache, because it has nothing to do with even the vague
multifarious purpose of System.

frank

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

timrowledge
In reply to this post by David T. Lewis

On 22-11-2013, at 10:34 AM, David T. Lewis <[hidden email]> wrote:
>>
>> Bingo! :) But seriously, why do you even care about the number of
> packages in the image?
>>
>
> Because package categories exist for the benefit of human beings who want
> to be able to read and understand the system.

Something needs to be human readable but I’m not sure it is the part that lists what is in the package. What would be wrong with human-packages having nothing but a list of dependencies on other tiny packages as small as as single method? That’s sorta-kind what Spoon does, for example.

Why not a huge Magma db with all the methods (etc) dumped in and packages that consist of the web of methods (etc) needed? Some packages would point to others as well. The ‘typical system’ package would point to all the usual suspects and result in a… typical image.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
A "politically savvy challenge to evolution" is as self-evidently ridiculous as an agriculturally savvy challenge to euclidean geometry



Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Frank Shearar-3
In reply to this post by Frank Shearar-3
On 22 November 2013 18:41, Frank Shearar <[hidden email]> wrote:

> On 22 November 2013 18:34, David T. Lewis <[hidden email]> wrote:
>>> On 22 Nov 2013, at 16:58, Chris Muller <[hidden email]> wrote:
>>>
>>>>> Yes, you are right there.
>>>>> I would think, spinning of a new, small package would be a good
>>>>> compromise?
>>>>
>>>> For THREE METHODS?  My God, PLEASE, no!
>>>
>>> Bingo! :) But seriously, why do you even care about the number of
>> packages in the image?
>>>
>>
>> Because package categories exist for the benefit of human beings who want
>> to be able to read and understand the system.
>
> Yes. And those names won't change, so..... ? You'd have as many
> packages as you do system categories, if you broken every package up
> right now into its hierarchically named parts.
>
> But also if it ever arises that we really need a decent library of
> various kinds of caches - Clojure has a _very_ nice way of expressing
> various kinds of caches by composing different properties - we'll have
> the perfect package for it. In that far distint time no-one will even
> remember the day that Cache had a single, lonely class.

https://github.com/clojure/core.cache

Replicate that, put it in a package called Cache, kill LRUCache, and we're done.

frank

Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-4
In reply to this post by Frank Shearar-3

> You said there are already two places where it's used, right?  If
> there's even just ONE MORE place that pops up, we'll find that clearly
> Balloon (WTH?) is the wrong place for it.
>
>   http://www.codinghorror.com/blog/2013/07/rule-of-three.html
>
> I think you should stay consistent in your statements about
> "modularity."  It wraps a Dictionary, it supplies #at: for access.
> You said if it walks and quacks like a collection, it goes in
> Collections.

No, I said that was a rubbish reason for grouping things together :)

What then?  A separate package for every kind of Collection?
 


Reply | Threaded
Open this post in threaded view
|

Re: LRUCache to Balloon?

Chris Muller-3
In reply to this post by David T. Lewis
>> Bingo! :) But seriously, why do you even care about the number of
> packages in the image?
>>
>
> Because package categories exist for the benefit of human beings who want
> to be able to read and understand the system.

Yes, exactly.

A system composed of more than about 25 packages no longer offers any
coherence in terms of looking at its list of packages.  Instead of
groking a single-system made up of 25 "parts," you have voluminous
morass of packages that clouds the nature and intent of the system as
a whole.

It's exactly the same reason we care about the other metrics:  LOC per
method, methods per class, classes per package.  It's the same for
packages system.  (and packages per category, but we're not talking
about categories).  Too much at any level is undesirable (acknowleging
a few necessary exceptions, of course).

12