Alexander Lazarević uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-laza.477.mcz ==================== Summary ==================== Name: Morphic-laza.477 Author: laza Time: 22 November 2010, 10:49:45.037 pm UUID: 5761bce9-0807-094c-81d9-605b9a072ad9 Ancestors: Morphic-cmm.476 In the "Extending the system" workspace: Change the snippet to load Omnibrowser work as a simple doIt =============== Diff against Morphic-cmm.476 =============== Item was changed: ----- Method: TheWorldMainDockingBar>>extendingTheSystem (in category 'submenu - help') ----- extendingTheSystem ^'"Note: Please edit this workspace and add your own contributions. To submit it to the inbox open the Monticello browser and submit it from there. Save the package ''* Morphic'' to the inbox." "Updating your system: The following will set the default update URL to receive development updates. For developers and dare-devils only." MCMcmUpdater defaultUpdateURL: ''http://source.squeak.org/trunk''. "Installing new packages: The following expression show how to load many interesting packages into Squeak." "FFI: http://source.squeak.org/FFI.html" (Installer repository: ''http://source.squeak.org/FFI'') install: ''FFI-Pools''; install: ''FFI-Kernel''; install: ''FFI-Tests''; install: ''FFI-Win32''; install: ''FFI-MacOS''; install: ''FFI-Unix''. "Omnibrowser, including Refactoring engine" (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''. + ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ). - (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ). "Seaside 2.8 http://www.seaside.st" (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside28''. "WAKom startOn: 9090" "Seaside 2.8 Examples http://www.seaside.st" (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside28Examples''. (Smalltalk at: #ConfigurationOfSeaside28Examples) load. "Seaside 3.0 http://www.seaside.st" (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfSeaside30''. (Smalltalk at: #ConfigurationOfSeaside30) load. (Smalltalk at: #WAPharoServerAdaptorBrowser) open. "Pier CMS: http://www.piercms.com" (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfPier2''. (Smalltalk at: #ConfigurationOfPier2) load. (Installer lukas project: ''pier2'') install: ''Pier-Blog''. (Installer lukas project: ''pier2'') install: ''Pier-Book''. (Installer lukas project: ''pier2addons'') install: ''Pier-Setup''. (Smalltalk at: #PRDistribution) new register. !! + ]style[(189 2 139 15 17 1 32 3 108 2 40 12 11 1 30 3 8 1 11 3 8 1 12 3 8 1 11 3 8 1 11 3 8 1 11 3 8 1 10 3 44 11 2 1 8 1 21 2 8 1 28 14 3 1 1 28 7 11 11 2 5 4 3 5 35 12 2 1 8 1 21 2 8 1 26 2 21 2 44 12 2 1 8 1 21 2 8 1 34 13 3 1 33 2 4 3 35 12 2 1 8 1 21 2 8 1 26 13 3 1 25 2 4 13 3 1 28 2 4 3 34 12 2 1 8 1 21 2 8 1 22 13 3 1 21 2 4 14 5 1 8 1 7 2 8 1 11 13 5 1 8 1 7 2 8 1 11 13 5 1 8 1 13 2 8 1 12 13 3 1 15 3 3 1 8 2)c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000000126,cblack;,c000000126,cblack;,c126000126,cblack;,c000000126,cblack;,c126000126,cblack;,c000000123,cblack;,c000000123,cblack;,c000000126,cblack;,c000000126,cblack;,c000000126,cblack;,c000000126,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000123123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000123123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c123000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;,c000000123,cblack;!!' readStream nextChunkText! - ]style[(189 2 139 15 17 1 32 3 108 2 40 12 11 1 30 3 8 1 11 3 8 1 12 3 8 1 11 3 8 1 11 3 8 1 11 3 8 1 10 3 44 11 2 1 8 1 21 2 8 1 28 13 3 1 1 28 7 1 11 1 5 4 3 5 35 12 2 1 8 1 21 2 8 1 26 2 21 2 44 12 2 1 8 1 21 2 8 1 34 13 3 1 33 2 4 3 35 12 2 1 8 1 21 2 8 1 26 13 3 1 25 2 4 13 3 1 28 2 4 3 34 12 2 1 8 1 21 2 8 1 22 13 3 1 21 2 4 14 5 1 8 1 7 2 8 1 11 13 5 1 8 1 7 2 8 1 11 13 5 1 8 1 13 2 8 1 12 13 3 1 15 3 3 1 8 2)c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000000127,cblack;,c000000127,cblack;,c127000127,cblack;,c000000127,cblack;,c127000127,cblack;,c000000124,cblack;,c000000124,cblack;,c000000127,cblack;,c000000127,cblack;,c000000127,cblack;,c000000127,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000124124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000124124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c124000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;,c000000124,cblack;!!' readStream nextChunkText! |
On 11/22/2010 9:50 PM, [hidden email] wrote:
> ==================== Summary ==================== > > Name: Morphic-laza.477 > Author: laza > Time: 22 November 2010, 10:49:45.037 pm > UUID: 5761bce9-0807-094c-81d9-605b9a072ad9 > Ancestors: Morphic-cmm.476 > > In the "Extending the system" workspace: > Change the snippet to load Omnibrowser work as a simple doIt > > =============== Diff against Morphic-cmm.476 =============== > > "Omnibrowser, including Refactoring engine" > (Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''. > + ((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ). > - (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ). Am I missing something? Why would one use foo perform: #lastVersion. instead of the obviously equivalent foo lastVersion. Seems like code obfuscation to me. Cheers, - Andreas |
I see the "Extending the system" workspace as a collection of code
recipes. I don't need to fully understand each one of them (How to use Monticello, Installer, Gofer, whatever) and just can carelessly "do" one of them to get the wanted result (FFI; Omnibrowser, ...). With the original "recipe" for Omnibrowser I get that "unknown selector" popup for lastVersion. My usual gut reaction to this popup is to look out for a problem. But here I find out, that the selector lastVersion will be (probably) available after the first part of the recipe. Now I can do a two step doIt to avoid this or one doIt and ignore the "unknown selector" popup. And I have to remember what to do next time I want to load OB into the system. With #perform: the recipe just works out of the box (for me) and I can spare myself some brain cycles. One could argue, that these recipes are only for developers and that they just can see in a blink of an eye what to do and that it ain't no good to obfuscate the code. But than these developers could also easily see that some recipes need to be done as a step by step doIt and there would be no reason to obfuscate them with things like (Smalltalk at: #ConfigurationOfOmniBrowser) either. But maybe my threshold on this differs from the majority of developers. So just change it back if you want. Alex |
In reply to this post by Andreas.Raab
On Mon, 22 Nov 2010, Andreas Raab wrote:
> Am I missing something? Why would one use > > foo perform: #lastVersion. > > instead of the obviously equivalent > > foo lastVersion. > > Seems like code obfuscation to me. The method only exists in Metacello, so if you don't have it in your image the compiler will ask if you really want to use that selector. This may be annoying for some users. Levente > > Cheers, > - Andreas > > |
On 11/22/2010 11:44 PM, Levente Uzonyi wrote:
> On Mon, 22 Nov 2010, Andreas Raab wrote: > >> Am I missing something? Why would one use >> >> foo perform: #lastVersion. >> >> instead of the obviously equivalent >> >> foo lastVersion. >> >> Seems like code obfuscation to me. > > The method only exists in Metacello, so if you don't have it in your > image the compiler will ask if you really want to use that selector. > This may be annoying for some users. Got it. So I *was* missing something :-) Cheers, - Andreas |
In reply to this post by Levente Uzonyi-2
On Mon, Nov 22, 2010 at 11:44 PM, Levente Uzonyi <[hidden email]> wrote: On Mon, 22 Nov 2010, Andreas Raab wrote: For me thats a clear case of code that needs a comment. Intention-revealling code is fine without comments, but the non-obvious needs documenting because otherwise someone may come along later and undo the change because they understandably don't intuit the non-obvious.
2¢ Eliot
|
I like the idea of having a code snippet which can be executed in one
go to load something. Convenient as you start the execution and then can go away. Yes it might be useful to have a comment at the beginning telling people that the code has been written in a way which allows this. --Hannes On 11/23/10, Eliot Miranda <[hidden email]> wrote: > On Mon, Nov 22, 2010 at 11:44 PM, Levente Uzonyi <[hidden email]> wrote: > >> On Mon, 22 Nov 2010, Andreas Raab wrote: >> >> Am I missing something? Why would one use >>> >>> foo perform: #lastVersion. >>> >>> instead of the obviously equivalent >>> >>> foo lastVersion. >>> >>> Seems like code obfuscation to me. >>> >> >> The method only exists in Metacello, so if you don't have it in your image >> the compiler will ask if you really want to use that selector. This may be >> annoying for some users. >> > > For me thats a clear case of code that needs a comment. > Intention-revealling code is fine without comments, but the non-obvious > needs documenting because otherwise someone may come along later and undo > the change because they understandably don't intuit the non-obvious. > > 2¢ > Eliot > >> >> >> Levente >> >> >>> Cheers, >>> - Andreas >>> >>> >>> >> > |
Free forum by Nabble | Edit this page |