Another question, why do: ? I find this a false polymorphism and its usage is rather hard to trace...
2013/10/26 commits@source.squeak.org
Chris Muller uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-cmm.610.mcz
==================== Summary ====================
Name: System-cmm.610 Author: cmm Time: 26 October 2013, 2:17:09.114 pm UUID: a27149c5-0fd6-4bef-a34a-57db707aec83 Ancestors: System-dtl.609
Consider valueWithAllPossibleArguments: special enough to inline, for now.
=============== Diff against System-dtl.609 ===============
Item was changed: ----- Method: SmalltalkImage>>do: (in category 'command line') ----- do: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
ifTrue: [ aBlock value: self arguments ]
ifFalse: [ aBlock valueWithEnoughArguments: self
arguments ] ]
[ [ aBlock valueWithAllPossibleArguments: self arguments ] on: ProgressInitiationException do: [ : pie | "Don't want to log this notification." pie defaultAction ] ] on: Notification , Warning do: [ : noti | StandardFileStream stdout nextPutAll: DateAndTime now asString ; space ; nextPutAll: noti description ; cr. noti resume ] on: SyntaxErrorNotification do: [ : err | StandardFileStream stdout nextPutAll: err errorCode ; cr. self haltOrQuit ] on: Error do: [ : err | err printVerboseOn: StandardFileStream
stderr. self haltOrQuit. err isResumable ifTrue: [ err resume ] ]!
And yet another, shouldn't we rather integrate the excellent work that Camillo Bruni did in Pharo?
See System-CommandLine at
MCHttpRepository location: 'http://smalltalkhub.com/mc/Pharo/Pharo30/main' user: '' password: ''
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
Another question, why do: ? I find this a false polymorphism and its usage is rather hard to trace...
2013/10/26 commits@source.squeak.org
Chris Muller uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cmm.610.mcz
==================== Summary ====================
Name: System-cmm.610 Author: cmm Time: 26 October 2013, 2:17:09.114 pm UUID: a27149c5-0fd6-4bef-a34a-57db707aec83 Ancestors: System-dtl.609
Consider valueWithAllPossibleArguments: special enough to inline, for now.
=============== Diff against System-dtl.609 ===============
Item was changed: ----- Method: SmalltalkImage>>do: (in category 'command line') ----- do: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
ifTrue: [ aBlock value: self arguments ]
ifFalse: [ aBlock valueWithEnoughArguments: self
arguments ] ]
[ [ aBlock valueWithAllPossibleArguments: self arguments ] on: ProgressInitiationException do: [ : pie | "Don't want to log this notification." pie defaultAction ] ] on: Notification , Warning do: [ : noti | StandardFileStream stdout nextPutAll: DateAndTime now asString ; space ; nextPutAll: noti description ; cr. noti resume ] on: SyntaxErrorNotification do: [ : err | StandardFileStream stdout nextPutAll: err errorCode ; cr. self haltOrQuit ] on: Error do: [ : err | err printVerboseOn: StandardFileStream
stderr. self haltOrQuit. err isResumable ifTrue: [ err resume ] ]!
Also note that Smalltalk do: did mean a different thing when Smalltalk was the SystemDictionary.
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
And yet another, shouldn't we rather integrate the excellent work that Camillo Bruni did in Pharo?
See System-CommandLine at
MCHttpRepository location: 'http://smalltalkhub.com/mc/Pharo/Pharo30/main' user: '' password: ''
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
Another question, why do: ? I find this a false polymorphism and its usage is rather hard to trace...
2013/10/26 commits@source.squeak.org
Chris Muller uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cmm.610.mcz
==================== Summary ====================
Name: System-cmm.610 Author: cmm Time: 26 October 2013, 2:17:09.114 pm UUID: a27149c5-0fd6-4bef-a34a-57db707aec83 Ancestors: System-dtl.609
Consider valueWithAllPossibleArguments: special enough to inline, for now.
=============== Diff against System-dtl.609 ===============
Item was changed: ----- Method: SmalltalkImage>>do: (in category 'command line') ----- do: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
ifTrue: [ aBlock value: self arguments ]
ifFalse: [ aBlock valueWithEnoughArguments: self
arguments ] ]
[ [ aBlock valueWithAllPossibleArguments: self arguments ] on: ProgressInitiationException do: [ : pie | "Don't want to log this notification." pie defaultAction ] ] on: Notification , Warning do: [ : noti | StandardFileStream stdout nextPutAll: DateAndTime now asString ; space ; nextPutAll: noti description ; cr. noti resume ] on: SyntaxErrorNotification do: [ : err | StandardFileStream stdout nextPutAll: err errorCode ; cr. self haltOrQuit ] on: Error do: [ : err | err printVerboseOn: StandardFileStream
stderr. self haltOrQuit. err isResumable ifTrue: [ err resume ] ]!
Yes, that's a good point, but how about proposing an alternative next time?
#run:?
On Sun, Oct 27, 2013 at 3:36 PM, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
Also note that Smalltalk do: did mean a different thing when Smalltalk was the SystemDictionary.
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
And yet another, shouldn't we rather integrate the excellent work that Camillo Bruni did in Pharo?
See System-CommandLine at
MCHttpRepository location: 'http://smalltalkhub.com/mc/Pharo/Pharo30/main' user: '' password: ''
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
Another question, why do: ? I find this a false polymorphism and its usage is rather hard to trace...
2013/10/26 commits@source.squeak.org
Chris Muller uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-cmm.610.mcz
==================== Summary ====================
Name: System-cmm.610 Author: cmm Time: 26 October 2013, 2:17:09.114 pm UUID: a27149c5-0fd6-4bef-a34a-57db707aec83 Ancestors: System-dtl.609
Consider valueWithAllPossibleArguments: special enough to inline, for now.
=============== Diff against System-dtl.609 ===============
Item was changed: ----- Method: SmalltalkImage>>do: (in category 'command line') ----- do: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
ifTrue: [ aBlock value: self arguments ]
ifFalse: [ aBlock valueWithEnoughArguments: self
arguments ] ]
[ [ aBlock valueWithAllPossibleArguments: self arguments ] on: ProgressInitiationException do: [ : pie | "Don't want to log this notification." pie defaultAction ] ] on: Notification , Warning do: [ : noti | StandardFileStream stdout nextPutAll: DateAndTime now asString ; space ; nextPutAll: noti description ; cr. noti resume ] on: SyntaxErrorNotification do: [ : err | StandardFileStream stdout nextPutAll: err errorCode ; cr. self haltOrQuit ] on: Error do: [ : err | err printVerboseOn: StandardFileStream
stderr. self haltOrQuit. err isResumable ifTrue: [ err resume ] ]!
On Sun, Oct 27, 2013 at 3:33 PM, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
And yet another, shouldn't we rather integrate the excellent work that Camillo Bruni did in Pharo?
See System-CommandLine at
MCHttpRepository location: 'http://smalltalkhub.com/mc/Pharo/Pharo30/main' user: '' password: ''
Not sure. The 4 methods I added are not a REPL. That's not something I myself need, but a sophisticated command-line interface to Squeak sounds neat and novel. I don't think I've ever really fully understood the case where I'd want to _interact_ with Smalltalk via a command-line (on an on-going, ad-hoc basis). It seems like I always either want full GUI interaction, or simple job control that can properly respond to errors and nothing more..
2013/10/27 Nicolas Cellier nicolas.cellier.aka.nice@gmail.com
Another question, why do: ? I find this a false polymorphism and its usage is rather hard to trace...
Normally since the scripts are external, they won't be traceable anyway. However, since I'm just now starting to include my scripts in the image (so they have benefit of being _documented_ and under MC's control), perhaps #run: would be better..
2013/10/26 commits@source.squeak.org
Chris Muller uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-cmm.610.mcz
==================== Summary ====================
Name: System-cmm.610 Author: cmm Time: 26 October 2013, 2:17:09.114 pm UUID: a27149c5-0fd6-4bef-a34a-57db707aec83 Ancestors: System-dtl.609
Consider valueWithAllPossibleArguments: special enough to inline, for now.
=============== Diff against System-dtl.609 ===============
Item was changed: ----- Method: SmalltalkImage>>do: (in category 'command line') ----- do: aBlock
[ [ (aBlock numArgs = 1 and: [ self arguments size > 1 ])
ifTrue: [ aBlock value: self arguments ]
ifFalse: [ aBlock valueWithEnoughArguments: self
arguments ] ]
[ [ aBlock valueWithAllPossibleArguments: self arguments ] on: ProgressInitiationException do: [ : pie | "Don't want to log this notification." pie defaultAction ] ] on: Notification , Warning do: [ : noti | StandardFileStream stdout nextPutAll: DateAndTime now asString ; space ; nextPutAll: noti description ; cr. noti resume ] on: SyntaxErrorNotification do: [ : err | StandardFileStream stdout nextPutAll: err errorCode ; cr. self haltOrQuit ] on: Error do: [ : err | err printVerboseOn: StandardFileStream
stderr. self haltOrQuit. err isResumable ifTrue: [ err resume ] ]!
On Sun, Oct 27, 2013 at 06:38:15PM -0500, Chris Muller wrote:
On Sun, Oct 27, 2013 at 3:33 PM, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
And yet another, shouldn't we rather integrate the excellent work that Camillo Bruni did in Pharo?
See System-CommandLine at
MCHttpRepository location: 'http://smalltalkhub.com/mc/Pharo/Pharo30/main' user: '' password: ''
Not sure. The 4 methods I added are not a REPL. That's not something I myself need, but a sophisticated command-line interface to Squeak sounds neat and novel. I don't think I've ever really fully understood the case where I'd want to _interact_ with Smalltalk via a command-line (on an on-going, ad-hoc basis). It seems like I always either want full GUI interaction, or simple job control that can properly respond to errors and nothing more..
I made ExternalCommandShell (in package CommandShell) to do exactly that - serve as a REPL and evaluate Smalltalk and/or unix input. It's kind of interesting to see that it can be done, but I can't say that I actually use it for anything, and as far as I know nobody else does either.
I'm not quite sure what Camillo Bruni did for Pharo, but if it improves the ability to run Smalltalk scripts from a command line, it might be quite useful.
Dave
squeak-dev@lists.squeakfoundation.org