Comment #3 on issue 2841 by [email protected]: Heap equality should be transitive
http://code.google.com/p/pharo/issues/detail?id=2841

SLICE-Issue-2841-HeapEqualityShouldBeTransitive-ButHeapShouldNotBeSequenceable-nice.1
Author: nice

I merged trunk changes and also moved Heap off SequenceableCollection hierarchy. I removed plenty of Sequenceable assumptions from HeapTests, and also some assumptions about equality in IntervalTests.

I forbid usage of #at: #at:put: #removeAt:, that's not a legitimate API for a Heap.
Only #first #add: #removeFirst #remove: shall be used.

Of course, one thing remain to be done: move Heap to another package than Collections-Sequenceable.
I didn't do it for at least two reasons:
1) I down't know how to classify a Heap, it's Ordered (partially), not Unordered, and not Sequenceable. 2) Heap must not be temporarily removed because used in Delay and World alarms, so package load order will be very important.
I let the experts of smooth upgrading do it.


Reply via email to