Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2009
- 96 participants
- 2069 messages
Re: [Pharo-project] Fwd: sort: and sortBlock:
by Martin McClure
Stéphane Ducasse wrote:
>
> Not really :)
> I was more looking at the user perspective.
> You often want an orderedCollection (add:) vs Array at:
> but which deals with duplicate as a Set.
Could you clarify? What's an example? What is the index of something
that you add but was already there?
Regards,
-Martin
Dec. 23, 2009
Re: [Pharo-project] Fwd: hasEqualElements:
by csrabak@bol.com.br
Em 23/12/2009 19:17, Nicolas Cellier < nicolas.cellier.aka.nice(a)gmail.com > escreveu:
> 2009/12/23 Stéphane Ducasse :
> > Ideally what I would like is
> >
> > = isSameSequenceAs: + same receiver kind (may be overkill)
> >
> > isSameSequenceAs: otherCollection
> > "Answer whether the receiver's size is the same as
> > otherCollection's size, and each of the receiver's
> > elements equal the corresponding element of
> > otherCollection."
> >
> > hasSameElements:
> > "Answer whether the receiver's size is the same as
> > otherCollection's size, and each of the receiver's
> > elements is included in otherCollection and vice versa."
> > Stef
> >
> like #(2 2 3) hasSameElements: #(2 3 3) -> true
> but #(2 2 3) asSet hasSameElements: #(2 3 3) -> false
Can someone illustrate this less enlightened coder what common programming pattern this wonderful method would of use for?
--
Cesar Rabak
Dec. 23, 2009
Re: [Pharo-project] Fwd: sort: and sortBlock:
by Martin McClure
Nicolas Cellier wrote:
>>
>> #sorted, #sorted: -- VW already has this. VA is adding it.
>> Squeak/Pharo should add it, IMO, but we'll add it to Grease if not. It
>> returns a sorted copy of SequenceableCollections and a sorted Array of
>> all other collections.
>>
>
> Oh, that's exactly the one I would have chosen :)
> We should go for it, both Squeak and Pharo.
I fear that #sorted is too close to #sort, but with very different
semantics, and could cause confusion. I'd think twice before following
VW's lead on this one. Is this a common enough case to be warrant its
own selector, instead of "myCollection copy sort" which is much clearer
in intent? If so, perhaps #copySorted would be clearer?
Regards,
-Martin
Dec. 23, 2009
Re: [Pharo-project] LinkedList>>offList
by Stéphane Ducasse
Probably something left from 3.9.
We should remove also Project.
> In trunk, offList has been deprecated and has no senders:
> offList
> "OBSOLETE. Process>>suspend will atomically reset myList if the
> process is suspended.
> There should never be a need to send #offList but some older users
> may not be aware
> of the changed semantics to suspend and may try the old hickadidoo seen here:
>
> (suspendingList := process suspendingList) == nil
> ifTrue: [process == Processor activeProcess ifTrue: [process suspend]]
> ifFalse: [suspendingList remove: process ifAbsent:[].
> process offList].
>
> Usages like the above should be replaced by a simple 'process suspend' "
> myList := nil
>
> In Pharo too, but still has one sender.
> The problem is that suspend now return the list, not the process, so
> harvesting of Andreas changes were incomplete... You should remove
> offList and try merging a recent trunk Kernel.
>
> Nicolas
>
> 2009/12/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>> This is strange
>> I did not get the time to look at it but I got a deep recursion in MC which stressed the low space
>> and ended up in this crash
>>
>> Stef
>>
>> ------------------------------------------------------------
>>
>> THERE_BE_DRAGONS_HERE
>> MessageNotUnderstood: LinkedList>>offList
>> 23 December 2009 8:56:10 pm
>>
>> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.2b1
>> Image: PharoCore1.1ALPHA [Latest update: #11112]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /Users/ducasse/Workspace/FirstCircle/ActiveResearch/Pharo/Pharo
>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My Squeak
>>
>> LinkedList(Object)>>doesNotUnderstand: #offList
>> Receiver: a LinkedList()
>> Arguments and temporary variables:
>> aMessage: offList
>> exception: MessageNotUnderstood: LinkedList>>offList
>> resumeValue: nil
>> Receiver's instance variables:
>> firstLink: nil
>> lastLink: nil
>>
>> Project class>>interruptName:preemptedProcess:
>> Receiver: Project
>> Arguments and temporary variables:
>> labelString: 'Space is low'
>> theInterruptedProcess: a Process in ByteString(Object)>>shallowCopy
>> preemptedProcess: a Process in ByteString(Object)>>shallowCopy
>> projectProcess: a Process in ByteString(Object)>>shallowCopy
>> Receiver's instance variables:
>> superclass: Model
>> methodDict: a MethodDictionary(#changeSet->(Project>>#changeSet "a CompiledMeth...etc...
>> format: 170
>> instanceVariables: #('world' 'changeSet' 'transcript' 'parentProject' 'previous...etc...
>> organization: ('*Polymorph-Widgets' createTaskbarIfNecessary moveCollapsedWindo...etc...
>> subclasses: nil
>> name: #Project
>> classPool: a Dictionary(#AllProjects->an OrderedCollection(a Project) #CurrentP...etc...
>> sharedPools: nil
>> environment: Smalltalk
>> category: #'System-Support'
>> traitComposition: {}
>> localSelectors: nil
>>
>> SystemDictionary>>lowSpaceWatcher
>> Receiver: Smalltalk
>> Arguments and temporary variables:
>> free: nil
>> preemptedProcess: a Process in ByteString(Object)>>shallowCopy
>> Receiver's instance variables:
>> tally: 1817
>> array: an Array(nil nil nil #SystemSettingBrowser->SystemSettingBrowser #EFontB...etc...
>> cachedClassNames: nil
>>
>> [] in SystemDictionary>>installLowSpaceWatcher
>> Receiver: Smalltalk
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> tally: 1817
>> array: an Array(nil nil nil #SystemSettingBrowser->SystemSettingBrowser #EFontB...etc...
>> cachedClassNames: nil
>>
>> [] in BlockClosure>>newProcess
>> Receiver: [closure] in SystemDictionary>>installLowSpaceWatcher
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> outerContext: SystemDictionary>>installLowSpaceWatcher
>> startpc: 65
>> numArgs: 0
>>
>>
>> --- The full stack ---
>> LinkedList(Object)>>doesNotUnderstand: #offList
>> Project class>>interruptName:preemptedProcess:
>> SystemDictionary>>lowSpaceWatcher
>> [] in SystemDictionary>>installLowSpaceWatcher
>> [] in BlockClosure>>newProcess
>> ------------------------------------------------------------
>>
>> THERE_BE_DRAGONS_HERE
>> User Interrupt
>> 23 December 2009 8:56:19 pm
>>
>> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.2b1
>> Image: PharoCore1.1ALPHA [Latest update: #11112]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /Users/ducasse/Workspace/FirstCircle/ActiveResearch/Pharo/Pharo
>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My Squeak
>>
>> ByteString(Object)>>shallowCopy
>> Receiver: 'Collections-Sequenceable'
>> Arguments and temporary variables:
>> class: nil
>> newObject: nil
>> index: nil
>> Receiver's instance variables:
>> 'Collections-Sequenceable'
>> ByteString(Object)>>copy
>> Receiver: 'Collections-Sequenceable'
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> 'Collections-Sequenceable'
>> ByteString(String)>>asLowercase
>> Receiver: 'Collections-Sequenceable'
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> 'Collections-Sequenceable'
>> MCPackage>>hash
>> Receiver: a MCPackage(Collections-Sequenceable)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: 'Collections-Sequenceable'
>>
>> Dictionary>>scanFor:
>> Receiver: a Dictionary(size 103)
>> Arguments and temporary variables:
>> anObject: a MCPackage(Collections-Sequenceable)
>> element: nil
>> start: nil
>> finish: 234
>> index: nil
>> index: nil
>> indexLimiT: nil
>> Receiver's instance variables:
>> tally: 103
>> array: an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>>
>> Dictionary(Set)>>findElementOrNil:
>> Receiver: a Dictionary(size 103)
>> Arguments and temporary variables:
>> anObject: a MCPackage(Collections-Sequenceable)
>> index: nil
>> Receiver's instance variables:
>> tally: 103
>> array: an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>>
>> Dictionary>>at:ifAbsent:
>> Receiver: a Dictionary(size 103)
>> Arguments and temporary variables:
>> key: a MCPackage(Collections-Sequenceable)
>> aBlock: [closure] in MCWorkingCopy class(MCPackageManager class)>>forPackage:
>> assoc: nil
>> Receiver's instance variables:
>> tally: 103
>> array: an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>>
>> MCWorkingCopy class(MCPackageManager class)>>forPackage:
>> Receiver: MCWorkingCopy
>> Arguments and temporary variables:
>> aPackage: a MCPackage(Collections-Sequenceable)
>> Receiver's instance variables:
>> superclass: MCPackageManager
>> methodDict: a MethodDictionary(#adopt:->(MCWorkingCopy>>#adopt: "a CompiledMeth...etc...
>> format: 144
>> instanceVariables: #('versionInfo' 'ancestry' 'counter' 'repositoryGroup' 'requ...etc...
>> organization: ('*scriptloader' theCachedRepository)
>> ('accessing' ancestors ance...etc...
>> subclasses: nil
>> name: #MCWorkingCopy
>> classPool: nil
>> sharedPools: nil
>> environment: Smalltalk
>> category: #'Monticello-Versioning'
>> traitComposition: nil
>> localSelectors: nil
>> registry: a Dictionary(size 103)
>>
>> MCPackage>>workingCopy
>> Receiver: a MCPackage(Collections-Sequenceable)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: 'Collections-Sequenceable'
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(Collections-Sequenceable)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(Collections-Sequenceable)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 3
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(SLICE-SortBlock)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(SLICE-SortBlock)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 4
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(SLICE-SortBlock)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(SLICE-SortBlock)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 4
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(SLICE-SortBlock)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(SLICE-SortBlock)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 4
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(SLICE-SortBlock)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(SLICE-SortBlock)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 4
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>> ea: a MCPackage(SLICE-SortBlock)
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: a MCPackage(SLICE-SortBlock)
>> each: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection>>do:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in OrderedCollection(Collection)>>anySatisfy:
>> index: 4
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> OrderedCollection(Collection)>>anySatisfy:
>> Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
>> Arguments and temporary variables:
>> aBlock: [closure] in MCWorkingCopy>>needsSaving
>> Receiver's instance variables:
>> array: an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
>> firstIndex: 3
>> lastIndex: 4
>>
>> MCWorkingCopy>>needsSaving
>> Receiver: a MCWorkingCopy(SLICE-SortBlock)
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> package: a MCPackage(SLICE-SortBlock)
>> modified: false
>> versionInfo: nil
>> ancestry: a MCWorkingAncestry
>> counter: 2
>> repositoryGroup: a MCRepositoryGroup
>> requiredPackages: an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>>
>>
>> --- The full stack ---
>> ByteString(Object)>>shallowCopy
>> ByteString(Object)>>copy
>> ByteString(String)>>asLowercase
>> MCPackage>>hash
>> Dictionary>>scanFor:
>> Dictionary(Set)>>findElementOrNil:
>> Dictionary>>at:ifAbsent:
>> MCWorkingCopy class(MCPackageManager class)>>forPackage:
>> MCPackage>>workingCopy
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> - - - - - - - - - - - - - - -
>> - - - - - - - - - - - - - - - - - -
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> OrderedCollection>>do:
>> OrderedCollection(Collection)>>anySatisfy:
>> MCWorkingCopy>>needsSaving
>> [] in MCWorkingCopy>>needsSaving
>> [] in OrderedCollection(Collection)>>anySatisfy:
>> -- and more not shown --------------------------------------------------------------
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Dec. 23, 2009
Re: [Pharo-project] Fwd: hasEqualElements:
by Stéphane Ducasse
> 2009/12/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>> Ideally what I would like is
>>
>> =
>> isSameSequenceAs: + same receiver kind (may be overkill)
>>
>> isSameSequenceAs: otherCollection
>> "Answer whether the receiver's size is the same as otherCollection's size, and each
>> of the receiver's elements equal the corresponding element of otherCollection."
>>
>> hasSameElements:
>> "Answer whether the receiver's size is the same as otherCollection's size, and each
>> of the receiver's elements is included in otherCollection and vice versa."
>>
>> Stef
>>
>
> like #(2 2 3) hasSameElements: #(2 3 3) -> true
> but #(2 2 3) asSet hasSameElements: #(2 3 3) -> false
no
as
>> hasSameElements:
>> "Answer wether each of the receiver's elements is included in otherCollection and vice versa."
Sorry another victim of copy and paste.
Stef
>
> ?
>
>>
>>
>>
>> On Dec 23, 2009, at 7:58 PM, Eliot Miranda wrote:
>>
>>>
>>>
>>> On Wed, Dec 23, 2009 at 10:41 AM, <csrabak(a)bol.com.br> wrote:
>>> Em 23/12/2009 16:10, Eliot Miranda < eliot.miranda(a)gmail.com > escreveu:
>>>
>>>>
>>>> Core.SequenceableCollection comparing
>>>> isSameSequenceAs: otherCollection
>>>>
>>>> "Answer whether the receiver's size is the same as otherCollection's
>>>> size, and each of the receiver's elements equal the corresponding
>>>> element of otherCollection."
>>>>
>>>> | size |
>>>> (size := self size) = otherCollection size ifFalse: [^false].
>>>> 1 to: size do: [:index |
>>>> (self at: index) = (otherCollection at: index) ifFalse: [^false]].
>>>> ^true
>>>>
>>>> i.e. trust the caller is providing a sequence and if
>>>> otherCollection doesn't implement at: there will be a run-time
>>>> error, hence any otherCollection isKindOf: SequenceableCollection is
>>>> just wasted cycles.
>>>>
>>>
>>> I don't think that "trusting the caller" makes sense in this case, so
>>> I propose instead that you implementation be complemented by:
>>>
>>> Object>>isSameSequenceAs: otherCollection
>>> ^false
>>>
>>> We're talking about the argument otherCollection not the receiver. i.e. leaving out isKindOf: in
>>> isSameSequenceAs: otherCollection
>>> "Answer whether the receiver's size is the same as otherCollection's size, and each
>>> of the receiver's elements equal the corresponding element of otherCollection."
>>>
>>> | size |
>>> (otherCollection isKindOf: SequenceableCollection) ifFalse: [^false]. "this is a horrible wart"
>>> (size := self size) = otherCollection size ifFalse: [^false].
>>> 1 to: size do: [:index |
>>> (self at: index) = (otherCollection at: index) ifFalse: [^false]].
>>> ^true
>>>
>>> You could use double dispatching:
>>>
>>> SequenceableCollection>>isSameSequenceAs: otherThing
>>> ^otherThing isSameSequenceAsSequence: self
>>>
>>> SequenceableCollection>> isSameSequenceAsSequence: aSequenceableCollection
>>> aSequenceableCollection size ~= self size ifTrue: [^false].
>>> etc
>>>
>>> Object isSameSequenceAsSequence: aSequenceableCollection
>>> ^false
>>>
>>> but I think in this case it's overkill.
>>>
>>>
>>> --
>>> Cesar Rabak
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Dec. 23, 2009
Re: [Pharo-project] Issue 1644: BrowserEnvironment(Object)>>doesNotUnderstand: #forPackage:
by Mariano Martinez Peck
Stan: maybe you can also reply in the bugtracker. Not all the people read
the mailing lists, but, if you answered or opened a ticket, you are
notified. So, if you past this, an email will be sent to david ( the one who
commit the fix )and he probably can look at it.
Cheers,
Mariano
On Wed, Dec 23, 2009 at 3:22 PM, Stan Shepherd
<stan.shepherd414(a)gmail.com>wrote:
>
>
> Stan Shepherd wrote:
> >
> > VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update:
> > #10074]
> > Image: PharoCore1.0rc1 [Latest update: #10500]
> >
> actually:
> pharo1.0-10500-rc1web09.12.1
>
>
> > Class browser used (if applicable):O2PackageBrowserAdaptor
> >
> > Steps to reproduce:
> > 1.Open O2PackageBrowserAdaptor
> > 2.Right click (Linux) on a class
> > 3.Refactoring scope, package
> >
> >
> > BrowserEnvironment(Object)>>doesNotUnderstand: #forPackage:
> > Receiver: Smalltalk
> > Arguments and temporary variables:
> > aMessage: forPackage: a PackageInfo(Morphic)
> > exception: MessageNotUnderstood:
> BrowserEnvironment>>forPackage:
> > resumeValue: nil
> > Receiver's instance variables:
> > label: nil
> > searchStrings: nil
> >
> > OR2CmdPackageEnvironment>>environment
> > Receiver: an OR2CmdPackageEnvironment
> > Arguments and temporary variables:
> > package: a PackageInfo(Morphic)
> > Receiver's instance variables:
> > target: O2ClassNode<Morph>
> > requestor: an O2EnhancementColumn(Morph)
> >
> > ...
> >
>
>
> DavidRoethlisberger wrote:
> >
> > I fixed this in latest O2-Refactory-DavidRoethlisberger.8 at
> > http://www.squeaksource.com/EnhancedOB
> >
>
> Hi, this did fix that bug. Now it opens a OR2PackageBrowser that:
> OBClassNode(Object)>>doesNotUnderstand: #dynamicProtocols
> (left click on a class)
> OBClassCategoryNode(Object)>>doesNotUnderstand: #isPackage
> (right click package)
>
> Is this:
>
> Simon Denier wrote:
> >
> > However, the primary annoyance right now is the dichotomy between the OB
> > new framework and the O2 derived for David's work. The problem is that
> > now, whenever the tools changed in OB (especially refactoring support),
> O2
> > can not follow and it breaks the tools in the package browser.
> > ?
> >
> i.e. is it sensible to report each bug in this area?
>
> ...Stan
>
> --
> View this message in context:
> http://n2.nabble.com/Issue-1644-BrowserEnvironment-Object-doesNotUnderstand…
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Dec. 23, 2009
Re: [Pharo-project] Fwd: sort: and sortBlock:
by Martin McClure
Levente Uzonyi wrote:
>
>
> So the only use-case where SortedCollection is useful (IMO) is when you
> - have to keep the collection sorted and
> - you rarely some elements to it
>
> Getting rid of other uses is hard because #asSortedCollection always
> returns a copy, while most #as* selectors don't.
I was slightly confused by this, but now think I see what you're saying.
Most #as* selectors return an instance of a different class, but answer
self if the receiver is already of that class. But collections always
answer a copy, even if it is already of that class.
Wondering why this was designed this way...
Perhaps it's the expected mutability of collections? When you send
#asInteger, you don't care if you get the receiver back, because it's
not mutable. But with a collection you almost always mutate it. In the
case of #asString, Strings are mutable, but are not *commonly* mutated.
Regards,
-Martin
Dec. 23, 2009
Re: [Pharo-project] LinkedList>>offList
by Nicolas Cellier
In trunk, offList has been deprecated and has no senders:
offList
"OBSOLETE. Process>>suspend will atomically reset myList if the
process is suspended.
There should never be a need to send #offList but some older users
may not be aware
of the changed semantics to suspend and may try the old hickadidoo seen here:
(suspendingList := process suspendingList) == nil
ifTrue: [process == Processor activeProcess ifTrue: [process suspend]]
ifFalse: [suspendingList remove: process ifAbsent:[].
process offList].
Usages like the above should be replaced by a simple 'process suspend' "
myList := nil
In Pharo too, but still has one sender.
The problem is that suspend now return the list, not the process, so
harvesting of Andreas changes were incomplete... You should remove
offList and try merging a recent trunk Kernel.
Nicolas
2009/12/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
> This is strange
> I did not get the time to look at it but I got a deep recursion in MC which stressed the low space
> and ended up in this crash
>
> Stef
>
> ------------------------------------------------------------
>
> THERE_BE_DRAGONS_HERE
> MessageNotUnderstood: LinkedList>>offList
> 23 December 2009 8:56:10 pm
>
> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.2b1
> Image: PharoCore1.1ALPHA [Latest update: #11112]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/ducasse/Workspace/FirstCircle/ActiveResearch/Pharo/Pharo
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My Squeak
>
> LinkedList(Object)>>doesNotUnderstand: #offList
> Â Â Â Â Receiver: a LinkedList()
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aMessage: Â Â Â offList
> Â Â Â Â Â Â Â Â exception: Â Â Â MessageNotUnderstood: LinkedList>>offList
> Â Â Â Â Â Â Â Â resumeValue: Â Â nil
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â firstLink: Â Â Â nil
> Â Â Â Â Â Â Â Â lastLink: Â Â Â nil
>
> Project class>>interruptName:preemptedProcess:
> Â Â Â Â Receiver: Project
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â labelString: Â Â 'Space is low'
> Â Â Â Â Â Â Â Â theInterruptedProcess: Â a Process in ByteString(Object)>>shallowCopy
> Â Â Â Â Â Â Â Â preemptedProcess: Â Â Â a Process in ByteString(Object)>>shallowCopy
> Â Â Â Â Â Â Â Â projectProcess: Â Â Â Â a Process in ByteString(Object)>>shallowCopy
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â superclass: Â Â Model
> Â Â Â Â Â Â Â Â methodDict: Â Â a MethodDictionary(#changeSet->(Project>>#changeSet "a CompiledMeth...etc...
> Â Â Â Â Â Â Â Â format: Â Â Â Â 170
> Â Â Â Â Â Â Â Â instanceVariables: Â Â Â #('world' 'changeSet' 'transcript' 'parentProject' 'previous...etc...
> Â Â Â Â Â Â Â Â organization: Â ('*Polymorph-Widgets' createTaskbarIfNecessary moveCollapsedWindo...etc...
> Â Â Â Â Â Â Â Â subclasses: Â Â nil
> Â Â Â Â Â Â Â Â name: Â #Project
> Â Â Â Â Â Â Â Â classPool: Â Â Â a Dictionary(#AllProjects->an OrderedCollection(a Project) #CurrentP...etc...
> Â Â Â Â Â Â Â Â sharedPools: Â Â nil
> Â Â Â Â Â Â Â Â environment: Â Â Smalltalk
> Â Â Â Â Â Â Â Â category: Â Â Â #'System-Support'
> Â Â Â Â Â Â Â Â traitComposition: Â Â Â {}
> Â Â Â Â Â Â Â Â localSelectors: Â Â Â Â nil
>
> SystemDictionary>>lowSpaceWatcher
> Â Â Â Â Receiver: Smalltalk
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â free: Â nil
> Â Â Â Â Â Â Â Â preemptedProcess: Â Â Â a Process in ByteString(Object)>>shallowCopy
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â tally: Â 1817
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil nil #SystemSettingBrowser->SystemSettingBrowser #EFontB...etc...
> Â Â Â Â Â Â Â Â cachedClassNames: Â Â Â nil
>
> [] in SystemDictionary>>installLowSpaceWatcher
> Â Â Â Â Receiver: Smalltalk
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â tally: Â 1817
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil nil #SystemSettingBrowser->SystemSettingBrowser #EFontB...etc...
> Â Â Â Â Â Â Â Â cachedClassNames: Â Â Â nil
>
> [] in BlockClosure>>newProcess
> Â Â Â Â Receiver: [closure] in SystemDictionary>>installLowSpaceWatcher
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â outerContext: Â SystemDictionary>>installLowSpaceWatcher
> Â Â Â Â Â Â Â Â startpc: Â Â Â Â 65
> Â Â Â Â Â Â Â Â numArgs: Â Â Â Â 0
>
>
> --- The full stack ---
> LinkedList(Object)>>doesNotUnderstand: #offList
> Project class>>interruptName:preemptedProcess:
> SystemDictionary>>lowSpaceWatcher
> [] in SystemDictionary>>installLowSpaceWatcher
> [] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
> THERE_BE_DRAGONS_HERE
> User Interrupt
> 23 December 2009 8:56:19 pm
>
> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.2b1
> Image: PharoCore1.1ALPHA [Latest update: #11112]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/ducasse/Workspace/FirstCircle/ActiveResearch/Pharo/Pharo
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My Squeak
>
> ByteString(Object)>>shallowCopy
> Â Â Â Â Receiver: 'Collections-Sequenceable'
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â class: Â nil
> Â Â Â Â Â Â Â Â newObject: Â Â Â nil
> Â Â Â Â Â Â Â Â index: Â nil
> Â Â Â Â Receiver's instance variables:
> 'Collections-Sequenceable'
> ByteString(Object)>>copy
> Â Â Â Â Receiver: 'Collections-Sequenceable'
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> 'Collections-Sequenceable'
> ByteString(String)>>asLowercase
> Â Â Â Â Receiver: 'Collections-Sequenceable'
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> 'Collections-Sequenceable'
> MCPackage>>hash
> Â Â Â Â Receiver: a MCPackage(Collections-Sequenceable)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â name: Â 'Collections-Sequenceable'
>
> Dictionary>>scanFor:
> Â Â Â Â Receiver: a Dictionary(size 103)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â anObject: Â Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Â Â Â Â element: Â Â Â Â nil
> Â Â Â Â Â Â Â Â start: Â nil
> Â Â Â Â Â Â Â Â finish: Â Â Â Â 234
> Â Â Â Â Â Â Â Â index: Â nil
> Â Â Â Â Â Â Â Â index: Â nil
> Â Â Â Â Â Â Â Â indexLimiT: Â Â nil
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â tally: Â 103
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>
> Dictionary(Set)>>findElementOrNil:
> Â Â Â Â Receiver: a Dictionary(size 103)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â anObject: Â Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Â Â Â Â index: Â nil
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â tally: Â 103
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>
> Dictionary>>at:ifAbsent:
> Â Â Â Â Receiver: a Dictionary(size 103)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â key: Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy class(MCPackageManager class)>>forPackage:
> Â Â Â Â Â Â Â Â assoc: Â nil
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â tally: Â 103
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil nil nil a MCPackage(Tests)->a MCWorkingCopy(Tests) nil ...etc...
>
> MCWorkingCopy class(MCPackageManager class)>>forPackage:
> Â Â Â Â Receiver: MCWorkingCopy
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aPackage: Â Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â superclass: Â Â MCPackageManager
> Â Â Â Â Â Â Â Â methodDict: Â Â a MethodDictionary(#adopt:->(MCWorkingCopy>>#adopt: "a CompiledMeth...etc...
> Â Â Â Â Â Â Â Â format: Â Â Â Â 144
> Â Â Â Â Â Â Â Â instanceVariables: Â Â Â #('versionInfo' 'ancestry' 'counter' 'repositoryGroup' 'requ...etc...
> Â Â Â Â Â Â Â Â organization: Â ('*scriptloader' theCachedRepository)
> ('accessing' ancestors ance...etc...
> Â Â Â Â Â Â Â Â subclasses: Â Â nil
> Â Â Â Â Â Â Â Â name: Â #MCWorkingCopy
> Â Â Â Â Â Â Â Â classPool: Â Â Â nil
> Â Â Â Â Â Â Â Â sharedPools: Â Â nil
> Â Â Â Â Â Â Â Â environment: Â Â Smalltalk
> Â Â Â Â Â Â Â Â category: Â Â Â #'Monticello-Versioning'
> Â Â Â Â Â Â Â Â traitComposition: Â Â Â nil
> Â Â Â Â Â Â Â Â localSelectors: Â Â Â Â nil
> Â Â Â Â Â Â Â Â registry: Â Â Â a Dictionary(size 103)
>
> MCPackage>>workingCopy
> Â Â Â Â Receiver: a MCPackage(Collections-Sequenceable)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â name: Â 'Collections-Sequenceable'
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(Collections-Sequenceable)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 3
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 4
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 4
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 4
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 4
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â ea: Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
> [] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â each: Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection>>do:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Â Â Â Â index: Â 4
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> OrderedCollection(Collection)>>anySatisfy:
> Â Â Â Â Receiver: an OrderedCollection(a MCPackage(Collections-Sequenceable) a MCPackage(SLICE-SortBlock))
> Â Â Â Â Arguments and temporary variables:
> Â Â Â Â Â Â Â Â aBlock: Â Â Â Â [closure] in MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â array: Â an Array(nil nil a MCPackage(Collections-Sequenceable) a MCPackage(SLICE...etc...
> Â Â Â Â Â Â Â Â firstIndex: Â Â 3
> Â Â Â Â Â Â Â Â lastIndex: Â Â Â 4
>
> MCWorkingCopy>>needsSaving
> Â Â Â Â Receiver: a MCWorkingCopy(SLICE-SortBlock)
> Â Â Â Â Arguments and temporary variables:
>
> Â Â Â Â Receiver's instance variables:
> Â Â Â Â Â Â Â Â package: Â Â Â Â a MCPackage(SLICE-SortBlock)
> Â Â Â Â Â Â Â Â modified: Â Â Â false
> Â Â Â Â Â Â Â Â versionInfo: Â Â nil
> Â Â Â Â Â Â Â Â ancestry: Â Â Â a MCWorkingAncestry
> Â Â Â Â Â Â Â Â counter: Â Â Â Â 2
> Â Â Â Â Â Â Â Â repositoryGroup: Â Â Â Â a MCRepositoryGroup
> Â Â Â Â Â Â Â Â requiredPackages: Â Â Â an OrderedCollection(a MCPackage(Collections-Sequenceable) a ...etc...
>
>
> --- The full stack ---
> ByteString(Object)>>shallowCopy
> ByteString(Object)>>copy
> ByteString(String)>>asLowercase
> MCPackage>>hash
> Dictionary>>scanFor:
> Dictionary(Set)>>findElementOrNil:
> Dictionary>>at:ifAbsent:
> MCWorkingCopy class(MCPackageManager class)>>forPackage:
> MCPackage>>workingCopy
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> Â - - - - - - - - - - - - - - -
> Â Â Â Â Â Â Â Â Â Â Â Â - - - - - - - - - - - - - - - - - -
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> OrderedCollection>>do:
> OrderedCollection(Collection)>>anySatisfy:
> MCWorkingCopy>>needsSaving
> [] in MCWorkingCopy>>needsSaving
> [] in OrderedCollection(Collection)>>anySatisfy:
> -- and more not shown --------------------------------------------------------------
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Dec. 23, 2009
Re: [Pharo-project] Fwd: hasEqualElements:
by Nicolas Cellier
2009/12/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
> Ideally what I would like is
>
> =
>     isSameSequenceAs: + same receiver kind          (may be overkill)
>
> isSameSequenceAs: otherCollection
> Â Â Â Â "Answer whether the receiver's size is the same as otherCollection's size, and each
> Â Â Â Â of the receiver's elements equal the corresponding element of otherCollection."
>
> hasSameElements:
> Â Â Â Â "Answer whether the receiver's size is the same as otherCollection's size, and each
> Â Â Â Â of the receiver's elements is included in otherCollection and vice versa."
>
> Stef
>
like #(2 2 3) hasSameElements: #(2 3 3) -> true
but #(2 2 3) asSet hasSameElements: #(2 3 3) -> false
?
>
>
>
> On Dec 23, 2009, at 7:58 PM, Eliot Miranda wrote:
>
>>
>>
>> On Wed, Dec 23, 2009 at 10:41 AM, <csrabak(a)bol.com.br> wrote:
>> Em 23/12/2009 16:10, Eliot Miranda < eliot.miranda(a)gmail.com > escreveu:
>>
>> >
>> > Â Core.SequenceableCollection comparing
>> > Â isSameSequenceAs: otherCollection
>> >
>> > Â "Answer whether the receiver's size is the same as otherCollection's
>> > Â size, and each of the receiver's elements equal the corresponding
>> > Â element of otherCollection."
>> >
>> > Â | size |
>> > Â (size := self size) = otherCollection size ifFalse: [^false].
>> > Â 1 to: size do: [:index |
>> > Â (self at: index) = (otherCollection at: index) ifFalse: [^false]].
>> > Â ^true
>> >
>> >  i.e.  trust  the  caller  is  providing  a  sequence  and  if
>> > otherCollection  doesn't  implement at:  there  will  be a  run-time
>> > error, hence any otherCollection isKindOf: SequenceableCollection is
>> > just wasted cycles.
>> >
>>
>> I don't think that "trusting the caller" makes sense in this case, so
>> I propose instead that you implementation be complemented by:
>>
>> Object>>isSameSequenceAs: otherCollection
>> ^false
>>
>> We're talking about the argument otherCollection not the receiver. Â i.e. leaving out isKindOf: in
>> isSameSequenceAs: otherCollection
>> Â Â Â Â Â "Answer whether the receiver's size is the same as otherCollection's size, and each
>> Â Â Â Â Â of the receiver's elements equal the corresponding element of otherCollection."
>>
>> Â Â Â Â Â | size |
>> Â Â Â Â Â (otherCollection isKindOf: SequenceableCollection) ifFalse: [^false]. "this is a horrible wart"
>> Â Â Â Â Â (size := self size) = otherCollection size ifFalse: [^false].
>> Â Â Â Â Â 1 to: size do: [:index |
>> Â Â Â Â Â Â Â Â Â (self at: index) = (otherCollection at: index) ifFalse: [^false]].
>> Â Â Â Â Â ^true
>>
>> You could use double dispatching:
>>
>> SequenceableCollection>>isSameSequenceAs: otherThing
>> Â Â ^otherThing isSameSequenceAsSequence: self
>>
>> SequenceableCollection>> isSameSequenceAsSequence: aSequenceableCollection
>> Â Â aSequenceableCollection size ~= self size ifTrue: [^false].
>> Â Â etc
>>
>> Object isSameSequenceAsSequence: aSequenceableCollection
>> Â Â ^false
>>
>> but I think in this case it's overkill.
>>
>>
>> --
>> Cesar Rabak
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Dec. 23, 2009
Re: [Pharo-project] SUnit forked, gofer it
by Mariano Martinez Peck
On Wed, Dec 23, 2009 at 9:41 PM, Adrian Kuhn <akuhn(a)iam.unibe.ch> wrote:
> Mariano Martinez Peck <marianopeck@...> writes:
>
> > Sorry for go a bit offtopic, but is it possible to run only ONE test from
> the
> > browser??? I would like to right click on a test method and be execute.
> > Just like the "run tests" option but only for THAT test and not all the
> tests
> > of that class. Is that possible ?
>
> Fixed in my image.
>
> If you file a bug report, I'll attach the fix :)
>
Excellent!!!!
http://code.google.com/p/pharo/issues/detail?id=1665
Let me say that I really like all the little improvements that are being
done.
Cheers,
Mariano
> --AA
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Dec. 23, 2009