I stumbled upon the horrible implementation of SequenceableCollection >> 
#copyReplaceAll:with:
Not only was it horribly documented (only for strings) but also horribly 
inefficient nicely following the painters algorithm :). On to replacing this 
craftwork with a stream based solution I figured out that it breaks quite a few 
tests:

Namely the #testCopyReplaceAllWith1Occurence test doesn't work with the 
following classes anymore:
- LinkedList
- Interval
- SortedCollection
- Symbol

Now I think this test does't make much sense for SortedCollection/Intervals.

SortedCollection enforces a certain order on the objects, meaning that 
replacing a slice of elements with something else yields a completely new 
intermediate collection. So unless the collection is first converted to an 
OrderedCollection I don't see much sense in supporting this method on 
SortedCollection.

For Intervals there's a similar issue. Replacing elements in an Interval 
doesn't work (yet…) so again, only an indirect OrderedCollection helps there…

On Symbol there's the problem of #streamContents which should use #species and 
an intermediate String to build up the Symbol.

cami

Reply via email to