Class Smalltalk Object Methods Smalltalk saveImage: name scheduler critical: [ " first get rid of our own process " scheduler removeProcess: scheduler currentProcess. File new; name: name; open: 'w'; saveImage; close ] ] Methods Smalltalk perform: message withArguments: args ifError: aBlock | receiver method | receiver <- args at: 1 ifAbsent: [ ^ aBlock value ]. method <- receiver class methodNamed: message. ^ method notNil ifTrue: [ method executeWith: args ] ifFalse: aBlock ] Methods Smalltalk error: aString " print a message, and remove current process " stderr print: aString. scheduler currentProcess; trace; terminate. ] Methods Smalltalk watch ^ <5> ] Methods Smalltalk saveImage self saveImage: (self getPrompt: 'type image name: '). ^ 'done' ] Methods Smalltalk echo " enable - disable echo input " echoInput <- echoInput not ] Methods Smalltalk inquire: aString | response | response <- self getPrompt: aString. response isNil ifTrue: [ ^ false ]. ^ 'Yy' includes: (response at: 1 ifAbsent: []) ] Methods Smalltalk perform: message withArguments: args ^ self perform: message withArguments: args ifError: [ self error: 'cant perform' ] ] Methods Smalltalk getPrompt: aString stdout printNoReturn: aString. ^ stdin getString ]