Dale,
I was just reading your Metacello Scripting API Documentation [1] and had some passing thoughts I thought I'd share. [1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md Under the "Listing" section you show two examples [Metacello image] and [Metacello registry], which seems to establish a precedence that the first message send to the Metacello class returns a "location" to operate on. I wonder if for well known repositories you might use [Metacello squeaksource3] rather than [Metacello new squeaksource:]. In this case a few less characters to type. That is a bit mundane, but the real reason I post is... under the "defaults" section you say "default repository is platform dependent" - which is a good philosophy but maybe a problem sometime when on a blog someone writes "you can load it with [Metacello new configuration: 'Sample' ; load]" intended for one audience (say Pharo) which has that Configuration but is read by another audience (say Gemstone) which does not. I wonder if rather than an implicit platform-dependent default repository, making it explicit using [Metacello pharo] or [Metacello gemstone] might be just as easy. The thing that caught my attention with this is that I think it reads rather well... Metacello pharo configuration: 'Sample'; load. If you still want to use the implicit platform-dependent default, perhaps [Metacello platform] would be a nice choice. Now of course with #squeaksource: you specify a project folder as well, and that would require another method like #project:. However [Metacello squeaksource3 project: 'XXX'] also has a nice ring to it. I do wonder how having a single the platform-specific default interacts Pharo's ConfigurationBrowser has two tabs listing Vetted and Untrusted configurations. Perhaps having [Metacello pharo project: 'Untrusted'] could provide access to that while simple [Metacello pharo] defaults to the vetted repository. Anyway, just shooting the breeze cheers -ben |
Ben,
I see what you're getting at. Not exactly the direction I was heading/thinking, but there are some interesting bits that I want to let percolate ... I'll respond more fully later... Thanks for the feedback, Dale ----- Original Message ----- | From: "Ben Coman" <[hidden email]> | To: [hidden email] | Sent: Friday, August 10, 2012 10:28:39 AM | Subject: [Metacello] small thoughts about shortcuts to Metacello repositories | | Dale, | | I was just reading your Metacello Scripting API Documentation [1] and | had some passing thoughts I thought I'd share. | [1] | https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md | | Under the "Listing" section you show two examples [Metacello image] | and | [Metacello registry], which seems to establish a precedence that the | first message send to the Metacello class returns a "location" to | operate on. I wonder if for well known repositories you might use | [Metacello squeaksource3] rather than [Metacello new squeaksource:]. | In | this case a few less characters to type. | | That is a bit mundane, but the real reason I post is... under the | "defaults" section you say "default repository is platform dependent" | - | which is a good philosophy but maybe a problem sometime when on a | blog | someone writes "you can load it with [Metacello new configuration: | 'Sample' ; load]" intended for one audience (say Pharo) which has | that | Configuration but is read by another audience (say Gemstone) which | does | not. I wonder if rather than an implicit platform-dependent default | repository, making it explicit using [Metacello pharo] or [Metacello | gemstone] might be just as easy. The thing that caught my attention | with this is that I think it reads rather well... | | Metacello pharo | configuration: 'Sample'; | load. | | If you still want to use the implicit platform-dependent default, | perhaps [Metacello platform] would be a nice choice. | | Now of course with #squeaksource: you specify a project folder as | well, | and that would require another method like #project:. However | [Metacello squeaksource3 project: 'XXX'] also has a nice ring to it. | I | do wonder how having a single the platform-specific default interacts | Pharo's ConfigurationBrowser has two tabs listing Vetted and | Untrusted | configurations. Perhaps having [Metacello pharo project: | 'Untrusted'] | could provide access to that while simple [Metacello pharo] defaults | to | the vetted repository. | | Anyway, just shooting the breeze | cheers -ben | | | | | | | |
Free forum by Nabble | Edit this page |