Thesis - Implementing the Smalltalk Collection Hierarchy usings traits

Hernan Wilkinson hernan.wilkinson at gmail.com
Thu Sep 6 16:08:43 UTC 2007


Hi Stef!,
 the process we thought with Claudio and Nicolas to follow is this one:
 1) Take a concrete class of the Collection hierarchy, for example
OrderedCollection
 2) Create a new class (ie. XOrderedCollection) with Object as super class
 3) Take a message of the ANSI Smalltalk of the selected class
(OrderedCollection)
 4) Write a test, make it work with the selected class (OrderedCollection)
 5) Make the test written in 4) work with the class created in steep 2. (
XOrderedCollection)
 6) Repeat 3,4 and 5 until all messages of the selected class
(OrderedCollection) are implemented in the other class (XOrderedCollection)
 7) Select another concrete class from the Collection hierarchy (for example
Array) and repeat steps from 2 to 6.
 8) Repeat steep 7 until there are enough new implementations to infer
traits.
 9) Refactor the new classes into traits... and play with the model until we
feel comfortable with the result.

 To put a limit in the project, they are going to implement just the ANSI
Collection hierarchy (remember that it is a master thesis...)

 We thought that doing it this way the new implementation is not going to be
"guided" by the old one, we will just keep the concrete classes names but
not the hierarchy necessarily...

 Please, feel free to let us know what you thing about this process, if you
have other ideas, etc.

 Thanks,
 Hernan.
On 9/6/07, stephane ducasse <stephane.ducasse at free.fr> wrote:
>
> EXCELLENT. I ***really*** wnat to see that.
>
> On 6 sept. 07, at 02:46, claudio acciaresi wrote:
>
> > Hello, we (Nicolas Butarelli and Claudio Acciaresi ) are from
> > Buenos Aires ,  Argentina , we're going to implement a new (we are
> > not going to refactor the hierarchy, we are going to implement the
> > hierarchy from scratch) Smalltalk Collection ((our idea is  to be
> > complaint with the ANSI Smalltalk Collection protocol) Hierarchy
> > using Traits.
> >
> > We would like to know if someone can tell us, how to set up a Trait
> > browser, because we have been trying to use different version, but
> > none of them work fine.
> >
> > Does anyone know the exact package and squeak version, that we need
> > to use a Trait browser?
> > Any opinion on this idea will also be useful, if you have comments,
> > please tell us.
>
> It would be really nice to do it the same way damien did it: write
> test that can be run on the current implementation
> and the new one.
>
> I would love to see if we can get implementation traits and interface
> traits. For example can we have different
> dictionary sharing the same interface but using different
> implementations.
>
> Please keep me in the loop.
> Stef
>
> >
> > Thanks a lot.
> >
> > Nicolas and Claudio.
> >
> >
> >
> > ¡Sé un mejor fotógrafo!
> > Perfeccioná tu técnica y encontrá las mejores fotos.
> > Visitá http://ar.yahoo.com/promos/mejorfotografo.html
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070906/f0139724/attachment.htm


More information about the Squeak-dev mailing list