Yes, this was somehting Nico Schwartz and I did during the sprint.

He had the idea that it would be nice to be able to add any object to a 
LinkedList, instead of just Link subclasses. (IIRC, 'like you can in Ruby' ;))

So we added ValueLink as the common pattern for "A link with an object in it", 
which is now the default if you add an object which itself is not a link. 

Makes it much more convenient to actually use a LinkedList, ref. f.ex. the 
Stack implementation.

Sort of similar to what was done in Squeak to add nils to sets, actually.

Cheers,
Henry

 
On May 6, 2010, at 9:25 52AM, Stéphane Ducasse wrote:

> LinkedList>>add: aLinkOrObject
>       "Add aLink to the end of the receiver's list. Answer aLink."
> 
>       ^self addLast: aLinkOrObject
> 
> LinkedList>>addLast: aLinkOrObject
>       "Add aLink to the end of the receiver's list. Answer aLink."
>       |aLink|
>       aLink := aLinkOrObject asLink.
>       self isEmpty
>               ifTrue: [firstLink := aLink]
>               ifFalse: [lastLink nextLink: aLink].
>       lastLink := aLink.
>       ^aLink
> 
> Object>>asLink
>       "Answer a string that represents the receiver."
> 
>       ^ ValueLink value: self
> 
> 
> In squeak there is no such asLink....
> We need a database with all the history to know which change introduced this 
> change.
> Henrik do you remember why you introduce this change?
> 
> Stef
> 
> 
> 
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to