New Collections for Pharo

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

New Collections for Pharo

Pharo Smalltalk Developers mailing list
Greetings to everyone. As you remember, i was working at some new collections for Pharo Smalltalk. Today i want to share some results with the community. There are three collections currently implemented:
  1. MultiValueDictionary - a dictionary which holda a pairs of "Key -> (Val1. Val2 ..)"
  2. CircularLinkedList - a linked list which have additional pointer from its tail to head
  3. Btree (do not forget to set the degree by sending the "degree:" message before start working. Also removing keys doesn't work correctly in some cases)
Comments, suggestions and critics are very appreciatied, because you are my target audience.
Collections are availiable for download on my project page: SmalltalkHub
  (NewCollections,NewCollectionsTest and NewCollectionsSupport packages you need)

Best wishes
Alexander
 
Reply | Threaded
Open this post in threaded view
|

Re: New Collections for Pharo

Sergio Fedi
Nice work!

I frequently needed the MultiValueDictionary and had it implemented several times in the past.

Reply | Threaded
Open this post in threaded view
|

Re: New Collections for Pharo

hernanmd
In reply to this post by Pharo Smalltalk Developers mailing list
Hello Alexander,

For the MultiValueDictionary IMHO you can need to use other Collections beside OrderedCollection, so you can replace #asOrderedCollection with #asSortedCollection, etc adding an inst. var. storing the converting selector could result in a more flexible Collection.

I know at least 2 other BTree Smalltalk implementations out there, one fron Avi Bryant and another one here http://www.virtualmachinery.com/btreestqstart.htm . Have you reviewed them?

On the other hand, do you have some examples or empirical benchmarks to share?

Cheers,

Hernán


2015-05-20 2:12 GMT-03:00 Александр Бренчев <[hidden email]>:


---------- Mensaje reenviado ----------
From: "Александр Бренчев" <[hidden email]>
To: Pharo Development List <[hidden email]>
Cc: 
Date: Wed, 20 May 2015 05:12:29 +0000 (UTC)
Subject: New Collections for Pharo
Greetings to everyone. As you remember, i was working at some new collections for Pharo Smalltalk. Today i want to share some results with the community. There are three collections currently implemented:
  1. MultiValueDictionary - a dictionary which holda a pairs of "Key -> (Val1. Val2 ..)"
  2. CircularLinkedList - a linked list which have additional pointer from its tail to head
  3. Btree (do not forget to set the degree by sending the "degree:" message before start working. Also removing keys doesn't work correctly in some cases)
Comments, suggestions and critics are very appreciatied, because you are my target audience.
Collections are availiable for download on my project page: SmalltalkHub
 
 
 
 
 
 
SmalltalkHub
Loading. Please wait.
Предварительный просмотр с помощью Yahoo
 
  (NewCollections,NewCollectionsTest and NewCollectionsSupport packages you need)

Best wishes
Alexander
 


Reply | Threaded
Open this post in threaded view
|

Re: New Collections for Pharo

Sergio Fedi
I agree with Hernan. In the MultiValueDictionary sometimes it's necessary to parametrize the collection the value has.


On Wed, May 20, 2015 at 8:30 PM, Hernán Morales Durand <[hidden email]> wrote:
Hello Alexander,

For the MultiValueDictionary IMHO you can need to use other Collections beside OrderedCollection, so you can replace #asOrderedCollection with #asSortedCollection, etc adding an inst. var. storing the converting selector could result in a more flexible Collection.

I know at least 2 other BTree Smalltalk implementations out there, one fron Avi Bryant and another one here http://www.virtualmachinery.com/btreestqstart.htm . Have you reviewed them?

On the other hand, do you have some examples or empirical benchmarks to share?

Cheers,

Hernán


2015-05-20 2:12 GMT-03:00 Александр Бренчев <[hidden email]>:


---------- Mensaje reenviado ----------
From: "Александр Бренчев" <[hidden email]>
To: Pharo Development List <[hidden email]>
Cc: 
Date: Wed, 20 May 2015 05:12:29 +0000 (UTC)
Subject: New Collections for Pharo
Greetings to everyone. As you remember, i was working at some new collections for Pharo Smalltalk. Today i want to share some results with the community. There are three collections currently implemented:
  1. MultiValueDictionary - a dictionary which holda a pairs of "Key -> (Val1. Val2 ..)"
  2. CircularLinkedList - a linked list which have additional pointer from its tail to head
  3. Btree (do not forget to set the degree by sending the "degree:" message before start working. Also removing keys doesn't work correctly in some cases)
Comments, suggestions and critics are very appreciatied, because you are my target audience.
Collections are availiable for download on my project page: SmalltalkHub
 
 
 
 
 
 
SmalltalkHub
Loading. Please wait.
Предварительный просмотр с помощью Yahoo
 
  (NewCollections,NewCollectionsTest and NewCollectionsSupport packages you need)

Best wishes
Alexander
 



Reply | Threaded
Open this post in threaded view
|

Re: New Collections for Pharo

stepharo
In reply to this post by Pharo Smalltalk Developers mailing list
Hi

did you write tests?
did your implementation propose APIs that are compatible with the
Collection API?

Stef


Reply | Threaded
Open this post in threaded view
|

Re: New Collections for Pharo

stepharo
In reply to this post by Pharo Smalltalk Developers mailing list
Hi

did you write tests?
did your implementation propose APIs that are compatible with the
Collection API?

Stef