Discussion:
OrderedSet
(too old to reply)
Bernhard Pieber
2018-11-27 22:18:37 UTC
Permalink
Hi Squeakers,

Does anyone know of an OrderedSet implemen
David T. Lewis
2018-11-28 00:58:35 UTC
Permalink
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak somewhere?
Bernhar
David T. Lewis
2018-11-28 01:46:25 UTC
Permalink
Thanks Benoit,

The repository is http://www.squeaksource.com/PharoTaskForces, the package
is OrderedSet, and the latest version is OrderedSet-StephaneDucasse.2.mcz

Dave
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
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
??
?? Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak somewhere?
Bernhard
Levente Uzonyi
2018-11-28 17:48:06 UTC
Permalink
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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the package
is OrderedSet, and the latest version is OrderedSet-StephaneDucasse.2.mcz
Dave
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
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
??
?? Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak somewhere?
Bernhard
??
karl ramberg
2018-11-28 21:03:14 UTC
Permalink
I used Stack just a few weeks ago. I didn't even know it was a class before
I needed it. :-)

Cheers,
Karl


On Wed, Nov 28, 2018 at 7:48 PM Benoit St-Jean via Squeak-dev <
Never really looked at how it was implemented for that specific
package... But then, one might ask (which is my case), do you really need
an ordered set? I never had in 26 years of smalltalking!
-----------------
Benoît St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero". (A. Einstein)
On Wednesday, November 28, 2018, 12:48:11 p.m. EST, Levente Uzonyi <
That OrderedSet is not really a set, just a thin wrapper over
OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the
package
Post by David T. Lewis
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
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!
Post by David T. Lewis
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
On Tuesday, November 27, 2018, 7:58:38 p.m. EST, David T. Lewis <
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
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
?? ?? On Tuesday, November 27, 2018, 5:18:51 p.m. EST, Bernhard Pieber
??
?? Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak somewhere?
Bernhard
??
Ron Teitelbaum
2018-11-28 21:41:06 UTC
Permalink
aBag sortedElements?

All the best,

Ron Teitelbaum
Post by karl ramberg
I used Stack just a few weeks ago. I didn't even know it was a class
before I needed it. :-)
Cheers,
Karl
On Wed, Nov 28, 2018 at 7:48 PM Benoit St-Jean via Squeak-dev <
Never really looked at how it was implemented for that specific
package... But then, one might ask (which is my case), do you really need
an ordered set? I never had in 26 years of smalltalking!
-----------------
Benoît St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero". (A. Einstein)
On Wednesday, November 28, 2018, 12:48:11 p.m. EST, Levente Uzonyi <
That OrderedSet is not really a set, just a thin wrapper over
OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the
package
Post by David T. Lewis
is OrderedSet, and the latest version is
OrderedSet-StephaneDucasse.2.mcz
Post by David T. Lewis
Dave
On Wed, Nov 28, 2018 at 01:06:49AM +0000, Benoit St-Jean via Squeak-dev
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!
Post by David T. Lewis
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
On Tuesday, November 27, 2018, 7:58:38 p.m. EST, David T. Lewis <
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
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
?? ?? On Tuesday, November 27, 2018, 5:18:51 p.m. EST, Bernhard
??
?? Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak
somewhere?
Post by David T. Lewis
Bernhard
??
Chris Cunningham
2018-11-29 01:16:29 UTC
Permalink
That depends on what is meant by 'ordered'. Whenever I wanted an Ordered
thing (usually Dictionary, never yet Set) what I really wanted was the
order in which the elements (or keys) were added.
aBag sortedElements
is more like a SortedSet.
-cbc
Post by Ron Teitelbaum
aBag sortedElements?
All the best,
Ron Teitelbaum
Post by karl ramberg
I used Stack just a few weeks ago. I didn't even know it was a class
before I needed it. :-)
Cheers,
Karl
On Wed, Nov 28, 2018 at 7:48 PM Benoit St-Jean via Squeak-dev <
Never really looked at how it was implemented for that specific
package... But then, one might ask (which is my case), do you really need
an ordered set? I never had in 26 years of smalltalking!
-----------------
Benoît St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero". (A. Einstein)
On Wednesday, November 28, 2018, 12:48:11 p.m. EST, Levente Uzonyi <
That OrderedSet is not really a set, just a thin wrapper over
OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the
package
Post by David T. Lewis
is OrderedSet, and the latest version is
OrderedSet-StephaneDucasse.2.mcz
Post by David T. Lewis
Dave
On Wed, Nov 28, 2018 at 01:06:49AM +0000, Benoit St-Jean via
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!
Post by David T. Lewis
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
On Tuesday, November 27, 2018, 7:58:38 p.m. EST, David T. Lewis <
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
There's that on SqueakSource.
-----------------
Beno??t St-Jean
Yahoo! Messenger: bstjean
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".?? (A.
Einstein)
Post by David T. Lewis
?? ?? On Tuesday, November 27, 2018, 5:18:51 p.m. EST, Bernhard
??
?? Hi Squeakers,
Does anyone know of an OrderedSet implementation for Squeak
somewhere?
Post by David T. Lewis
Bernhard
??
Bernhard Pieber
2018-11-29 19:10:12 UTC
Permalink
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 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.

Bernhard
That OrderedSet is not really a set, just a thin wrapper over OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the package
is OrderedSet, and the latest version is OrderedSet-StephaneDucasse.2.mcz
Dave
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!
IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
Does anyone know of an OrderedSet implementation for Squeak so
Levente Uzonyi
2018-12-04 00:30:44 UTC
Permalink
Hi Bernhard,
Post by Bernhard Pieber
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.
Post by Bernhard Pieber
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
Post by Bernhard Pieber
Bernhard
That OrderedSet is not really a set, just a thin wrapper over OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the package
is OrderedSet, and the latest version is OrderedSet-StephaneDucasse.2.mcz
Dave
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!
IRC: lamneth Blogue: endormitoire.wordpress.com "A standpoint is an intellectual horizon of radius zero".?? (A. Einstein)
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
Does anyone know of an OrderedSet implementation for Squeak somewhere?
marcel.taeumel
2018-12-04 08:14:57 UTC
Permalink
Hi, there. :-)

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

Best,
Marcel
Post by Levente Uzonyi
Hi Bernhard,
Post by Bernhard Pieber
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.
Post by Bernhard Pieber
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
Post by Bernhard Pieber
Bernhard
Am 28.11.2018 um 18:48 schrieb Levente Uzonyi &lt;
That OrderedSet is not really a set, just a thin wrapper over
OrderedCollection, so performance will be surprisingly bad.
#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
Post by David T. Lewis
Thanks Benoit,
The repository is http://www.squeaksource.com/PharoTaskForces, the package
is OrderedSet, and the latest version is
OrderedSet-StephaneDucasse.2.mcz
Dave
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!
@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
&lt;
That link does not work, but there is an OrderedDictionary project on
at http://www.squeaksource.com/TFOrderedDictionary.html. It that it?
There's that on SqueakSource.
----------------- > Beno??t St-Jean > Yahoo! Messenger: bstjean >
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 &lt;
&gt; wrote:?? >?? >?? Hi Squeakers,
Post by Bernhard Pieber
Post by David T. Lewis
Does anyone know of an OrderedSet implementation for Squeak
somewhere?
Bernhard
--
Sent from: http://fo

Loading...