On Feb 17, 2010, at 9:15 PM, Julian Fitzell wrote: > On Wed, Feb 17, 2010 at 5:13 AM, Lukas Renggli <[email protected]> wrote: >>> #sort you mean? Not yet... we either need to add it in Pharo, fix it >>> in the one click, or add it to the Grease package. >> >> OrderedCollection>>#sort and OrderedCollection>>#sort: is already part >> of Pharo 1.1. The Seaside tests pass in Pharo 1.1. >> >> I understand and I agree with Pharo not to implement #sort and #sort: >> in SequenceableCollection, because it does not make sense for most >> subclasses. SortedCollection, Heap and Interval are already sorted; >> and for LinkedList sorting does not really make sense. > > As Paolo points out, they are not necessarily sorted by the desired > block. For SortedCollection, I agree the correct behaviour is to set > the sortBlock.
This is done already in 1.1 > VW handles subclasses (like Interval) that cannot be > sorted in place very simply: the sorter is implemented in terms of > #at: and #at:put: and classes that cannot be modified with #at:put: > just return an error saying that they can't be stored into. This also > covers, for example, Arrays that are marked as immutable. There are > many many subclasses of SequenceableCollection that do implement > #at:put: and can be sorted properly... Yes, and Niko therefore suggested to factor out the sorting method in a Trait and then import the Trait in all classes that have at: and at:put: (even LinkedList and Stack) http://code.google.com/p/pharo/issues/detail?id=1346 Marcus -- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD. _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
