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
January 2012
- 118 participants
- 1442 messages
Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
by dimitris chloupis
I am not accusing you or anything , I know writing documentation can be both hard and boring. And if I can help to make it simpler I will.Â
Back to building , followed your instruction andÂ
"
Gofer new
 squeaksource: 'MetacelloRepository';
 package: 'ConfigurationOfVMMaker';
 load.
(Smalltalk at: #ConfigurationOfVMMaker) perform: #load."
gives me the following error
29 January 2012 11:56:20 am
VM: Mac OS - intel - 1072 - NBCoInterpreter NativeBoost-CogPlugin-IgorStasenko.8 uuid: f47ef546-de3d-4415-850e-6437d67bfb5c Dec 11 2011, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid: 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Dec 11 2011, https://git.gitorious.org/cogvm/blessed.git Commit: 364a7f1fab69798c1bdc9575ba15e18ea319585a Date: Sun Dec 11 15:17:52 2011 -0300 By: Esteban Lorenzano <estebanlm(a)gmail.com>
Image: Pharo1.4a [Latest update: #14284]
UndefinedObject(Object)>>doesNotUnderstand: #readStream
Receiver: nil
Arguments and temporary variables:Â
aMessage: readStream
exception: MessageNotUnderstood: receiver of "readStream" is nil
resumeValue: nil
Receiver's instance variables:Â
nil
MCScanner class>>scanTokens:
Receiver: MCScanner
Arguments and temporary variables:Â
aString: nil
Receiver's instance variables:Â
superclass: Object
methodDict: a MethodDictionary(#next->(MCScanner>>#next "a CompiledMethod(84410...etc...
format: 132
instanceVariables: #('stream')
organization: ('as yet unclassified' next nextArray nextString nextSymbol strea...etc...
subclasses: nil
name: #MCScanner
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Monticello-Chunk Format'
traitComposition: {}
localSelectors: nil
MCMczReader>>parseMember:
Receiver: a MCMczReader
Arguments and temporary variables:Â
fileName: 'package'
tokens: nil
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
MCMczReader>>loadPackage
Receiver: a MCMczReader
Arguments and temporary variables:Â
dict: nil
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
MCMczReader(MCVersionReader)>>package
Receiver: a MCMczReader
Arguments and temporary variables:Â
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
MCMczReader(MCVersionReader)>>basicVersion
Receiver: a MCMczReader
Arguments and temporary variables:Â
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
MCMczReader(MCVersionReader)>>version
Receiver: a MCMczReader
Arguments and temporary variables:Â
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
[:r | r version] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
Receiver: a MCHttpRepository(http://source.impara.de/freetype)
Arguments and temporary variables:Â
r: a MCMczReader
Receiver's instance variables:Â
creationTemplate: nil
storeDiffs: nil
cache: nil
allFileNames: nil
location: 'http://source.impara.de/freetype'
user: ''
password: ''
readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
BlockClosure>>cull:
Receiver: [:r | r version]
Arguments and temporary variables:Â
anArg: a MCMczReader
Receiver's instance variables:Â
outerContext: MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed...etc...
startpc: 27
numArgs: 1
MCMczReader(ProtoObject)>>ifNotNil:
Receiver: a MCMczReader
Arguments and temporary variables:Â
ifNotNilBlock: [:r | r version]
Receiver's instance variables:Â
stream: a ReadStream
package: nil
info: nil
definitions: nil
dependencies: nil
zip: a ZipArchive
infoCache: nil
MCHttpRepository>>versionReaderForFileNamed:do:
Receiver: a MCHttpRepository(http://source.impara.de/freetype)
Arguments and temporary variables:Â
aString: 'Freetype-Plugin-John M McIntosh.55.mcz'
aBlock: [:r | r version]
Receiver's instance variables:Â
creationTemplate: nil
storeDiffs: nil
cache: nil
allFileNames: nil
location: 'http://source.impara.de/freetype'
user: ''
password: ''
readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
Receiver: a MCHttpRepository(http://source.impara.de/freetype)
Arguments and temporary variables:Â
aString: 'Freetype-Plugin-John M McIntosh.55.mcz'
Receiver's instance variables:Â
creationTemplate: nil
storeDiffs: nil
cache: nil
allFileNames: nil
location: 'http://source.impara.de/freetype'
user: ''
password: ''
readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom:
Receiver: a MCHttpRepository(http://source.impara.de/freetype)
Arguments and temporary variables:Â
aVersionReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plu...etc...
Receiver's instance variables:Â
creationTemplate: nil
storeDiffs: nil
cache: nil
allFileNames: nil
location: 'http://source.impara.de/freetype'
user: ''
password: ''
readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
Receiver: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M McIntosh.55'
Arguments and temporary variables:Â
Receiver's instance variables:Â
name: 'Freetype-Plugin-John M McIntosh.55'
package: 'Freetype-Plugin'
author: 'John M McIntosh'
branch: ''
versionNumber: 55
repository: a MCHttpRepository(http://source.impara.de/freetype)
cachedVersion: nil
MetacelloCachingGoferResolvedReference>>version
Receiver: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M McIntosh.55'
Arguments and temporary variables:Â
Receiver's instance variables:Â
name: 'Freetype-Plugin-John M McIntosh.55'
package: 'Freetype-Plugin'
author: 'John M McIntosh'
branch: ''
versionNumber: 55
repository: a MCHttpRepository(http://source.impara.de/freetype)
cachedVersion: nil
[:each | each version] in [aCollection
do: [:each | each version].
nearestReference version dependencies do: block.
notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker]
load : FFI-Poo...etc...
Arguments and temporary variables:Â
each: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M Mc...etc...
Receiver's instance variables:Â
spec: a MetacelloMCVersionSpecLoader
operator: nil
loaderPolicy: a MetacelloLoaderPolicy
disablePackageCache: false
OrderedCollection>>do:
Receiver: an OrderedCollection(a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John ...etc...
Arguments and temporary variables:Â
aBlock: [:each | each version]
index: 1
Receiver's instance variables:Â
array: an Array(a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin...etc...
firstIndex: 1
lastIndex: 1
[aCollection
do: [:each | each version].
nearestReference version dependencies do: block.
notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker]
load : FFI-Poo...etc...
Arguments and temporary variables:Â
<<error during printing>
Receiver's instance variables:Â
spec: a MetacelloMCVersionSpecLoader
operator: nil
loaderPolicy: a MetacelloLoaderPolicy
disablePackageCache: false
BlockClosure>>on:do:
Receiver: [aCollection
do: [:each | each version].
nearestReference version dependencies do: bloc...etc...
Arguments and temporary variables:Â
exception: Error
handlerAction: [:ex |Â
retryCount := retryCount + 1.
retryCount >= 3
ifTrue:...etc...
handlerActive: false
Receiver's instance variables:Â
outerContext: MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
startpc: 226
numArgs: 0
MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker]
load : FFI-Poo...etc...
Arguments and temporary variables:Â
<<error during printing>
Receiver's instance variables:Â
spec: a MetacelloMCVersionSpecLoader
operator: nil
loaderPolicy: a MetacelloLoaderPolicy
disablePackageCache: false
[| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion |
self flag: #cleanup.
cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self loaderPolicy cacheGofer.
(cachedReference ~~ nil
and: [packageSpec getFile ~~ nil])
ifTrue: [cachedReference name = packageSpec file
ifTrue: [^ self]].
references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer.
nearestReference := references last asMetacelloCachingResolvedReference.
(cachedReference ~~ nil
and: [cachedReference name = nearestReference name])
ifTrue: [^ self].
(self ignoreImage not
and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
ifTrue: [loadedVersionInfos
do: [:info |Â
info name = nearestReference name
ifTrue: [^ self].
nil]].
externalReference := (references
select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference.
self repositoryMap at: externalReference name put: externalReference repository.
(self
resolveDependencies: externalReference
nearest: nearestReference
into: (OrderedCollection with: nearestReference))
do: [:reference |Â
| pSpec l |
mcVersion := reference version.
(l := (GoferVersionReference name: reference name)
resolveAllWith: self loaderPolicy cacheGofer) isEmpty
ifTrue: [self cacheRepository storeVersion: mcVersion.
reference == nearestReference
ifTrue: [pSpec := packageSpec]
ifFalse: [pSpec := packageSpec project packageSpec.
pSpec name: mcVersion info].
self loadData
addVersion: mcVersion
versionInfo: mcVersion info
resolvedReference: reference
packageSpec: pSpec]].
self loaderPolicy resetCacheGofer.
self preLoad: packageSpec.
(MetacelloDirective
loadPackage: packageSpec
externalReference: externalReference
loader: self)
addTo: self loadDirective.
self postLoad: packageSpec.
Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker]
load : FFI-Poo...etc...
Arguments and temporary variables:Â
packageSpec: specÂ
name: 'Freetype-Plugin';
requires: #('VMMaker' );
file: '...etc...
gofer: a MetacelloGofer
references: an Array(a GoferResolvedReference name: 'Freetype-Plugin-John M McI...etc...
nearestReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plug...etc...
cachedReference: nil
externalReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plu...etc...
loadedVersionInfos: nil
mcVersion: #(nil)
Receiver's instance variables:Â
spec: a MetacelloMCVersionSpecLoader
operator: nil
loaderPolicy: a MetacelloLoaderPolicy
disablePackageCache: false
[:bar |Â
bar value: 1.
aBlock value.
bar value: 2] in MetacelloPharoPlatform>>do:displaying:
Receiver: a MetacelloPharoPlatform
Arguments and temporary variables:Â
aBlock: [:barValArg |Â
| barVal return newBarSize |
barVal := barValArg.
retur...etc...
bar: [| references nearestReference cachedReference externalReference loadedVer...etc...
Receiver's instance variables:Â
bypassProgressBars: false
bypassGoferLoadUpdateCategories: false
[result := workBlock value: progress] in [[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
progress: [:barValArg |Â
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
BlockClosure>>on:do:
Receiver: [result := workBlock value: progress]
Arguments and temporary variables:Â
exception: ProgressNotification
handlerAction: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph un...etc...
handlerActive: true
Receiver's instance variables:Â
outerContext: [[result := workBlock value: progress]
on: ProgressNotification...etc...
startpc: 87
numArgs: 0
[[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
progress: [:barValArg |Â
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
BlockClosure>>ensure:
Receiver: [[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extr...etc...
Arguments and temporary variables:Â
aBlock: [SystemProgressMorph close: progress]
complete: nil
returnValue: nil
Receiver's instance variables:Â
outerContext: ProgressInitiationException>>defaultMorphicAction
startpc: 81
numArgs: 0
ProgressInitiationException>>defaultMorphicAction
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
progress: [:barValArg |Â
| barVal return newBarSize |
barVal := barValArg.
ret...etc...
result: #(nil)
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
MorphicUIManager>>progressInitiationExceptionDefaultAction:
Receiver: a MorphicUIManager
Arguments and temporary variables:Â
anException: ProgressInitiationException
Receiver's instance variables:Â
interactiveParser: nil
ProgressInitiationException>>defaultAction
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
UndefinedObject>>handleSignal:
Receiver: nil
Arguments and temporary variables:Â
exception: ProgressInitiationException
Receiver's instance variables:Â
nil
MethodContext(ContextPart)>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:Â
exception: ProgressInitiationException
val: nil
Receiver's instance variables:Â
sender: PasteUpMorph>>becomeActiveDuring:
pc: 17
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
closureOrNil: nil
receiver: [aBlock value]
MethodContext(ContextPart)>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:Â
exception: ProgressInitiationException
val: nil
Receiver's instance variables:Â
sender: SmalltalkEditor>>evaluateSelectionAndDo:
pc: 17
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
closureOrNil: nil
receiver: [rcvr class evaluatorClass new
evaluate: self selectionForDoitAsStr...etc...
MethodContext(ContextPart)>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:Â
exception: ProgressInitiationException
val: nil
Receiver's instance variables:Â
sender: [[result := workBlock value: progress]
on: ProgressNotification
do:...etc...
pc: 17
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
closureOrNil: nil
receiver: [result := workBlock value: progress]
MethodContext(ContextPart)>>handleSignal:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:Â
exception: ProgressInitiationException
val: nil
Receiver's instance variables:Â
sender: MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultD...etc...
pc: 17
stackp: 3
method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)")
closureOrNil: nil
receiver: [^ aBlock value: dict]
ProgressInitiationException(Exception)>>signal
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
ProgressInitiationException>>display:at:from:to:during:
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
argString: 'Fetching Freetype-Plugin-John M McIntosh.55'
argPoint: (635@231)
argMinVal: 0
argMaxVal: 2
argWorkBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
Receiver's instance variables:Â
messageText: nil
tag: nil
signaler: 'Fetching Freetype-Plugin-John M McIntosh.55'
signalContext: ProgressInitiationException(Exception)>>signal
handlerContext: nil
outerContext: nil
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
maxVal: 2
minVal: 0
aPoint: (635@231)
progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
ProgressInitiationException class>>display:at:from:to:during:
Receiver: ProgressInitiationException
Arguments and temporary variables:Â
aString: 'Fetching Freetype-Plugin-John M McIntosh.55'
aPoint: (635@231)
minVal: 0
maxVal: 2
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
Receiver's instance variables:Â
superclass: Exception
methodDict: a MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
format: 152
instanceVariables: #('workBlock' 'maxVal' 'minVal' 'aPoint' 'progressTitle')
organization: ('*Morphic' defaultMorphicAction)
('accessing' maxVal minVal poin...etc...
subclasses: nil
name: #ProgressInitiationException
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'UIManager-Support'
traitComposition: nil
localSelectors: nil
ByteString(String)>>displayProgressAt:from:to:during:
Receiver: 'Fetching Freetype-Plugin-John M McIntosh.55'
Arguments and temporary variables:Â
aPoint: (635@231)
minVal: 0
maxVal: 2
workBlock: [:bar |Â
bar value: 1.
aBlock value.
bar value: 2]
Receiver's instance variables:Â
'Fetching Freetype-Plugin-John M McIntosh.55'
MetacelloPharoPlatform>>do:displaying:
Receiver: a MetacelloPharoPlatform
Arguments and temporary variables:Â
aBlock: [| references nearestReference cachedReference externalReference loaded...etc...
aString: 'Fetching Freetype-Plugin-John M McIntosh.55'
Receiver's instance variables:Â
bypassProgressBars: false
bypassGoferLoadUpdateCategories: false
--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #readStream
MCScanner class>>scanTokens:
MCMczReader>>parseMember:
MCMczReader>>loadPackage
MCMczReader(MCVersionReader)>>package
MCMczReader(MCVersionReader)>>basicVersion
MCMczReader(MCVersionReader)>>version
[:r | r version] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
BlockClosure>>cull:
MCMczReader(ProtoObject)>>ifNotNil:
MCHttpRepository>>versionReaderForFileNamed:do:
MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom:
MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
MetacelloCachingGoferResolvedReference>>version
[:each | each version] in [aCollection
do: [:each | each version].
nearestReference version dependencies do: block.
notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
OrderedCollection>>do:
[aCollection
do: [:each | each version].
nearestReference version dependencies do: block.
notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
BlockClosure>>on:do:
MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
[| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion |
self flag: #cleanup.
cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self loaderPolicy cacheGofer.
(cachedReference ~~ nil
and: [packageSpec getFile ~~ nil])
ifTrue: [cachedReference name = packageSpec file
ifTrue: [^ self]].
references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer.
nearestReference := references last asMetacelloCachingResolvedReference.
(cachedReference ~~ nil
and: [cachedReference name = nearestReference name])
ifTrue: [^ self].
(self ignoreImage not
and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil])
ifTrue: [loadedVersionInfos
do: [:info |Â
info name = nearestReference name
ifTrue: [^ self].
nil]].
externalReference := (references
select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference.
self repositoryMap at: externalReference name put: externalReference repository.
(self
resolveDependencies: externalReference
nearest: nearestReference
into: (OrderedCollection with: nearestReference))
do: [:reference |Â
| pSpec l |
mcVersion := reference version.
(l := (GoferVersionReference name: reference name)
resolveAllWith: self loaderPolicy cacheGofer) isEmpty
ifTrue: [self cacheRepository storeVersion: mcVersion.
reference == nearestReference
ifTrue: [pSpec := packageSpec]
ifFalse: [pSpec := packageSpec project packageSpec.
pSpec name: mcVersion info].
self loadData
addVersion: mcVersion
versionInfo: mcVersion info
resolvedReference: reference
packageSpec: pSpec]].
self loaderPolicy resetCacheGofer.
self preLoad: packageSpec.
(MetacelloDirective
loadPackage: packageSpec
externalReference: externalReference
loader: self)
addTo: self loadDirective.
self postLoad: packageSpec.
Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
[:bar |Â
bar value: 1.
aBlock value.
bar value: 2] in MetacelloPharoPlatform>>do:displaying:
[result := workBlock value: progress] in [[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>on:do:
[[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>ensure:
ProgressInitiationException>>defaultMorphicAction
MorphicUIManager>>progressInitiationExceptionDefaultAction:
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
MetacelloPharoPlatform>>do:displaying:
 - - - - - - - - - - - - - - - Â
- - - - - - - - - - - - - - - - - -
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
MetacelloPackageSpec>>loadUsing:gofer:
[:pkg | pkg loadUsing: self gofer: gofer] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
OrderedCollection>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
[super linearLoadPackageSpecs: packageSpecs repositories: repositories] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
BlockClosure>>ensure:
MetacelloLoaderPolicy>>pushLoadDirective:during:
MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load
MetacelloMCVersionSpecLoader>>load
MetacelloMCVersion>>executeLoadFromArray:
[:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec loader: newLoader.
MetacelloPlatform current
useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
MetacelloPlatform current
useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
defaultDictionary: Dictionary new]
ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray:
[^ aBlock value: dict] in MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
BlockClosure>>on:do:
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
[self versionSpec loader: newLoader.
MetacelloPlatform current
useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader.
MetacelloPlatform current
useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
defaultDictionary: Dictionary new]
ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray:
BlockClosure>>ensure:
[[self versionSpec loader: newLoader.
MetacelloPlatform current
useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray]
defaultDictionary: Dictionary new]
ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray:
[:bar |Â
bar value: 1.
aBlock value.
bar value: 2] in MetacelloPharoPlatform>>do:displaying:
[result := workBlock value: progress] in [[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>on:do:
[[result := workBlock value: progress]
on: ProgressNotification
do: [:ex |Â
ex extraParam isString
ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam].
ex resume]] in ProgressInitiationException>>defaultMorphicAction
BlockClosure>>ensure:
ProgressInitiationException>>defaultMorphicAction
MorphicUIManager>>progressInitiationExceptionDefaultAction:
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
MethodContext(ContextPart)>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
MetacelloPharoPlatform>>do:displaying:
MetacelloMCVersion>>fetchRequiredFromArray:
[| fetchLoader |
fetchLoader := self
fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
MetacelloPlatform current
do: [fetchLoader doLoad]
displaying: 'Loading ' , displayString.
Transcript cr; show: '...finished ' , self versionNumber printString.
^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray:
BlockClosure>>ensure:
MetacelloMCVersion>>doLoadRequiredFromArray:
MetacelloMCVersion>>load
ConfigurationOfVMMaker class>>load
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[rcvr class evaluatorClass new
evaluate: self selectionForDoitAsStream
in: ctxt
to: rcvr
notifying: self morph
ifFail: [self morph flash.
^ nil]
logged: true] in SmalltalkEditor>>evaluateSelectionAndDo:
BlockClosure>>on:do:
SmalltalkEditor>>evaluateSelectionAndDo:
SmalltalkEditor>>evaluateSelection
[textMorph editor evaluateSelection] in PluggableTextMorph>>doIt
[result := editBlock value] in PluggableTextMorph>>handleEdit:
TextMorphForEditView(TextMorph)>>handleEdit:
PluggableTextMorph>>handleEdit:
PluggableTextMorph>>doIt
Workspace(StringHolder)>>perform:orSendTo:
[| selArgCount |
(selArgCount := selector numArgs) = 0
ifTrue: [target perform: selector]
ifFalse: [selArgCount = arguments size
ifTrue: [target perform: selector withArguments: arguments]
ifFalse: [target
perform: selector
withArguments: (arguments copyWith: evt)]].
self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
ToggleMenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
ToggleMenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
handleFocusEvent: (anEvent
transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
[aBlock value] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[:h |Â
ActiveHand := h.
h processEvents.
ActiveHand := nil] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MenuMorph>>invokeModalAt:in:allowKeyboard:
MenuMorph>>invokeModal:
MenuMorph>>invokeModal
PluggableTextMorph>>yellowButtonActivity:
TextMorphForEditView>>mouseDown:
TextMorphForEditView(Morph)>>handleMouseDown:
MouseButtonEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
TextMorphForEditView(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
TransformMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PluggableTextMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
SystemWindow(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
PasteUpMorph>>processEvent:using:
PasteUpMorph(Morph)>>processEvent:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[:h |Â
ActiveHand := h.
h processEvents.
ActiveHand := nil] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[[World doOneCycle.
Processor yield.
false] whileFalse.
nil] in MorphicUIManager>>spawnNewProcess
[self value.
Processor terminateActive] in BlockClosure>>newProcess
________________________________
From: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
To: Pharo-project(a)lists.gforge.inria.fr; dimitris chloupis <thekilon(a)yahoo.co.uk>
Sent: Sunday, 29 January 2012, 11:39
Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
2012/1/29 dimitris chloupis <thekilon(a)yahoo.co.uk>:
> ok if you want me to install the latest I will install the latest , but
> there is no such documentation I am aware of how to do that .
>
> Can you help me ?
>
> Currently I have NBCog , Pharo-1.4 image and the latest from "Â git clone
> git://gitorious.org/cogvm/blessed.git"
>
> But I have no idea how to install the latest VMMaker and CMakeVMMaker
>
> I tried monticello giving it this adress
>
> MCHttpRepository
>Â Â location: 'http://www.squeaksource.com/VMMaker'
>Â Â user: ''
>Â Â password: ''
>
I agree with you, we are very very bad when it come to documenting how to...
To aggravate this situation, the ground is moving fast under our feet.
If you open above address in a web browser, you'll see this:
Effective 05-Sept-2011, the VMMaker repository is hosted at
http://source.squeak.org/VMMaker.html and new updates will appear in
that repository, possibly mirrored here for convenience. Please update
your Montecello browsers accordingly.
There is a Metacello invocation for loading all Pharo compatible or
Pharo specific packages maybe something like this (I'm not totally
sure, but Pharo gurus will correct me)
Gofer new
 squeaksource: 'MetacelloRepository';
 package: 'ConfigurationOfVMMaker';
 load.
(Smalltalk at: #ConfigurationOfVMMaker) perform: #load.
I don't have write access to these repositories, but I wish this
incantation were in the project description or the wiki of both pages
http://source.squeak.org/VMMaker.html and
http://www.squeaksource.com/VMMaker
I also see a notice about SVN, but nothing about the git repository...
I'm sure detailed instructions exist somewhere but a link should be
provided from the Monticello project page.
That's the least we should do, and not only for newbies (I often swear
like troopers when I loose my time searching the precious
information).
These little obstacles are repelling many people I guess, it's like we
should follow an initiation before we dare putting our dirty nose in
code.
I don't like this spirit, and I hope it's unintentional, but it's
totally contrary to Smalltalk foundations.
Nicolas
>
> Any package I click to load it gives me dependency issues and update package
> complains about a Bad
>
> Gateway
>
>
> Yes I got the very latest of XCode and I am open to any suggestion.
>
> ________________________________
> From: Igor Stasenko <siguctua(a)gmail.com>
> To: Pharo-project(a)lists.gforge.inria.fr
> Sent: Sunday, 29 January 2012, 1:00
> Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
>
>
>
> I don't know. But how do you know from his stackstrace that the problem is
> that ?
>
>
> i dont. :)
> i replied after seeing an Esteban's message saying that your post is
> outdated and one should use 3.9 config version.
> and couple days before we had someone who asking why NB-enabled VM fails to
> build for him,
> when he still using this magic
> Â ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') load.
>
> while when i was released an CMakeVMMaker configs for NB , it was already
> far beyond that version,
> and of course won't work with 1.5.
>
> --
> Best regards,
> Igor Stasenko.
>
>
Jan. 29, 2012
Re: [Pharo-project] Problems loading underscore assignments
by Lukas Renggli
Yes, the refactoring engine contains a code transformation that fixes
automatically and preserves all formatting. Just run Code Critics on
your package and apply the suggested transformations for
"Transformations > Underscore assignements should be avoided".
Again you must evaluate "Scanner allowUnderscoreAsAssignment: true"
before running Code Critics, otherwise the refactoring engine does not
parse methods with underscore assignments.
Lukas
On 29 January 2012 05:32, Sean P. DeNigris <sean(a)clipperadams.com> wrote:
> Is there a way for fix underscores via OB in lieu of the programmatic way
> shown at
> http://book.pharo-project.org/book/Tidbits/TipsAndTricks/FixingUnderscores ?
>
> --
> View this message in context: http://forum.world.st/Problems-loading-underscore-assignments-tp4337617p433…
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
--
Lukas Renggli
www.lukas-renggli.ch
Jan. 29, 2012
Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
by Nicolas Cellier
2012/1/29 dimitris chloupis <thekilon(a)yahoo.co.uk>:
> ok if you want me to install the latest I will install the latest , but
> there is no such documentation I am aware of how to do that .
>
> Can you help me ?
>
> Currently I have NBCog , Pharo-1.4 image and the latest from "Â git clone
> git://gitorious.org/cogvm/blessed.git"
>
> But I have no idea how to install the latest VMMaker and CMakeVMMaker
>
> I tried monticello giving it this adress
>
> MCHttpRepository
> location: 'http://www.squeaksource.com/VMMaker'
> user: ''
> password: ''
>
I agree with you, we are very very bad when it come to documenting how to...
To aggravate this situation, the ground is moving fast under our feet.
If you open above address in a web browser, you'll see this:
Effective 05-Sept-2011, the VMMaker repository is hosted at
http://source.squeak.org/VMMaker.html and new updates will appear in
that repository, possibly mirrored here for convenience. Please update
your Montecello browsers accordingly.
There is a Metacello invocation for loading all Pharo compatible or
Pharo specific packages maybe something like this (I'm not totally
sure, but Pharo gurus will correct me)
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfVMMaker';
load.
(Smalltalk at: #ConfigurationOfVMMaker) perform: #load.
I don't have write access to these repositories, but I wish this
incantation were in the project description or the wiki of both pages
http://source.squeak.org/VMMaker.html and
http://www.squeaksource.com/VMMaker
I also see a notice about SVN, but nothing about the git repository...
I'm sure detailed instructions exist somewhere but a link should be
provided from the Monticello project page.
That's the least we should do, and not only for newbies (I often swear
like troopers when I loose my time searching the precious
information).
These little obstacles are repelling many people I guess, it's like we
should follow an initiation before we dare putting our dirty nose in
code.
I don't like this spirit, and I hope it's unintentional, but it's
totally contrary to Smalltalk foundations.
Nicolas
>
> Any package I click to load it gives me dependency issues and update package
> complains about a Bad
>
> Gateway
>
>
> Yes I got the very latest of XCode and I am open to any suggestion.
>
> ________________________________
> From: Igor Stasenko <siguctua(a)gmail.com>
> To: Pharo-project(a)lists.gforge.inria.fr
> Sent: Sunday, 29 January 2012, 1:00
> Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
>
>
>
> I don't know. But how do you know from his stackstrace that the problem is
> that ?
>
>
> i dont. :)
> i replied after seeing an Esteban's message saying that your post is
> outdated and one should use 3.9 config version.
> and couple days before we had someone who asking why NB-enabled VM fails to
> build for him,
> when he still using this magic
> Â ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') load.
>
> while when i was released an CMakeVMMaker configs for NB , it was already
> far beyond that version,
> and of course won't work with 1.5.
>
> --
> Best regards,
> Igor Stasenko.
>
>
Jan. 29, 2012
[Pharo-project] [:x :y| x*x. â x + y]
by Stéphane Ducasse
Hi guys
is there a naming convention for such blocks. In the chapter I called them escaping block
but I also used continuation blocks. (I do not like continuation blocks since to me it is unclear) but
if this is a convention I would follow it.
Stef
Jan. 29, 2012
Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
by dimitris chloupis
ok if you want me to install the latest I will install the latest , but there is no such documentation I am aware of how to do that .Â
Can you help me ?Â
Currently I have NBCog , Pharo-1.4 image and the latest from "Â git clone git://gitorious.org/cogvm/blessed.git"
But I have no idea how to install the latest VMMaker and CMakeVMMaker
I tried monticello giving it this adress
MCHttpRepository
location: 'http://www.squeaksource.com/VMMaker'
user: ''
password: ''
Any package I click to load it gives me dependency issues and update package complains about a Bad
Gateway
Yes I got the very latest of XCode and I am open to any suggestion.Â
________________________________
From: Igor Stasenko <siguctua(a)gmail.com>
To: Pharo-project(a)lists.gforge.inria.fr
Sent: Sunday, 29 January 2012, 1:00
Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
>I don't know. But how do you know from his stackstrace that the problem is that ?
>
>
i dont. :)
i replied after seeing an Esteban's message saying that your post is outdated and one should use 3.9 config version.
and couple days before we had someone who asking why NB-enabled VM fails to build for him,
when he still using this magic
 ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') load.
while when i was released an CMakeVMMaker configs for NB , it was already far beyond that version,
and of course won't work with 1.5.
--
Best regards,
Igor Stasenko.
Jan. 29, 2012
Re: [Pharo-project] Smalltalk for small projects only?
by laurent laffont
200 developers on a project ? Scaring ..... They should use another
technology than Java to go under 50 developers. They will save a lot of
money :)
Laurent
2012/1/28 Janko Mivšek <janko.mivsek(a)eranova.si>
> Hi guys,
>
> Ralph Johnson in his InfoQ interview made an interesting observation:
>
> 2:55 minute: "Smalltalk made an fundamental error ... image ... you can
> build something with 4-5 people what 50 people can build in Java, but if
> you take 200 people in Java ... it is really designed for small systems
> ... "
>
> Are we because of the image really destined for relatively small
> projects and small systems (of Java 50 people project size)?
>
> Are we really not able to scale to bigger projects/systems because of that?
>
> Ok, there are few exceptions of course (JPMorgan, OOCL, ..), but still...
>
> [1] http://www.infoq.com/interviews/johnson-armstrong-oop
>
> Best regards
> Janko
>
>
> --
> Janko Mivšek
> Aida/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
>
>
Jan. 29, 2012
Re: [Pharo-project] Meaning of the name "Pharo"
by Stéphane Ducasse
;)
Stef
On Jan 29, 2012, at 8:18 AM, dimitris chloupis wrote:
> it also helps that "pharo" via google easily points to the website as it is not so commonly used in the internet as a name.
>
> Being Greek and big lover of the sea, I am a big fan of the name. My full nick name is "ÎηλÏν ÎλιοÏ" "Kilon Alios" means "the one who charms/motivates and came from the sea". What bigger motivation and more essential element of the sea than a lighthouse ? :D
>
> From: Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> To: Pharo-project(a)lists.gforge.inria.fr
> Sent: Friday, 27 January 2012, 17:51
> Subject: Re: [Pharo-project] Meaning of the name "Pharo"
>
>
> On Jan 27, 2012, at 8:17 AM, Max Leske wrote:
>
> > I always enjoy it if a product / project with a "funny" name explains that name somewhere (origin, intention). I think it says a lot about the kind of project it is (how dedicated are the people? If the name is crap, the product will probably be tooâ¦). So I thought, it might be cool to introduce a paragraph (in the "About" section maybe) that explains the origins of the name "Pharo".
> >
> > Any thoughts?
>
> Yes!
> I love lighthouse because
> - it is protecting boats from crashing on the coast
> - stand against the wind and is wild sea
> Really positive image.
>
> Pharo: solid software with a vision, helping large programs to get to the coast nicely.
>
> >
> > Cheers,
> > Max
>
>
>
>
Jan. 29, 2012
Re: [Pharo-project] addToStartUpList and World extent
by Hilaire Fernandes
The scenario looks like the following:
- image is save with main window at an arbitrary extent
- image is load in a different system with the different screen extent,
the main window is automatically set to this screen extent
- #startUp class registered messages are sent
- World is set to the screen extent
Indeed there is a DisplayScreen class>startUp setting the Display extent
to the actual screen extent.
Looks like addToStartUpList: aClass after: predecessor
will be handy.
Hilaire
Le 28/01/2012 22:28, Stéphane Ducasse a écrit :
> This is strange.
> Did you look at the startup sequence?
>
> On Jan 28, 2012, at 10:01 PM, Hilaire Fernandes wrote:
>
>> Hello Pharoers,
>>
>> I am using "Smalltalk addToStartUpList: self" to register DrGeo in the
>> startup sequence, so a new drgeo window is instantiated fullscreen
>> automatically if none exist. However I have noted, at least on iPad and
>> Android, that the instantiated window is not set to the correct
>> fullscreen extent (it is smaller). DrGeo Window instantiated later from
>> user request are correctly set fullscreen.
>>
>> Could it be that World, at the startUp sequence time, does not know yet
>> the screen extent?
>> Should I use another kind of startup sequence
>>
>> Thanks
>>
>> Hilaire
>>
>> --
>> Dr. Geo -- http://www.drgeo.eu
>>
>>
>
>
>
--
Dr. Geo -- http://www.drgeo.eu
Jan. 29, 2012
Re: [Pharo-project] [squeak-dev] Smalltalk for small projects only?
by Stéphane Ducasse
+1
Metacello is the way to go!
Dale I will update the chapter as soon as you decide the new API :)
I'm working on a nice process document for our little community. Stay tuned :)
Stef
> My opinion that being able to build images from scratch (easily and reproducibly) is a "requirement" to get in the door for mainstream projects... giving mainstream developers the opportunity to work in a image-based environment will set them free:)
Jan. 29, 2012
Re: [Pharo-project] Smalltalk for small projects only?
by dimitris chloupis
Maybe not for smalltalk but for python there is a number of surveys that prove that by replacing java with python you can scale down developing time by 2-3x times. By "prove" I mean projects that have actually done that. Â Not quite a 10x but I think its impressive non the less and I think the numbers wont be very dissimilar for smalltalk
________________________________
From: Michael Haupt <mhaupt(a)gmail.com>
To: "Pharo-project(a)lists.gforge.inria.fr" <Pharo-project(a)lists.gforge.inria.fr>
Sent: Saturday, 28 January 2012, 23:29
Subject: Re: [Pharo-project] Smalltalk for small projects only?
Janko,
Am 28.01.2012 um 21:08 schrieb Janko Mivšek <janko.mivsek(a)eranova.si>:
>> I think this is a post that clearly illustrates the big problem with
>> smalltalk. The very fact that is compared with Java and Java survives.
>
> Yes, that 4-5 peole can do what 50 Java people are needed is both a
> blessing and a curse :)
I wanted to ask this earlier: is there actual evidence for this, or is it just boasting?
> Blessing because of productivity, curse because
> we are not able to scale beyond one highly connected development group.
> We don't have project management practices and tools, while Java guys
> have because they need them from the start.
I'm not so sure the people at those Smalltalk firms building software for banks et al. have no project management. Boasting? ;-)
Best,
Michael
Jan. 29, 2012