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
February 2010
- 92 participants
- 1270 messages
Re: [Pharo-project] [Seaside-dev] GROrderedCollectionTest>>#testSort
by Julian Fitzell
On Wed, Feb 17, 2010 at 12:32 PM, Lukas Renggli <renggli(a)gmail.com> wrote:
>> 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, OrderedCollection and ArrayedCollection (already covered). For
> all other subclasses the sort method does not make sense.
Ok, that's fine. The Grease tests are only testing ANSI collections
anyway and, for #sort:, currently only classes that implement
<sequencedCollection> (Interval does not). We should added
SortedCollection to that test (but I see there's no TestCase for
SortedCollection yet).
I thought you were saying we were testing all subclasses of
SequencedCollection, but that is not the case (and should not be).
Julian
Feb. 17, 2010
Re: [Pharo-project] databases
by csrabak@bol.com.br
I cannot agree more on this. I think persistence is the essential thing and databases are the accidental one w.r.t. Smalltalk (OO in general).
--
Cesar Rabak
Em 17/02/2010 10:12, Torsten Bergmann <astares(a)gmx.de> escreveu:
Hi Laurent,
I think this topic or persistence in general would require more than
one screencast to show people several options (like using the native
drivers/database) up to higher level stuff mit OR mapping (Glorp) or
Gemstone.
Also well known (Oracle, MySQL, ...) vs. alternative databases (Magma,
CouchDB, ...) or persistence in XML, ReferenceStreams, ...
Maybe SQLite could be used for a simple database example using
Pharo and SQL.
There is a metacello config for it:
http://n4.nabble.com/ANN-SQLite3-wrapper-updated-with-tests-td1294969.html
Have a look at the test cases to see some code.
Bye
T.
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
Pharo-project mailing list
Pharo-project(a)lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Feb. 17, 2010
Re: [Pharo-project] Issue 1884: NetNameResolver doesn't work in PharoCore
by Miguel Enrique Cobá Martinez
El mié, 17-02-2010 a las 16:12 -0500, Dave Woodward escribió:
> I got it working in OS X by also changing the tcp/ip IPv6 setting from
> "Automatically" to "Off". I haven't tried it in Linux yet. Hope this
> helps.
I don't understand, what you changed, the OS X settings or the image
code settings (I didn't know about settings for ipv6 in pharo).
Maybe unrelated, some months ago, my wife's macbook caused my linux
laptop to disconnect every time she connected to the wireless network.
We had any idea but after a while we noticed that even if I had a
perfect working connection after she connected my connection crashed.
I had to disconnect, she connected, and then after she had a connection
I connected.
After some research I found that OS X had a setting in the airport
configuration about ipv6. I disabled it lefting only the ipv4 settings
enabled.
We never had a problem after that.
As I said, maybe unrelated but... mac os, ipv6, problems.
Cheers
>
> On 2/17/10 2:09 PM, Chris Muller wrote:
> > The stable Magma production version cannot get out of the starting
> > gate on a fresh Pharo RC2 (Pharo1.0-10508-rc2dev10.01.2) due to some
> > sort of networking issue. I ensured useOldNetwork was set true, and
> > tried your printOn: method, but getting primitive failure.
> >
> > The same exact version of Magma runs fine on Pharo1.0-10502-rc1dev09.12.2.
> >
> > The stack trace below. Thanks.
> >
> > - Chris
> >
> > THERE_BE_DRAGONS_HERE
> > Error: a primitive has failed
> > 17 February 2010 12:33:18 pm
> >
> > VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074]
> > Image: Pharo-1.0-10508-rc2 [Latest update: #10508]
> >
> > SecurityManager state:
> > Restricted: false
> > FileAccess: true
> > SocketAccess: true
> >
> > NetNameResolver class(Object)>>error:
> > Receiver: NetNameResolver
> > Arguments and temporary variables:
> > aString: 'a primitive has failed'
> > Receiver's instance variables:
> > superclass: Object
> > methodDict: a MethodDictionary()
> > format: 2
> > instanceVariables: nil
> > organization: ('as yet unclassified')
> >
> > subclasses: nil
> > name: #NetNameResolver
> > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> > #ResolverBusy->...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Network-Kernel'
> > traitComposition: nil
> > localSelectors: nil
> >
> > NetNameResolver class(Object)>>primitiveFailed
> > Receiver: NetNameResolver
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: Object
> > methodDict: a MethodDictionary()
> > format: 2
> > instanceVariables: nil
> > organization: ('as yet unclassified')
> >
> > subclasses: nil
> > name: #NetNameResolver
> > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> > #ResolverBusy->...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Network-Kernel'
> > traitComposition: nil
> > localSelectors: nil
> >
> > NetNameResolver class>>primGetNameInfo:flags:
> > Receiver: NetNameResolver
> > Arguments and temporary variables:
> > socketAddress: #[127 0 1 1]
> > flags: 1
> > Receiver's instance variables:
> > superclass: Object
> > methodDict: a MethodDictionary()
> > format: 2
> > instanceVariables: nil
> > organization: ('as yet unclassified')
> >
> > subclasses: nil
> > name: #NetNameResolver
> > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> > #ResolverBusy->...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Network-Kernel'
> > traitComposition: nil
> > localSelectors: nil
> >
> > SocketAddress>>hostNumber
> > Receiver: #[127 0 1 1]
> > Arguments and temporary variables:
> > size: nil
> > name: nil
> > Receiver's instance variables:
> > #[127 0 1 1]
> >
> > [] in Socket>>connectTo:port:waitForConnectionFor:
> > Receiver: a Socket[unconnected]
> > Arguments and temporary variables:
> > hostAddress: #[127 0 1 1]
> > port: 1316
> > Receiver's instance variables:
> > semaphore: a Semaphore()
> > socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> > readSemaphore: a Semaphore()
> > writeSemaphore: a Semaphore()
> > primitiveOnlySupportsOneSemaphore: false
> >
> > Socket>>waitForConnectionFor:ifTimedOut:
> > Receiver: a Socket[unconnected]
> > Arguments and temporary variables:
> > timeout: 5
> > timeoutBlock: [closure] in Socket>>connectTo:port:waitForConnectionFor:
> > startTime: 66537
> > msecsDelta: 5000
> > msecsEllapsed: nil
> > status: 0
> > Receiver's instance variables:
> > semaphore: a Semaphore()
> > socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> > readSemaphore: a Semaphore()
> > writeSemaphore: a Semaphore()
> > primitiveOnlySupportsOneSemaphore: false
> >
> > Socket>>connectTo:port:waitForConnectionFor:
> > Receiver: a Socket[unconnected]
> > Arguments and temporary variables:
> > hostAddress: #[127 0 1 1]
> > port: 1316
> > timeout: 5
> > Receiver's instance variables:
> > semaphore: a Semaphore()
> > socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> > readSemaphore: a Semaphore()
> > writeSemaphore: a Semaphore()
> > primitiveOnlySupportsOneSemaphore: false
> >
> > [] in MaNetworkTestPlayerFacade>>isReady
> > Receiver: a MaNetworkTestPlayerFacade
> > Arguments and temporary variables:
> > socket: #(nil)
> > Receiver's instance variables:
> > link: a MaNetworkServerLink chrisT60p:1316
> > name: 'server'
> > testCaseClass: MagmaTestCase
> >
> > BlockClosure>>on:do:
> > Receiver: [closure] in MaNetworkTestPlayerFacade>>isReady
> > Arguments and temporary variables:
> > exception: ConnectionTimedOut
> > handlerAction: [closure] in MaNetworkTestPlayerFacade>>isReady
> > handlerActive: true
> > Receiver's instance variables:
> > outerContext: MaNetworkTestPlayerFacade>>isReady
> > startpc: 85
> > numArgs: 0
> >
> > MaNetworkTestPlayerFacade>>isReady
> > Receiver: a MaNetworkTestPlayerFacade
> > Arguments and temporary variables:
> > socket: #(nil)
> > Receiver's instance variables:
> > link: a MaNetworkServerLink chrisT60p:1316
> > name: 'server'
> > testCaseClass: MagmaTestCase
> >
> > [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> > each: a MaNetworkTestPlayerFacade
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > [] in Dictionary(Collection)>>allSatisfy:
> > Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> > 'client2'->a MaNetworkTestPlayerFacad...etc...
> > Arguments and temporary variables:
> > aBlock: a MaNetworkTestPlayerFacade
> > each: [closure] in MagmaTestCase class(MaNetworkTestCase
> > class)>>waitForPlayerI...etc...
> > Receiver's instance variables:
> > tally: 4
> > array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> > MaNetworkTes...etc...
> >
> > [] in Dictionary>>do:
> > Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> > 'client2'->a MaNetworkTestPlayerFacad...etc...
> > Arguments and temporary variables:
> > aBlock: 'server'->a MaNetworkTestPlayerFacade
> > assoc: [closure] in Dictionary(Collection)>>allSatisfy:
> > Receiver's instance variables:
> > tally: 4
> > array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> > MaNetworkTes...etc...
> >
> > Dictionary(Set)>>do:
> > Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> > 'client2'->a MaNetworkTestPlayerFacad...etc...
> > Arguments and temporary variables:
> > aBlock: [closure] in Dictionary>>do:
> > index: 4
> > each: 'server'->a MaNetworkTestPlayerFacade
> > indexLimiT: 5
> > Receiver's instance variables:
> > tally: 4
> > array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> > MaNetworkTes...etc...
> >
> > Dictionary>>do:
> > Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> > 'client2'->a MaNetworkTestPlayerFacad...etc...
> > Arguments and temporary variables:
> > aBlock: [closure] in Dictionary(Collection)>>allSatisfy:
> > Receiver's instance variables:
> > tally: 4
> > array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> > MaNetworkTes...etc...
> >
> > Dictionary(Collection)>>allSatisfy:
> > Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> > 'client2'->a MaNetworkTestPlayerFacad...etc...
> > Arguments and temporary variables:
> > aBlock: [closure] in MagmaTestCase class(MaNetworkTestCase
> > class)>>waitForPlaye...etc...
> > Receiver's instance variables:
> > tally: 4
> > array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> > MaNetworkTes...etc...
> >
> > MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > MagmaTestCase class>>launchPlayerImages
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > MagmaTestCase class>>setUpSuite
> > Receiver: MagmaTestCase
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > superclass: MaNetworkTestCase
> > methodDict: a MethodDictionary(size 184)
> > format: 162
> > instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> > 'localRoot' '...etc...
> > organization: ('initialize-release' abort abortClients
> > assertForwardRecoverySig...etc...
> > subclasses: {MagmaCollectionTester}
> > name: #MagmaTestCase
> > classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> > #MagmaServerAd...etc...
> > sharedPools: nil
> > environment: Smalltalk
> > category: #'Magma tester-SUnit tests'
> > traitComposition: {}
> > localSelectors: nil
> > history: a Dictionary(#errors->a Set() #failures->a Set()
> > #passed->a Set() #tim...etc...
> >
> > MagmaTestCase(MaTestCase)>>setUpSuite
> > Receiver: MagmaTestCase>>#testAdvance
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > testSelector: #testAdvance
> > magmaConsole: nil
> > peerConsole: nil
> > clientSession: nil
> > localRoot: a Dictionary()
> > proxy: nil
> > original34990: nil
> > forwardRecoverySignaled: false
> > timeToVerifyRestore: false
> > shouldStopGeneratingSequenceNumbers: nil
> > sequenceNumbers: nil
> > dormantObject: nil
> > objectToAdvance: nil
> > forwardRecoveryRequirement: nil
> > shouldStopFlooding: false
> > refreshTestFixture: nil
> >
> > [] in [] in TestSuite>>maExecuteTestsUsing:result:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > BlockClosure>>on:do:
> > Receiver: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> > Arguments and temporary variables:
> > exception: MaNotification
> > handlerAction: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> > handlerActive: true
> > Receiver's instance variables:
> > outerContext: [] in TestSuite>>maExecuteTestsUsing:result:
> > startpc: 110
> > numArgs: 0
> >
> > [] in TestSuite>>maExecuteTestsUsing:result:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> > aSymbol: #maDebug:
> > aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> > errors, 0 unexpect...etc...
> > shouldRunTests: nil
> > durationToRun: nil
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > BlockClosure>>ensure:
> > Receiver: [closure] in TestSuite>>maExecuteTestsUsing:result:
> > Arguments and temporary variables:
> > aBlock: [closure] in TestSuite>>maExecuteTestsUsing:result:
> > returnValue: nil
> > b: nil
> > Receiver's instance variables:
> > outerContext: TestSuite>>maExecuteTestsUsing:result:
> > startpc: 104
> > numArgs: 0
> >
> > TestSuite>>maExecuteTestsUsing:result:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> > aSymbol: #maDebug:
> > aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> > errors, 0 unexpect...etc...
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > TestSuite>>maDebug:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> > aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> > errors, 0 unexpect...etc...
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > [] in TestSuite>>maRunUsing:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> > aSymbol: #maDebug:
> > result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> > 0 unexpecte...etc...
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > BlockClosure>>ensure:
> > Receiver: [closure] in TestSuite>>maRunUsing:
> > Arguments and temporary variables:
> > aBlock: [closure] in TestSuite>>maRunUsing:
> > returnValue: nil
> > b: nil
> > Receiver's instance variables:
> > outerContext: TestSuite>>maRunUsing:
> > startpc: 42
> > numArgs: 0
> >
> > TestSuite>>maRunUsing:
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> > aSymbol: #maDebug:
> > result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> > 0 unexpecte...etc...
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > TestSuite>>maDebug
> > Receiver: a TestSuite
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> > MagmaTestCase>>#testBlo...etc...
> > resources: nil
> > name: nil
> >
> > UndefinedObject>>DoIt
> > Receiver: nil
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > nil
> >
> > Compiler>>evaluate:in:to:notifying:ifFail:logged:
> > Receiver: a Compiler
> > Arguments and temporary variables:
> > textOrStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > ...etc...
> > aContext: nil
> > receiver: nil
> > aRequestor: a TextMorphForShoutEditor
> > failBlock: [closure] in [] in
> > TextMorphForShoutEditor(ParagraphEditor)>>evaluat...etc...
> > logFlag: true
> > methodNode: DoIt
> > ^ MagmaTestCase fullSuite maDebug
> > method: a CompiledMethod(1314: UndefinedObject>>DoIt)
> > value: nil
> > toLog: nil
> > itsSelection: nil
> > itsSelectionString: nil
> > Receiver's instance variables:
> > sourceStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > ...etc...
> > requestor: a TextMorphForShoutEditor
> > class: UndefinedObject
> > category: nil
> > context: nil
> > parser: a Parser
> >
> > [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > Receiver: a TextMorphForShoutEditor
> > Arguments and temporary variables:
> > rcvr: nil
> > ctxt: nil
> > Receiver's instance variables:
> > model: a SHWorkspace
> > paragraph: a MultiNewParagraph
> > startBlock: a CharacterBlock with index 78 and character Character
> > cr and recta...etc...
> > stopBlock: a CharacterBlock with index 47 and character $M and
> > rectangle 0@56 c...etc...
> > beginTypeInBlock: nil
> > emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> > initialText: a Text for 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > MagmaTes...etc...
> > selectionShowing: false
> > otherInterval: (75 to: 74)
> > lastParentLocation: nil
> > morph: a TextMorphForShout(1009)
> > oldInterval: (75 to: 74)
> > pivotBlock: a CharacterBlock with index 66 and character $u and
> > rectangle 119@5...etc...
> > inBackTo: nil
> >
> > BlockClosure>>on:do:
> > Receiver: [closure] in
> > TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > Arguments and temporary variables:
> > exception: OutOfScopeNotification
> > handlerAction: [closure] in
> > TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
> > handlerActive: true
> > Receiver's instance variables:
> > outerContext: TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > startpc: 116
> > numArgs: 0
> >
> > TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > Receiver: a TextMorphForShoutEditor
> > Arguments and temporary variables:
> > result: nil
> > rcvr: nil
> > ctxt: nil
> > Receiver's instance variables:
> > model: a SHWorkspace
> > paragraph: a MultiNewParagraph
> > startBlock: a CharacterBlock with index 78 and character Character
> > cr and recta...etc...
> > stopBlock: a CharacterBlock with index 47 and character $M and
> > rectangle 0@56 c...etc...
> > beginTypeInBlock: nil
> > emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> > initialText: a Text for 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > MagmaTes...etc...
> > selectionShowing: false
> > otherInterval: (75 to: 74)
> > lastParentLocation: nil
> > morph: a TextMorphForShout(1009)
> > oldInterval: (75 to: 74)
> > pivotBlock: a CharacterBlock with index 66 and character $u and
> > rectangle 119@5...etc...
> > inBackTo: nil
> >
> > TextMorphForShoutEditor(ParagraphEditor)>>doIt
> > Receiver: a TextMorphForShoutEditor
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > model: a SHWorkspace
> > paragraph: a MultiNewParagraph
> > startBlock: a CharacterBlock with index 78 and character Character
> > cr and recta...etc...
> > stopBlock: a CharacterBlock with index 47 and character $M and
> > rectangle 0@56 c...etc...
> > beginTypeInBlock: nil
> > emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> > initialText: a Text for 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > MagmaTes...etc...
> > selectionShowing: false
> > otherInterval: (75 to: 74)
> > lastParentLocation: nil
> > morph: a TextMorphForShout(1009)
> > oldInterval: (75 to: 74)
> > pivotBlock: a CharacterBlock with index 66 and character $u and
> > rectangle 119@5...etc...
> > inBackTo: nil
> >
> > [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> > Receiver: a TextMorphForShoutEditor
> > Arguments and temporary variables:
> >
> > Receiver's instance variables:
> > model: a SHWorkspace
> > paragraph: a MultiNewParagraph
> > startBlock: a CharacterBlock with index 78 and character Character
> > cr and recta...etc...
> > stopBlock: a CharacterBlock with index 47 and character $M and
> > rectangle 0@56 c...etc...
> > beginTypeInBlock: nil
> > emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> > initialText: a Text for 'MaObjectSerializerTestCase suite
> >
> > OSProcess
> >
> > MagmaTes...etc...
> > selectionShowing: false
> > otherInterval: (75 to: 74)
> > lastParentLocation: nil
> > morph: a TextMorphForShout(1009)
> > oldInterval: (75 to: 74)
> > pivotBlock: a CharacterBlock with index 66 and character $u and
> > rectangle 119@5...etc...
> > inBackTo: nil
> >
> >
> > --- The full stack ---
> > NetNameResolver class(Object)>>error:
> > NetNameResolver class(Object)>>primitiveFailed
> > NetNameResolver class>>primGetNameInfo:flags:
> > SocketAddress>>hostNumber
> > [] in Socket>>connectTo:port:waitForConnectionFor:
> > Socket>>waitForConnectionFor:ifTimedOut:
> > Socket>>connectTo:port:waitForConnectionFor:
> > [] in MaNetworkTestPlayerFacade>>isReady
> > BlockClosure>>on:do:
> > MaNetworkTestPlayerFacade>>isReady
> > [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> > [] in Dictionary(Collection)>>allSatisfy:
> > [] in Dictionary>>do:
> > Dictionary(Set)>>do:
> > Dictionary>>do:
> > Dictionary(Collection)>>allSatisfy:
> > MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> > MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> > MagmaTestCase class>>launchPlayerImages
> > MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> > MagmaTestCase class>>setUpSuite
> > MagmaTestCase(MaTestCase)>>setUpSuite
> > [] in [] in TestSuite>>maExecuteTestsUsing:result:
> > BlockClosure>>on:do:
> > [] in TestSuite>>maExecuteTestsUsing:result:
> > BlockClosure>>ensure:
> > TestSuite>>maExecuteTestsUsing:result:
> > TestSuite>>maDebug:
> > [] in TestSuite>>maRunUsing:
> > BlockClosure>>ensure:
> > TestSuite>>maRunUsing:
> > TestSuite>>maDebug
> > UndefinedObject>>DoIt
> > Compiler>>evaluate:in:to:notifying:ifFail:logged:
> > [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > BlockClosure>>on:do:
> > TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> > TextMorphForShoutEditor(ParagraphEditor)>>doIt
> > [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> > - - - - - - - - - - - - - - -
> > - - - - - - - - - - - - - - - - - -
> > TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
> > TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> > TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
> > TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
> > TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
> > TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
> > [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
> > TextMorphForShout(TextMorph)>>handleInteraction:
> > TextMorphForShout(TextMorphForEditView)>>handleInteraction:
> > [] in TextMorphForShout(TextMorph)>>keyStroke:
> > ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
> > DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
> > ToolSet class>>codeCompletionAround:textMorph:keyStroke:
> > TextMorphForShout(TextMorph)>>keyStroke:
> > TextMorphForShout(TextMorphForEditView)>>keyStroke:
> > TextMorphForShout(TextMorph)>>handleKeystroke:
> > KeyboardEvent>>sentTo:
> > TextMorphForShout(Morph)>>handleEvent:
> > TextMorphForShout(Morph)>>handleFocusEvent:
> > [] in HandMorph>>sendFocusEvent:to:clear:
> > [] in PasteUpMorph>>becomeActiveDuring:
> > BlockClosure>>on:do:
> > PasteUpMorph>>becomeActiveDuring:
> > HandMorph>>sendFocusEvent:to:clear:
> > HandMorph>>sendEvent:focus:clear:
> > HandMorph>>sendKeyboardEvent:
> > HandMorph>>handleEvent:
> > HandMorph>>processEvents
> > [] in WorldState>>doOneCycleNowFor:
> > Array(SequenceableCollection)>>do:
> > WorldState>>handsDo:
> > WorldState>>doOneCycleNowFor:
> > WorldState>>doOneCycleFor:
> > PasteUpMorph>>doOneCycle
> > [] in Project class>>spawnNewProcess
> > [] in BlockClosure>>newProcess
> > ------------------------------------------------------------
> >
> >
> > On Sun, Feb 14, 2010 at 2:14 PM, Adrian Lienhard<adi(a)netstyle.ch> wrote:
> >
> >> http://code.google.com/p/pharo/issues/detail?id=1884
> >>
> >> This issue probably is the last obstacle for the 1.0 release. I've added the following comment:
> >>
> >> ---------
> >>
> >> The preference proposed by Miguel does not solve the problem but puts the burden on the user that needs to change the preference depending on which implementation works for him. This will lead to many questions and frustrated users. If possible, I'd prefer to make the legacy IPv4 implementation work again until we have a proper IPv6 implementation.
> >>
> >> The problem with printing "NetNameResolver addressForName: 'www.yahoo.com'" is not that the resolution does not work correctly but that the printOn: implementation of SocketAddress assumes an IPv6 address. I suggest to change the SocketAddress>>printOn: as follows. Maybe it's just this simple change to makes IPv4 work again -- maybe more such backward compatibility code is needed.
> >>
> >> SocketAddress>>printOn: aStream
> >> NetNameResolver useOldNetwork ifTrue: [ ^ super printOn: aStream ].
> >>
> >> aStream
> >> nextPutAll: self hostNumber;
> >> nextPut: $(; nextPutAll: self hostName; nextPut: $);
> >> nextPut: $,;
> >> nextPutAll: self serviceNumber;
> >> nextPut: $(; nextPutAll: self serviceName; nextPut: $)
> >>
> >> ---------
> >>
> >> This change makes #addressForName: work again with useOldNetwork set to true (as it is in recent PharoCore 1.0 images).
> >>
> >> Could people that experience problems with the network code update this method and check out if other parts break?
> >>
> >> Cheers,
> >> Adrian
> >>
> >> ___________________
> >> http://www.adrian-lienhard.ch/
> >>
> >>
> >> _______________________________________________
> >> 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
>
>
--
Miguel Cobá
http://miguel.leugim.com.mx
Feb. 17, 2010
Re: [Pharo-project] Issue 1884: NetNameResolver doesn't work in PharoCore
by Miguel Enrique Cobá Martinez
El mié, 17-02-2010 a las 13:09 -0600, Chris Muller escribió:
> The stable Magma production version cannot get out of the starting
> gate on a fresh Pharo RC2 (Pharo1.0-10508-rc2dev10.01.2) due to some
> sort of networking issue. I ensured useOldNetwork was set true, and
> tried your printOn: method, but getting primitive failure.
>
> The same exact version of Magma runs fine on Pharo1.0-10502-rc1dev09.12.2.
Indeed Magma was the reason I opened that ticket and proposed the
preference to change the network behavior to the one that worked for
everyone.
But as Adrian said correctly, doesn't solve the problem, but put it on
the user side. That will generate a lot of questions and a bad image for
the first release of Magma.
So, we need to solve that issue, maybe reverting to previous working
(mostly) version or stealing from squeak/crocket/cuis if they have a
stack working. :)
Cheers
>
> The stack trace below. Thanks.
>
> - Chris
>
> THERE_BE_DRAGONS_HERE
> Error: a primitive has failed
> 17 February 2010 12:33:18 pm
>
> VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074]
> Image: Pharo-1.0-10508-rc2 [Latest update: #10508]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
>
> NetNameResolver class(Object)>>error:
> Receiver: NetNameResolver
> Arguments and temporary variables:
> aString: 'a primitive has failed'
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> NetNameResolver class(Object)>>primitiveFailed
> Receiver: NetNameResolver
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> NetNameResolver class>>primGetNameInfo:flags:
> Receiver: NetNameResolver
> Arguments and temporary variables:
> socketAddress: #[127 0 1 1]
> flags: 1
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> SocketAddress>>hostNumber
> Receiver: #[127 0 1 1]
> Arguments and temporary variables:
> size: nil
> name: nil
> Receiver's instance variables:
> #[127 0 1 1]
>
> [] in Socket>>connectTo:port:waitForConnectionFor:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> hostAddress: #[127 0 1 1]
> port: 1316
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> Socket>>waitForConnectionFor:ifTimedOut:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> timeout: 5
> timeoutBlock: [closure] in Socket>>connectTo:port:waitForConnectionFor:
> startTime: 66537
> msecsDelta: 5000
> msecsEllapsed: nil
> status: 0
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> Socket>>connectTo:port:waitForConnectionFor:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> hostAddress: #[127 0 1 1]
> port: 1316
> timeout: 5
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> [] in MaNetworkTestPlayerFacade>>isReady
> Receiver: a MaNetworkTestPlayerFacade
> Arguments and temporary variables:
> socket: #(nil)
> Receiver's instance variables:
> link: a MaNetworkServerLink chrisT60p:1316
> name: 'server'
> testCaseClass: MagmaTestCase
>
> BlockClosure>>on:do:
> Receiver: [closure] in MaNetworkTestPlayerFacade>>isReady
> Arguments and temporary variables:
> exception: ConnectionTimedOut
> handlerAction: [closure] in MaNetworkTestPlayerFacade>>isReady
> handlerActive: true
> Receiver's instance variables:
> outerContext: MaNetworkTestPlayerFacade>>isReady
> startpc: 85
> numArgs: 0
>
> MaNetworkTestPlayerFacade>>isReady
> Receiver: a MaNetworkTestPlayerFacade
> Arguments and temporary variables:
> socket: #(nil)
> Receiver's instance variables:
> link: a MaNetworkServerLink chrisT60p:1316
> name: 'server'
> testCaseClass: MagmaTestCase
>
> [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
> each: a MaNetworkTestPlayerFacade
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> [] in Dictionary(Collection)>>allSatisfy:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: a MaNetworkTestPlayerFacade
> each: [closure] in MagmaTestCase class(MaNetworkTestCase
> class)>>waitForPlayerI...etc...
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> [] in Dictionary>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: 'server'->a MaNetworkTestPlayerFacade
> assoc: [closure] in Dictionary(Collection)>>allSatisfy:
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary(Set)>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in Dictionary>>do:
> index: 4
> each: 'server'->a MaNetworkTestPlayerFacade
> indexLimiT: 5
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in Dictionary(Collection)>>allSatisfy:
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary(Collection)>>allSatisfy:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in MagmaTestCase class(MaNetworkTestCase
> class)>>waitForPlaye...etc...
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class>>launchPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class>>setUpSuite
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase(MaTestCase)>>setUpSuite
> Receiver: MagmaTestCase>>#testAdvance
> Arguments and temporary variables:
>
> Receiver's instance variables:
> testSelector: #testAdvance
> magmaConsole: nil
> peerConsole: nil
> clientSession: nil
> localRoot: a Dictionary()
> proxy: nil
> original34990: nil
> forwardRecoverySignaled: false
> timeToVerifyRestore: false
> shouldStopGeneratingSequenceNumbers: nil
> sequenceNumbers: nil
> dormantObject: nil
> objectToAdvance: nil
> forwardRecoveryRequirement: nil
> shouldStopFlooding: false
> refreshTestFixture: nil
>
> [] in [] in TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
>
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> Arguments and temporary variables:
> exception: MaNotification
> handlerAction: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> handlerActive: true
> Receiver's instance variables:
> outerContext: [] in TestSuite>>maExecuteTestsUsing:result:
> startpc: 110
> numArgs: 0
>
> [] in TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> shouldRunTests: nil
> durationToRun: nil
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>ensure:
> Receiver: [closure] in TestSuite>>maExecuteTestsUsing:result:
> Arguments and temporary variables:
> aBlock: [closure] in TestSuite>>maExecuteTestsUsing:result:
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: TestSuite>>maExecuteTestsUsing:result:
> startpc: 104
> numArgs: 0
>
> TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> TestSuite>>maDebug:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> [] in TestSuite>>maRunUsing:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> 0 unexpecte...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>ensure:
> Receiver: [closure] in TestSuite>>maRunUsing:
> Arguments and temporary variables:
> aBlock: [closure] in TestSuite>>maRunUsing:
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: TestSuite>>maRunUsing:
> startpc: 42
> numArgs: 0
>
> TestSuite>>maRunUsing:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> 0 unexpecte...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> TestSuite>>maDebug
> Receiver: a TestSuite
> Arguments and temporary variables:
>
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> UndefinedObject>>DoIt
> Receiver: nil
> Arguments and temporary variables:
>
> Receiver's instance variables:
> nil
>
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> Receiver: a Compiler
> Arguments and temporary variables:
> textOrStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> ...etc...
> aContext: nil
> receiver: nil
> aRequestor: a TextMorphForShoutEditor
> failBlock: [closure] in [] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluat...etc...
> logFlag: true
> methodNode: DoIt
> ^ MagmaTestCase fullSuite maDebug
> method: a CompiledMethod(1314: UndefinedObject>>DoIt)
> value: nil
> toLog: nil
> itsSelection: nil
> itsSelectionString: nil
> Receiver's instance variables:
> sourceStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> ...etc...
> requestor: a TextMorphForShoutEditor
> class: UndefinedObject
> category: nil
> context: nil
> parser: a Parser
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
> rcvr: nil
> ctxt: nil
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Arguments and temporary variables:
> exception: OutOfScopeNotification
> handlerAction: [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext: TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> startpc: 116
> numArgs: 0
>
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
> result: nil
> rcvr: nil
> ctxt: nil
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
>
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
>
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
>
> --- The full stack ---
> NetNameResolver class(Object)>>error:
> NetNameResolver class(Object)>>primitiveFailed
> NetNameResolver class>>primGetNameInfo:flags:
> SocketAddress>>hostNumber
> [] in Socket>>connectTo:port:waitForConnectionFor:
> Socket>>waitForConnectionFor:ifTimedOut:
> Socket>>connectTo:port:waitForConnectionFor:
> [] in MaNetworkTestPlayerFacade>>isReady
> BlockClosure>>on:do:
> MaNetworkTestPlayerFacade>>isReady
> [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> [] in Dictionary(Collection)>>allSatisfy:
> [] in Dictionary>>do:
> Dictionary(Set)>>do:
> Dictionary>>do:
> Dictionary(Collection)>>allSatisfy:
> MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> MagmaTestCase class>>launchPlayerImages
> MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> MagmaTestCase class>>setUpSuite
> MagmaTestCase(MaTestCase)>>setUpSuite
> [] in [] in TestSuite>>maExecuteTestsUsing:result:
> BlockClosure>>on:do:
> [] in TestSuite>>maExecuteTestsUsing:result:
> BlockClosure>>ensure:
> TestSuite>>maExecuteTestsUsing:result:
> TestSuite>>maDebug:
> [] in TestSuite>>maRunUsing:
> BlockClosure>>ensure:
> TestSuite>>maRunUsing:
> TestSuite>>maDebug
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> BlockClosure>>on:do:
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> - - - - - - - - - - - - - - -
> - - - - - - - - - - - - - - - - - -
> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
> TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
> [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleInteraction:
> TextMorphForShout(TextMorphForEditView)>>handleInteraction:
> [] in TextMorphForShout(TextMorph)>>keyStroke:
> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
> TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorphForEditView)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForShout(Morph)>>handleEvent:
> TextMorphForShout(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear:
> [] in PasteUpMorph>>becomeActiveDuring:
> BlockClosure>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess
> [] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
>
> On Sun, Feb 14, 2010 at 2:14 PM, Adrian Lienhard <adi(a)netstyle.ch> wrote:
> > http://code.google.com/p/pharo/issues/detail?id=1884
> >
> > This issue probably is the last obstacle for the 1.0 release. I've added the following comment:
> >
> > ---------
> >
> > The preference proposed by Miguel does not solve the problem but puts the burden on the user that needs to change the preference depending on which implementation works for him. This will lead to many questions and frustrated users. If possible, I'd prefer to make the legacy IPv4 implementation work again until we have a proper IPv6 implementation.
> >
> > The problem with printing "NetNameResolver addressForName: 'www.yahoo.com'" is not that the resolution does not work correctly but that the printOn: implementation of SocketAddress assumes an IPv6 address. I suggest to change the SocketAddress>>printOn: as follows. Maybe it's just this simple change to makes IPv4 work again -- maybe more such backward compatibility code is needed.
> >
> > SocketAddress >>printOn: aStream
> > NetNameResolver useOldNetwork ifTrue: [ ^ super printOn: aStream ].
> >
> > aStream
> > nextPutAll: self hostNumber;
> > nextPut: $(; nextPutAll: self hostName; nextPut: $);
> > nextPut: $,;
> > nextPutAll: self serviceNumber;
> > nextPut: $(; nextPutAll: self serviceName; nextPut: $)
> >
> > ---------
> >
> > This change makes #addressForName: work again with useOldNetwork set to true (as it is in recent PharoCore 1.0 images).
> >
> > Could people that experience problems with the network code update this method and check out if other parts break?
> >
> > Cheers,
> > Adrian
> >
> > ___________________
> > http://www.adrian-lienhard.ch/
> >
> >
> > _______________________________________________
> > 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
--
Miguel Cobá
http://miguel.leugim.com.mx
Feb. 17, 2010
Re: [Pharo-project] {Spam?} Re: "Real" packages.
by Schwab,Wilhelm K
Sorry, I can't resist exploiting the typo: the would be "grate" (vs. great) for me too. I also suspect that name spaces would turn into a horrible mess in short order.
I could learn to live with messages as class names, something like
Smalltalk goGators Dictionary etc.
so that the "name space" is really an object accessed by a selector (#goGators above) and Dictionary then is a message to same. I got the idea from Dolphin. AFAIK, it has not gone terribly far, but my sense is that it does what one really needs from name spaces without inviting the slippery slope into Java packages.
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Esteban Lorenzano
Sent: Wednesday, February 17, 2010 3:40 PM
To: pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] {Spam?} Re: "Real" packages.
Well... I disagree with you, Mariano. If you allow packages, suddenly you will have things like:
com.pirulo.Date,
ar.com.pirulin.Date
and a lot of classes who, in fact, should be just Date
(and that's just an example)
Cheers,
Esteban
On 2009-02-11 12:13:07 -0300, Mariano Martinez Peck <marianopeck(a)gmail.com> said:
>
>
> I hate not having a real namespace. I hate to call my class
> DBXConnection instead of Connection. I think namespaces are very
> useful. Something like Java packages or similar would be grate for me.
>
> Cheers,
>
> Mariano
>
> On Tue, Feb 10, 2009 at 7:09 PM, Travis Kay <tlk(a)nb.sympatico.ca>
> wrote:
>
>> Bill Schwab wrote:
>>> Stef,
>>>
>>> Re Dolphin, class categories have long been of marginal use; I'll
>>> speak
>> for myself on that but suspect others would agree.
>> I am a Dolphin Pro, Squeak and Pharo users, I agree.
>>
>> Travis
>>
>>> Packages are of course extremely useful. Method categories are also
>> quite useful, and Dolphin allows multiple categories to be assigned
>> to a given method. Dolphin mixes virtual categories (computed by
>> rules) with static ones maintained by the user (and serialized as part of packages).
>>>
>>> I can easily see where OB would get quite a speed boost out of it.
>>>
>>> Bill
>>>
>>>
>>>
>>>
>>>
>>> Wilhelm K. Schwab, Ph.D.
>>> University of Florida
>>> Department of Anesthesiology
>>> PO Box 100254
>>> Gainesville, FL 32610-0254
>>>
>>> Email: bschwab(a)anest.ufl.edu
>>> Tel: (352) 273-6785
>>> FAX: (352) 392-7029
>>>
>>>
>>>
>>>>>> stephane.ducasse(a)inria.fr 2/10/2009 4:41:10 PM >>>
>>>>>>
>>> Alexandre implemented long time ago an hybrid model where both kind
>>> of packages could coexist and we should probably revive it for 1.1
>>>
>>> Stef
>>> On Feb 10, 2009, at 10:28 PM, Michael van der Gulik wrote:
>>>
>>>
>>>> On Wed, Feb 11, 2009 at 9:21 AM, David R=F6thlisberger
>>>> <squeak@webcita=
> s.ch
>>>>
>>>>> wrote:
>>>>>
>>>> So if we had real packages in Pharo as first class entities, OB
>>>> would be much faster and simpler to maintain. Right now, OB models
>>>> packages and class cats itself, has to take the information from
>>>> both the Monticello's working copy managers and the
>>>> SystemOrganizer. This is a mess and a huge pain, but what can we do.
>>>> We should really invest in bringing real packages to Pharo.
>>>>
>>>>
>>>> If you want "real" packages, I've implemented them in Squeak:
>>>>
>>>> http://gulik.pbwiki.com/Namespaces
>>>> http://gulik.pbwiki.com/Packages
>>>>
>>>> The places the code is held, including a video and a Squeak image is
>>>> linked from here:
>>>> http://gulik.pbwiki.com/SecureSqueak
>>>>
>>>> I'm not interested in Pharo, but the code is there and is released
>>>> under the MIT license if anybody else wants it.
>>>>
>>>> Gulik.
>>>>
>>>> --
>>>> http://people.squeakfoundation.org/person/mikevdg
>>>> http://gulik.pbwiki.com/
>>>> _______________________________________________
>>>> 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
>>> -----------------------------------------------------------------------=
> -
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG - www.avg.com
>>> Version: 8.0.233 / Virus Database: 270.10.20/1943 - Release Date:
>> 02/10/09 07:20:00
>>>
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> I hate not having a real namespace. I hate to call my class DBXConnection i=
> nstead of Connection. I think namespaces are very useful. Something like Ja=
> va packages or similar would be grate for me. <br><br>Cheers,<br><br>Marian=
> o<br>
> <br><div class=3D"gmail_quote">On Tue, Feb 10, 2009 at 7:09 PM, Travis Kay =
> <span dir=3D"ltr"><<a
> href=3D"mailto:tlk@nb.sympatico.ca">tlk-F7KtY6MJiVI/4Up/o1S3Qw(a)public.gmane.org=
co.ca</a>></span>
>
> wrote:<br><blockquote class=3D"gmail_quote" style=3D"b=
> order-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; paddin=
> g-left: 1ex;">
> <div class=3D"Ih2E3d">Bill Schwab wrote:<br>
> > Stef,<br>
> ><br>
> > Re Dolphin, class categories have long been of marginal use; I'll =
> speak for myself on that but suspect others would agree.<br>
> </div>I am a Dolphin Pro, Squeak and Pharo users, I agree.<br>
> <br>
> Travis<br>
> <div><div></div><div class=3D"Wj3C7c"><br>
> > Packages are of course extremely useful. Method categories are a=
> lso quite useful, and Dolphin allows multiple categories to be assigned to =
> a given method. Dolphin mixes virtual categories (computed by rules) =
> with static ones maintained by the user (and serialized as part of packages=
> ).<br>
>
> ><br>
> > I can easily see where OB would get quite a speed boost out of it.<br>
> ><br>
> > Bill<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > Wilhelm K. Schwab, Ph.D.<br>
> > University of Florida<br>
> > Department of Anesthesiology<br>
> > PO Box 100254<br>
> > Gainesville, FL 32610-0254<br>
> ><br>
> > Email: <a
> href=3D"mailto:bschwab@anest.ufl.edu">bschwab(a)anest.ufl.edu<=
/a><br>
>
>
> Tel: (352) 273-6785<br>
> > FAX: (352) 392-7029<br>
> ><br>
> ><br>
> ><br>
> >>>> <a
> href=3D"mailto:stephane.ducasse@inria.fr">stephane.duca=
sse(a)inria.fr</a>
>
> 2/10/2009 4:41:10 PM >>><br>
> >>>><br>
> > Alexandre implemented long time ago an hybrid model where both kind of=
> <br>
> > packages could coexist<br>
> > and we should probably revive it for 1.1<br>
> ><br>
> > Stef<br>
> > On Feb 10, 2009, at 10:28 PM, Michael van der Gulik wrote:<br>
> ><br>
> ><br>
> >> On Wed, Feb 11, 2009 at 9:21 AM, David R=F6thlisberger <squeak@=
> webcitas.ch<br>
> >><br>
> >>> wrote:<br>
> >>><br>
> >> So if we had real packages in Pharo as first class entities, OB<br=
>>
> >> would be much faster<br>
> >> and simpler to maintain. Right now, OB models packages and class<b=
> r>
> >> cats itself, has to<br>
> >> take the information from both the Monticello's working copy<b=
> r>
> >> managers and the<br>
> >> SystemOrganizer. This is a mess and a huge pain, but what can we d=
> o.<br>
> >> We should really invest in bringing real packages to Pharo.<br>
> >><br>
> >><br>
> >> If you want "real" packages, I've implemented them i=
> n Squeak:<br>
> >><br>
> >> <a href=3D"http://gulik.pbwiki.com/Namespaces" target=3D"_blank">h=
> ttp://gulik.pbwiki.com/Namespaces</a><br>
> >> <a href=3D"http://gulik.pbwiki.com/Packages" target=3D"_blank">htt=
> p://gulik.pbwiki.com/Packages</a><br>
> >><br>
> >> The places the code is held, including a video and a Squeak image =
> is<br>
> >> linked from here:<br>
> >> <a href=3D"http://gulik.pbwiki.com/SecureSqueak" target=3D"_blank"=
>> http://gulik.pbwiki.com/SecureSqueak</a><br>
> >><br>
> >> I'm not interested in Pharo, but the code is there and is rele=
> ased<br>
> >> under the MIT license if anybody else wants it.<br>
> >><br>
> >> Gulik.<br>
> >><br>
> >> --<br>
> >> <a href=3D"http://people.squeakfoundation.org/person/mikevdg" targ=
> et=3D"_blank">http://people.squeakfoundation.org/person/mikevdg</a><br>
> >> <a href=3D"http://gulik.pbwiki.com/" target=3D"_blank">http://guli=
> k.pbwiki.com/</a><br>
> >> _______________________________________________<br>
> >> Pharo-project mailing list<br>
> >> <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-proje=
ct(a)lists.gforge.inria.fr</a><br>
>>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/p=
> haro-project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailma=
> n/listinfo/pharo-project</a><br>
> >><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > Pharo-project mailing list<br>
> > <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project@l=
ists.gforge.inria.fr</a><br>
>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo=
> -project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/li=
> stinfo/pharo-project</a><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > Pharo-project mailing list<br>
> > <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project@l=
ists.gforge.inria.fr</a><br>
>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo=
> -project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/li=
> stinfo/pharo-project</a><br>
> </div></div>> ----------------------------------------------------------=
> --------------<br>
> ><br>
> ><br>
> > No virus found in this incoming message.<br>
> > Checked by AVG - <a href=3D"http://www.avg.com" target=3D"_blank">www.=
> avg.com</a><br>
> > Version: 8.0.233 / Virus Database: 270.10.20/1943 - Release Date: 02/1=
> 0/09 07:20:00<br>
> <div><div></div><div class=3D"Wj3C7c">><br>
> ><br>
> <br>
> <br>
> _______________________________________________<br>
> Pharo-project mailing list<br>
> <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project(a)lists.=
gforge.inria.fr</a><br>
<a
>
> href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-proj=
> ect" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/listinf=
> o/pharo-project</a><br>
> </div></div></blockquote></div><br>
>
>
>
>
> _______________________________________________
> 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
Feb. 17, 2010
Re: [Pharo-project] Issue 1884: NetNameResolver doesn't work in PharoCore
by Dave Woodward
I got it working in OS X by also changing the tcp/ip IPv6 setting from
"Automatically" to "Off". I haven't tried it in Linux yet. Hope this
helps.
On 2/17/10 2:09 PM, Chris Muller wrote:
> The stable Magma production version cannot get out of the starting
> gate on a fresh Pharo RC2 (Pharo1.0-10508-rc2dev10.01.2) due to some
> sort of networking issue. I ensured useOldNetwork was set true, and
> tried your printOn: method, but getting primitive failure.
>
> The same exact version of Magma runs fine on Pharo1.0-10502-rc1dev09.12.2.
>
> The stack trace below. Thanks.
>
> - Chris
>
> THERE_BE_DRAGONS_HERE
> Error: a primitive has failed
> 17 February 2010 12:33:18 pm
>
> VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074]
> Image: Pharo-1.0-10508-rc2 [Latest update: #10508]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
>
> NetNameResolver class(Object)>>error:
> Receiver: NetNameResolver
> Arguments and temporary variables:
> aString: 'a primitive has failed'
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> NetNameResolver class(Object)>>primitiveFailed
> Receiver: NetNameResolver
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> NetNameResolver class>>primGetNameInfo:flags:
> Receiver: NetNameResolver
> Arguments and temporary variables:
> socketAddress: #[127 0 1 1]
> flags: 1
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> SocketAddress>>hostNumber
> Receiver: #[127 0 1 1]
> Arguments and temporary variables:
> size: nil
> name: nil
> Receiver's instance variables:
> #[127 0 1 1]
>
> [] in Socket>>connectTo:port:waitForConnectionFor:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> hostAddress: #[127 0 1 1]
> port: 1316
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> Socket>>waitForConnectionFor:ifTimedOut:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> timeout: 5
> timeoutBlock: [closure] in Socket>>connectTo:port:waitForConnectionFor:
> startTime: 66537
> msecsDelta: 5000
> msecsEllapsed: nil
> status: 0
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> Socket>>connectTo:port:waitForConnectionFor:
> Receiver: a Socket[unconnected]
> Arguments and temporary variables:
> hostAddress: #[127 0 1 1]
> port: 1316
> timeout: 5
> Receiver's instance variables:
> semaphore: a Semaphore()
> socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
> readSemaphore: a Semaphore()
> writeSemaphore: a Semaphore()
> primitiveOnlySupportsOneSemaphore: false
>
> [] in MaNetworkTestPlayerFacade>>isReady
> Receiver: a MaNetworkTestPlayerFacade
> Arguments and temporary variables:
> socket: #(nil)
> Receiver's instance variables:
> link: a MaNetworkServerLink chrisT60p:1316
> name: 'server'
> testCaseClass: MagmaTestCase
>
> BlockClosure>>on:do:
> Receiver: [closure] in MaNetworkTestPlayerFacade>>isReady
> Arguments and temporary variables:
> exception: ConnectionTimedOut
> handlerAction: [closure] in MaNetworkTestPlayerFacade>>isReady
> handlerActive: true
> Receiver's instance variables:
> outerContext: MaNetworkTestPlayerFacade>>isReady
> startpc: 85
> numArgs: 0
>
> MaNetworkTestPlayerFacade>>isReady
> Receiver: a MaNetworkTestPlayerFacade
> Arguments and temporary variables:
> socket: #(nil)
> Receiver's instance variables:
> link: a MaNetworkServerLink chrisT60p:1316
> name: 'server'
> testCaseClass: MagmaTestCase
>
> [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
> each: a MaNetworkTestPlayerFacade
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> [] in Dictionary(Collection)>>allSatisfy:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: a MaNetworkTestPlayerFacade
> each: [closure] in MagmaTestCase class(MaNetworkTestCase
> class)>>waitForPlayerI...etc...
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> [] in Dictionary>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: 'server'->a MaNetworkTestPlayerFacade
> assoc: [closure] in Dictionary(Collection)>>allSatisfy:
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary(Set)>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in Dictionary>>do:
> index: 4
> each: 'server'->a MaNetworkTestPlayerFacade
> indexLimiT: 5
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary>>do:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in Dictionary(Collection)>>allSatisfy:
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> Dictionary(Collection)>>allSatisfy:
> Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
> 'client2'->a MaNetworkTestPlayerFacad...etc...
> Arguments and temporary variables:
> aBlock: [closure] in MagmaTestCase class(MaNetworkTestCase
> class)>>waitForPlaye...etc...
> Receiver's instance variables:
> tally: 4
> array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
> MaNetworkTes...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class>>launchPlayerImages
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase class>>setUpSuite
> Receiver: MagmaTestCase
> Arguments and temporary variables:
>
> Receiver's instance variables:
> superclass: MaNetworkTestCase
> methodDict: a MethodDictionary(size 184)
> format: 162
> instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
> organization: ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
> subclasses: {MagmaCollectionTester}
> name: #MagmaTestCase
> classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
> #MagmaServerAd...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Magma tester-SUnit tests'
> traitComposition: {}
> localSelectors: nil
> history: a Dictionary(#errors->a Set() #failures->a Set()
> #passed->a Set() #tim...etc...
>
> MagmaTestCase(MaTestCase)>>setUpSuite
> Receiver: MagmaTestCase>>#testAdvance
> Arguments and temporary variables:
>
> Receiver's instance variables:
> testSelector: #testAdvance
> magmaConsole: nil
> peerConsole: nil
> clientSession: nil
> localRoot: a Dictionary()
> proxy: nil
> original34990: nil
> forwardRecoverySignaled: false
> timeToVerifyRestore: false
> shouldStopGeneratingSequenceNumbers: nil
> sequenceNumbers: nil
> dormantObject: nil
> objectToAdvance: nil
> forwardRecoveryRequirement: nil
> shouldStopFlooding: false
> refreshTestFixture: nil
>
> [] in [] in TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
>
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> Arguments and temporary variables:
> exception: MaNotification
> handlerAction: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
> handlerActive: true
> Receiver's instance variables:
> outerContext: [] in TestSuite>>maExecuteTestsUsing:result:
> startpc: 110
> numArgs: 0
>
> [] in TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> shouldRunTests: nil
> durationToRun: nil
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>ensure:
> Receiver: [closure] in TestSuite>>maExecuteTestsUsing:result:
> Arguments and temporary variables:
> aBlock: [closure] in TestSuite>>maExecuteTestsUsing:result:
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: TestSuite>>maExecuteTestsUsing:result:
> startpc: 104
> numArgs: 0
>
> TestSuite>>maExecuteTestsUsing:result:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> TestSuite>>maDebug:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
> errors, 0 unexpect...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> [] in TestSuite>>maRunUsing:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> 0 unexpecte...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> BlockClosure>>ensure:
> Receiver: [closure] in TestSuite>>maRunUsing:
> Arguments and temporary variables:
> aBlock: [closure] in TestSuite>>maRunUsing:
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: TestSuite>>maRunUsing:
> startpc: 42
> numArgs: 0
>
> TestSuite>>maRunUsing:
> Receiver: a TestSuite
> Arguments and temporary variables:
> aSymbol: #maDebug:
> result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
> 0 unexpecte...etc...
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> TestSuite>>maDebug
> Receiver: a TestSuite
> Arguments and temporary variables:
>
> Receiver's instance variables:
> tests: an OrderedCollection(MagmaTestCase>>#testAdvance
> MagmaTestCase>>#testBlo...etc...
> resources: nil
> name: nil
>
> UndefinedObject>>DoIt
> Receiver: nil
> Arguments and temporary variables:
>
> Receiver's instance variables:
> nil
>
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> Receiver: a Compiler
> Arguments and temporary variables:
> textOrStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> ...etc...
> aContext: nil
> receiver: nil
> aRequestor: a TextMorphForShoutEditor
> failBlock: [closure] in [] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluat...etc...
> logFlag: true
> methodNode: DoIt
> ^ MagmaTestCase fullSuite maDebug
> method: a CompiledMethod(1314: UndefinedObject>>DoIt)
> value: nil
> toLog: nil
> itsSelection: nil
> itsSelectionString: nil
> Receiver's instance variables:
> sourceStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> ...etc...
> requestor: a TextMorphForShoutEditor
> class: UndefinedObject
> category: nil
> context: nil
> parser: a Parser
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
> rcvr: nil
> ctxt: nil
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Arguments and temporary variables:
> exception: OutOfScopeNotification
> handlerAction: [closure] in
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext: TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> startpc: 116
> numArgs: 0
>
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
> result: nil
> rcvr: nil
> ctxt: nil
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
>
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> Receiver: a TextMorphForShoutEditor
> Arguments and temporary variables:
>
> Receiver's instance variables:
> model: a SHWorkspace
> paragraph: a MultiNewParagraph
> startBlock: a CharacterBlock with index 78 and character Character
> cr and recta...etc...
> stopBlock: a CharacterBlock with index 47 and character $M and
> rectangle 0@56 c...etc...
> beginTypeInBlock: nil
> emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
> initialText: a Text for 'MaObjectSerializerTestCase suite
>
> OSProcess
>
> MagmaTes...etc...
> selectionShowing: false
> otherInterval: (75 to: 74)
> lastParentLocation: nil
> morph: a TextMorphForShout(1009)
> oldInterval: (75 to: 74)
> pivotBlock: a CharacterBlock with index 66 and character $u and
> rectangle 119@5...etc...
> inBackTo: nil
>
>
> --- The full stack ---
> NetNameResolver class(Object)>>error:
> NetNameResolver class(Object)>>primitiveFailed
> NetNameResolver class>>primGetNameInfo:flags:
> SocketAddress>>hostNumber
> [] in Socket>>connectTo:port:waitForConnectionFor:
> Socket>>waitForConnectionFor:ifTimedOut:
> Socket>>connectTo:port:waitForConnectionFor:
> [] in MaNetworkTestPlayerFacade>>isReady
> BlockClosure>>on:do:
> MaNetworkTestPlayerFacade>>isReady
> [] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> [] in Dictionary(Collection)>>allSatisfy:
> [] in Dictionary>>do:
> Dictionary(Set)>>do:
> Dictionary>>do:
> Dictionary(Collection)>>allSatisfy:
> MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
> MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
> MagmaTestCase class>>launchPlayerImages
> MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
> MagmaTestCase class>>setUpSuite
> MagmaTestCase(MaTestCase)>>setUpSuite
> [] in [] in TestSuite>>maExecuteTestsUsing:result:
> BlockClosure>>on:do:
> [] in TestSuite>>maExecuteTestsUsing:result:
> BlockClosure>>ensure:
> TestSuite>>maExecuteTestsUsing:result:
> TestSuite>>maDebug:
> [] in TestSuite>>maRunUsing:
> BlockClosure>>ensure:
> TestSuite>>maRunUsing:
> TestSuite>>maDebug
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> BlockClosure>>on:do:
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> - - - - - - - - - - - - - - -
> - - - - - - - - - - - - - - - - - -
> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
> TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
> TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
> [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleInteraction:
> TextMorphForShout(TextMorphForEditView)>>handleInteraction:
> [] in TextMorphForShout(TextMorph)>>keyStroke:
> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
> TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorphForEditView)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForShout(Morph)>>handleEvent:
> TextMorphForShout(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear:
> [] in PasteUpMorph>>becomeActiveDuring:
> BlockClosure>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess
> [] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
>
> On Sun, Feb 14, 2010 at 2:14 PM, Adrian Lienhard<adi(a)netstyle.ch> wrote:
>
>> http://code.google.com/p/pharo/issues/detail?id=1884
>>
>> This issue probably is the last obstacle for the 1.0 release. I've added the following comment:
>>
>> ---------
>>
>> The preference proposed by Miguel does not solve the problem but puts the burden on the user that needs to change the preference depending on which implementation works for him. This will lead to many questions and frustrated users. If possible, I'd prefer to make the legacy IPv4 implementation work again until we have a proper IPv6 implementation.
>>
>> The problem with printing "NetNameResolver addressForName: 'www.yahoo.com'" is not that the resolution does not work correctly but that the printOn: implementation of SocketAddress assumes an IPv6 address. I suggest to change the SocketAddress>>printOn: as follows. Maybe it's just this simple change to makes IPv4 work again -- maybe more such backward compatibility code is needed.
>>
>> SocketAddress>>printOn: aStream
>> NetNameResolver useOldNetwork ifTrue: [ ^ super printOn: aStream ].
>>
>> aStream
>> nextPutAll: self hostNumber;
>> nextPut: $(; nextPutAll: self hostName; nextPut: $);
>> nextPut: $,;
>> nextPutAll: self serviceNumber;
>> nextPut: $(; nextPutAll: self serviceName; nextPut: $)
>>
>> ---------
>>
>> This change makes #addressForName: work again with useOldNetwork set to true (as it is in recent PharoCore 1.0 images).
>>
>> Could people that experience problems with the network code update this method and check out if other parts break?
>>
>> Cheers,
>> Adrian
>>
>> ___________________
>> http://www.adrian-lienhard.ch/
>>
>>
>> _______________________________________________
>> 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
--
Dave Woodward
...................................................
www.promedmedical.net
317.332.6438
davewoodward(a)promedmedical.net
Feb. 17, 2010
Re: [Pharo-project] [Slightly OT] Integers smarter than me today
by Schwab,Wilhelm K
Thanks for bringing this up - yes, David's(??) suggestion did the trick. Beyond that, the key to figuring it out was making dot plots of the data stream so I could see the patterns. There is still an unresolved question or two, but I appear to be getting data, and "the monkey on on their back" as a friend of mine would say.
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Matthias Berth
Sent: Wednesday, February 17, 2010 3:42 PM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] [Slightly OT] Integers smarter than me today
I guess your problem is already solved, but I could not resist ;)
So you have 2^12 = 4096 possible 16 bit words? May I suggest a brute force solution? Make an Array with 2^16 entries to do the translation from 16 bit words to signed values like this:
signedValue := translationArray at: word
You can make a small script to fill the array. The advantage is that you can check the array's contents to see if you are doing the right thing. If your 2s complement theory should not work out then it is easy to change.
HTH
Matthias
On Thu, Feb 11, 2010 at 10:53 PM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu> wrote:
> Hello all,
>
> I am trying to make a recognizer for a communication protocol that has very likely been errantly documented. Â Such tasks can be difficult enough with good docs, but I'm not even sure what is supposed to be happening, so it is really interesting.
>
> One of the things that I **think** is happening, is that 12-bit two's complement data is included at one point in the stream. Â The bits are spread over a 16 bit word. Â Let's assume that I can correctly gather the 12 bits together. Â Could some kind soul suggest how to go from the resulting SmallInteger to the correct signed value? Â Smalltalk is adding a wrinkle that I am not sure how to handle: should I set the "missing" bits to 1? Â Out to bit 31?
>
> Any pointers/suggestions would be greatly appreciated.
>
> Bill
>
> _______________________________________________
> 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
Feb. 17, 2010
Re: [Pharo-project] [Slightly OT] Integers smarter than me today
by Matthias Berth
I guess your problem is already solved, but I could not resist ;)
So you have 2^12 = 4096 possible 16 bit words? May I suggest a brute
force solution? Make an Array with 2^16 entries to do the translation
from 16 bit words to signed values like this:
signedValue := translationArray at: word
You can make a small script to fill the array. The advantage is that
you can check the array's contents to see if you are doing the right
thing. If your 2s complement theory should not work out then it is
easy to change.
HTH
Matthias
On Thu, Feb 11, 2010 at 10:53 PM, Schwab,Wilhelm K
<bschwab(a)anest.ufl.edu> wrote:
> Hello all,
>
> I am trying to make a recognizer for a communication protocol that has very likely been errantly documented. Â Such tasks can be difficult enough with good docs, but I'm not even sure what is supposed to be happening, so it is really interesting.
>
> One of the things that I **think** is happening, is that 12-bit two's complement data is included at one point in the stream. Â The bits are spread over a 16 bit word. Â Let's assume that I can correctly gather the 12 bits together. Â Could some kind soul suggest how to go from the resulting SmallInteger to the correct signed value? Â Smalltalk is adding a wrinkle that I am not sure how to handle: should I set the "missing" bits to 1? Â Out to bit 31?
>
> Any pointers/suggestions would be greatly appreciated.
>
> Bill
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 17, 2010
Re: [Pharo-project] {Spam?} Re: "Real" packages.
by Esteban Lorenzano
Well... I disagree with you, Mariano. If you allow packages, suddenly
you will have things like:
com.pirulo.Date,
ar.com.pirulin.Date
and a lot of classes who, in fact, should be just Date
(and that's just an example)
Cheers,
Esteban
On 2009-02-11 12:13:07 -0300, Mariano Martinez Peck
<marianopeck(a)gmail.com> said:
>
>
> I hate not having a real namespace. I hate to call my class DBXConnection
> instead of Connection. I think namespaces are very useful. Something like
> Java packages or similar would be grate for me.
>
> Cheers,
>
> Mariano
>
> On Tue, Feb 10, 2009 at 7:09 PM, Travis Kay
> <tlk(a)nb.sympatico.ca> wrote:
>
>> Bill Schwab wrote:
>>> Stef,
>>>
>>> Re Dolphin, class categories have long been of marginal use; I'll speak
>> for myself on that but suspect others would agree.
>> I am a Dolphin Pro, Squeak and Pharo users, I agree.
>>
>> Travis
>>
>>> Packages are of course extremely useful. Method categories are also
>> quite useful, and Dolphin allows multiple categories to be assigned to a
>> given method. Dolphin mixes virtual categories (computed by rules) with
>> static ones maintained by the user (and serialized as part of packages).
>>>
>>> I can easily see where OB would get quite a speed boost out of it.
>>>
>>> Bill
>>>
>>>
>>>
>>>
>>>
>>> Wilhelm K. Schwab, Ph.D.
>>> University of Florida
>>> Department of Anesthesiology
>>> PO Box 100254
>>> Gainesville, FL 32610-0254
>>>
>>> Email: bschwab(a)anest.ufl.edu
>>> Tel: (352) 273-6785
>>> FAX: (352) 392-7029
>>>
>>>
>>>
>>>>>> stephane.ducasse(a)inria.fr 2/10/2009 4:41:10 PM >>>
>>>>>>
>>> Alexandre implemented long time ago an hybrid model where both kind of
>>> packages could coexist
>>> and we should probably revive it for 1.1
>>>
>>> Stef
>>> On Feb 10, 2009, at 10:28 PM, Michael van der Gulik wrote:
>>>
>>>
>>>> On Wed, Feb 11, 2009 at 9:21 AM, David R=F6thlisberger <squeak@webcita=
> s.ch
>>>>
>>>>> wrote:
>>>>>
>>>> So if we had real packages in Pharo as first class entities, OB
>>>> would be much faster
>>>> and simpler to maintain. Right now, OB models packages and class
>>>> cats itself, has to
>>>> take the information from both the Monticello's working copy
>>>> managers and the
>>>> SystemOrganizer. This is a mess and a huge pain, but what can we do.
>>>> We should really invest in bringing real packages to Pharo.
>>>>
>>>>
>>>> If you want "real" packages, I've implemented them in Squeak:
>>>>
>>>> http://gulik.pbwiki.com/Namespaces
>>>> http://gulik.pbwiki.com/Packages
>>>>
>>>> The places the code is held, including a video and a Squeak image is
>>>> linked from here:
>>>> http://gulik.pbwiki.com/SecureSqueak
>>>>
>>>> I'm not interested in Pharo, but the code is there and is released
>>>> under the MIT license if anybody else wants it.
>>>>
>>>> Gulik.
>>>>
>>>> --
>>>> http://people.squeakfoundation.org/person/mikevdg
>>>> http://gulik.pbwiki.com/
>>>> _______________________________________________
>>>> 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
>>> -----------------------------------------------------------------------=
> -
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG - www.avg.com
>>> Version: 8.0.233 / Virus Database: 270.10.20/1943 - Release Date:
>> 02/10/09 07:20:00
>>>
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> I hate not having a real namespace. I hate to call my class DBXConnection i=
> nstead of Connection. I think namespaces are very useful. Something like Ja=
> va packages or similar would be grate for me. <br><br>Cheers,<br><br>Marian=
> o<br>
> <br><div class=3D"gmail_quote">On Tue, Feb 10, 2009 at 7:09 PM, Travis Kay =
> <span dir=3D"ltr"><<a
> href=3D"mailto:tlk@nb.sympatico.ca">tlk-F7KtY6MJiVI/4Up/o1S3Qw(a)public.gmane.org=
co.ca</a>></span>
>
> wrote:<br><blockquote class=3D"gmail_quote" style=3D"b=
> order-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; paddin=
> g-left: 1ex;">
> <div class=3D"Ih2E3d">Bill Schwab wrote:<br>
> > Stef,<br>
> ><br>
> > Re Dolphin, class categories have long been of marginal use; I'll =
> speak for myself on that but suspect others would agree.<br>
> </div>I am a Dolphin Pro, Squeak and Pharo users, I agree.<br>
> <br>
> Travis<br>
> <div><div></div><div class=3D"Wj3C7c"><br>
> > Packages are of course extremely useful. Method categories are a=
> lso quite useful, and Dolphin allows multiple categories to be assigned to =
> a given method. Dolphin mixes virtual categories (computed by rules) =
> with static ones maintained by the user (and serialized as part of packages=
> ).<br>
>
> ><br>
> > I can easily see where OB would get quite a speed boost out of it.<br>
> ><br>
> > Bill<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > Wilhelm K. Schwab, Ph.D.<br>
> > University of Florida<br>
> > Department of Anesthesiology<br>
> > PO Box 100254<br>
> > Gainesville, FL 32610-0254<br>
> ><br>
> > Email: <a
> href=3D"mailto:bschwab@anest.ufl.edu">bschwab(a)anest.ufl.edu<=
/a><br>
>
>
> Tel: (352) 273-6785<br>
> > FAX: (352) 392-7029<br>
> ><br>
> ><br>
> ><br>
> >>>> <a
> href=3D"mailto:stephane.ducasse@inria.fr">stephane.duca=
sse(a)inria.fr</a>
>
> 2/10/2009 4:41:10 PM >>><br>
> >>>><br>
> > Alexandre implemented long time ago an hybrid model where both kind of=
> <br>
> > packages could coexist<br>
> > and we should probably revive it for 1.1<br>
> ><br>
> > Stef<br>
> > On Feb 10, 2009, at 10:28 PM, Michael van der Gulik wrote:<br>
> ><br>
> ><br>
> >> On Wed, Feb 11, 2009 at 9:21 AM, David R=F6thlisberger <squeak@=
> webcitas.ch<br>
> >><br>
> >>> wrote:<br>
> >>><br>
> >> So if we had real packages in Pharo as first class entities, OB<br=
>>
> >> would be much faster<br>
> >> and simpler to maintain. Right now, OB models packages and class<b=
> r>
> >> cats itself, has to<br>
> >> take the information from both the Monticello's working copy<b=
> r>
> >> managers and the<br>
> >> SystemOrganizer. This is a mess and a huge pain, but what can we d=
> o.<br>
> >> We should really invest in bringing real packages to Pharo.<br>
> >><br>
> >><br>
> >> If you want "real" packages, I've implemented them i=
> n Squeak:<br>
> >><br>
> >> <a href=3D"http://gulik.pbwiki.com/Namespaces" target=3D"_blank">h=
> ttp://gulik.pbwiki.com/Namespaces</a><br>
> >> <a href=3D"http://gulik.pbwiki.com/Packages" target=3D"_blank">htt=
> p://gulik.pbwiki.com/Packages</a><br>
> >><br>
> >> The places the code is held, including a video and a Squeak image =
> is<br>
> >> linked from here:<br>
> >> <a href=3D"http://gulik.pbwiki.com/SecureSqueak" target=3D"_blank"=
>> http://gulik.pbwiki.com/SecureSqueak</a><br>
> >><br>
> >> I'm not interested in Pharo, but the code is there and is rele=
> ased<br>
> >> under the MIT license if anybody else wants it.<br>
> >><br>
> >> Gulik.<br>
> >><br>
> >> --<br>
> >> <a href=3D"http://people.squeakfoundation.org/person/mikevdg" targ=
> et=3D"_blank">http://people.squeakfoundation.org/person/mikevdg</a><br>
> >> <a href=3D"http://gulik.pbwiki.com/" target=3D"_blank">http://guli=
> k.pbwiki.com/</a><br>
> >> _______________________________________________<br>
> >> Pharo-project mailing list<br>
> >> <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-proje=
ct(a)lists.gforge.inria.fr</a><br>
>>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/p=
> haro-project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailma=
> n/listinfo/pharo-project</a><br>
> >><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > Pharo-project mailing list<br>
> > <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project@l=
ists.gforge.inria.fr</a><br>
>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo=
> -project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/li=
> stinfo/pharo-project</a><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > Pharo-project mailing list<br>
> > <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project@l=
ists.gforge.inria.fr</a><br>
>
>
> <a href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo=
> -project" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/li=
> stinfo/pharo-project</a><br>
> </div></div>> ----------------------------------------------------------=
> --------------<br>
> ><br>
> ><br>
> > No virus found in this incoming message.<br>
> > Checked by AVG - <a href=3D"http://www.avg.com" target=3D"_blank">www.=
> avg.com</a><br>
> > Version: 8.0.233 / Virus Database: 270.10.20/1943 - Release Date: 02/1=
> 0/09 07:20:00<br>
> <div><div></div><div class=3D"Wj3C7c">><br>
> ><br>
> <br>
> <br>
> _______________________________________________<br>
> Pharo-project mailing list<br>
> <a
> href=3D"mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project(a)lists.=
gforge.inria.fr</a><br>
<a
>
> href=3D"http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-proj=
> ect" target=3D"_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/listinf=
> o/pharo-project</a><br>
> </div></div></blockquote></div><br>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Feb. 17, 2010
Re: [Pharo-project] [Seaside-dev] GROrderedCollectionTest>>#testSort
by Lukas Renggli
> 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, OrderedCollection and ArrayedCollection (already covered). For
all other subclasses the sort method does not make sense.
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
Feb. 17, 2010