[squeak-dev] OrderedSet

marcel.taeumel Marcel.Taeumel at hpi.de
Tue Dec 4 08:14:57 UTC 2018


Hi, there. :-)

Levente, could we please have that OrderedSet as subclass of Set in the
Trunk? Pretty please? :-D

Best,
Marcel


Levente Uzonyi wrote
> Hi Bernhard,
> 
> On Thu, 29 Nov 2018, Bernhard Pieber wrote:
> 
>> Hi Levente,
>>
>> I like that idea! Performance is a non-issue for my use case. I don't
>> even have the need to remove elements. 
>>
>> Are there any objections to include OrderedSet as a trivial subclass of
>> OrderedDictionary to Squeak?
> 
> I'm not sure if it belongs to the Trunk. It's pretty much a niche 
> collection, though I was thinking the same about OrderedDictionary.
> If I were to add it to the Trunk, I would implement it as a subclass of 
> Set instead of OrderedDictionary, because OrderedSet doesn't need the 
> methods provided by OrderedDictionary.
> 
>>
>> I have looked at the list implementation used in LRUCache. I love the
>> terseness of the code. I wonder why it is not called
>> CircularDoublyLinkedList to make it easier to find for other uses.
> 
> Because I added it to improve LRUCache, and in practice the list nodes are 
> the best if they can be used as a mixin or a stateful trait, but Squeak 
> has neither of those.
> 
> Levente
> 
>>
>> Bernhard
>>
>>> Am 28.11.2018 um 18:48 schrieb Levente Uzonyi <

> leves at .elte

> >:
>>> 
>>> That OrderedSet is not really a set, just a thin wrapper over
>>> OrderedCollection, so performance will be surprisingly bad.
>>> Squeak has OrderedDictionary which has all the methods a Set needs:
>>> #at: anObject put: nil <=> #add: anObject
>>> #includesKey: anObject <=> #includes:anObject
>>> #keysDo: aBlock <=> #do: aBlock
>>> #removeKey: anObject <=> #remove: anObject
>>> 
>>> Note that removal will take O(size) time. If you need anything better,
>>> you have to implement your own set (e.g. a linked hash set. Squeak's
>>> LRUCache has a list implementation that can come handy).
>>> 
>>> Levente
>>> 
>>> On Tue, 27 Nov 2018, David T. Lewis wrote:
>>> 
>>>> Thanks Benoit,
>>>> 
>>>> The repository is http://www.squeaksource.com/PharoTaskForces, the
>>>> package
>>>> is OrderedSet, and the latest version is
>>>> OrderedSet-StephaneDucasse.2.mcz
>>>> 
>>>> Dave
>>>> 
>>>> On Wed, Nov 28, 2018 at 01:06:49AM +0000, Benoit St-Jean via Squeak-dev
>>>> wrote:
>>>>> Your link doesn't work either.
>>>>> Go to ProjectsType OrderedSet in the search box.Only one result will
>>>>> come up (as PharoTaskForces)!If you click on that and browse the
>>>>> versions, you'll see the OrderedSet packages!
>>>>> ----------------- Beno??t St-Jean Yahoo! Messenger: bstjean Twitter:
>>>>> @BenLeChialeux Pinterest: benoitstjean Instagram: Chef_Benito
>>>>> IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an
>>>>> intellectual horizon of radius zero".?? (A. Einstein)
>>>>>    On Tuesday, November 27, 2018, 7:58:38 p.m. EST, David T. Lewis
>>>>> <

> lewis at .msen

> > wrote:
>>>>> 
>>>>> That link does not work, but there is an OrderedDictionary project on
>>>>> at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
>>>>> On Wed, Nov 28, 2018 at 12:08:06AM +0000, Benoit St-Jean via
>>>>> Squeak-dev wrote:
>>>>> > There's that on SqueakSource.
>>>>> > http://squeaksource.com/@Ilyu71XtQNt-3Xwp/UMBrp13p
>>>>> > ----------------- > Beno??t St-Jean > Yahoo! Messenger: bstjean >
>>>>> Twitter: @BenLeChialeux > Pinterest: benoitstjean > Instagram:
>>>>> Chef_Benito
>>>>> > IRC: lamneth > Blogue: endormitoire.wordpress.com > "A standpoint is
>>>>> an intellectual horizon of radius zero".?? (A. Einstein) > >?? ?? On
>>>>> Tuesday, November 27, 2018, 5:18:51 p.m. EST, Bernhard Pieber <

> bernhard@

> > wrote:?? >?? >?? Hi Squeakers,
>>>>> > > Does anyone know of an OrderedSet implementation for Squeak
>>>>> somewhere?
>>>>> > > Bernhard
>>>





--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html


More information about the Squeak-dev mailing list