Bootstrapping

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Bootstrapping

Sean DeNigris
Is the bootstrap feature an essential part of Metacello? It makes
certain things harder e.g. I can't add extension methods that will
appear in my Configs because the superclass is Object; and seems to
encourage manager objects at the top level e.g. "MetacelloToolBox
validateConfiguration: ConfigurationOfMyProject" vs
"ConfigurationOfMyProject validate"
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Dale Henrichs
Sean,

At the moment, you have to assume that Metacello is not loaded into your image, so all class-side methods have to arrange to bootstrap Metacello ... If you drop a call to #ensureMetacello in your #validate method, then you can add more methods ...

Without any Metacello artifacts in the image, you can't inherit from anything but Object:(

The Squeak folks appear to be completely disinterested in Metacello (although I continue to make sure that Metacello runs there) ... then you have the old images that still use configurations subclassed off of Object and you get into a place where changing things could create a fair amount of grief ...

The time to change would be when we have tools to support Metacello ... then we can start changing format (perhaps embedding the new format in the mcz files somehow) and presumably the tools can be loaded into all of the supported platforms without as big a price as the whole metacello enchilada ...

Dale

----- Original Message -----
| From: "Sean DeNigris" <[hidden email]>
| To: "Metacello" <[hidden email]>
| Sent: Tuesday, December 6, 2011 4:03:11 PM
| Subject: [Metacello] Bootstrapping
|
| Is the bootstrap feature an essential part of Metacello? It makes
| certain things harder e.g. I can't add extension methods that will
| appear in my Configs because the superclass is Object; and seems to
| encourage manager objects at the top level e.g. "MetacelloToolBox
| validateConfiguration: ConfigurationOfMyProject" vs
| "ConfigurationOfMyProject validate"
|
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Sean DeNigris
Okay, thanks for the explanation.
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Colin Putney-3
In reply to this post by Dale Henrichs
On Tue, Dec 6, 2011 at 4:17 PM, Dale Henrichs <[hidden email]> wrote:

> The Squeak folks appear to be completely disinterested in Metacello (although I continue to make sure that Metacello runs there) ... then you have the old images that still use configurations subclassed off of Object and you get into a place where changing things could create a fair amount of grief ...

I wouldn't say disinterested. Squeak 4.3 will feature a new UI and
server for SqueakMap, and we want to make that the primary and best
way to load packages into a Squeak image. SqueakMap supports loading
package via Metacello, and I expect that a lot of 4.3 packages will be
loaded via Metacello. So we're not adopting Metacello as the One True
Way, but we do want to use it and make sure it works well.

Thanks for continuing to support Metacello on Squeak!

Colin
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Dale Henrichs
Colin,

I would like to entertain the possibility of some level of base support for Metacello ... at the bare minimum, we could use a base class for configurations and some level of toolbox support ...

Frankly, the "squeak folks" are the bottleneck for even considering this possibility ... if there is interest in including support in the base, then I could begin considering the best way to leverage that ... if not we continue with the bootstrapping and forget about that possibility...

I've said it before and I'll say it again..."I can hardly wait until someone comes up with a replacement for Metacello so I can focus on other things" until then, I will continue to support it the best that I can...

Dale

----- Original Message -----
| From: "Colin Putney" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, December 6, 2011 5:17:18 PM
| Subject: Re: [Metacello] Bootstrapping
|
| On Tue, Dec 6, 2011 at 4:17 PM, Dale Henrichs <[hidden email]>
| wrote:
|
| > The Squeak folks appear to be completely disinterested in Metacello
| > (although I continue to make sure that Metacello runs there) ...
| > then you have the old images that still use configurations
| > subclassed off of Object and you get into a place where changing
| > things could create a fair amount of grief ...
|
| I wouldn't say disinterested. Squeak 4.3 will feature a new UI and
| server for SqueakMap, and we want to make that the primary and best
| way to load packages into a Squeak image. SqueakMap supports loading
| package via Metacello, and I expect that a lot of 4.3 packages will
| be
| loaded via Metacello. So we're not adopting Metacello as the One True
| Way, but we do want to use it and make sure it works well.
|
| Thanks for continuing to support Metacello on Squeak!
|
| Colin
|
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Colin Putney-3
On Tue, Dec 6, 2011 at 7:51 PM, Dale Henrichs <[hidden email]> wrote:

> I would like to entertain the possibility of some level of base support for Metacello ... at the bare minimum, we could use a base class for configurations and some level of toolbox support ...
>
> Frankly, the "squeak folks" are the bottleneck for even considering this possibility ... if there is interest in including support in the base, then I could begin considering the best way to leverage that ... if not we continue with the bootstrapping and forget about that possibility...

Hmm. It might be too late for inclusion in 4.3, but we could put
Metacello support into the trunk after the release. By all means,
consider the possibility. What do you have in mind?

Colin
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Dale Henrichs
Cool!

I'd have to spend a little time thinking about exactly what I'd want to do, because the trade-off is backward compatibility ...

I created the class MetacelloBaseConfiguration a year ago as a starting point for a base configuration class, but at this point in time I'd like to rethink the whole approach ... I don't want to rush into anything:)

The basic thought process is to put configuration support into the base and still rely on bootstrapping so that the whole Metacello model still isn't in the base. I'd like to include some level of tool support as well so that configurations could be manipulated, again without requiring the whole Metacello model to be loaded ...

Dale  

----- Original Message -----
| From: "Colin Putney" <[hidden email]>
| To: [hidden email]
| Sent: Tuesday, December 6, 2011 8:03:25 PM
| Subject: Re: [Metacello] Bootstrapping
|
| On Tue, Dec 6, 2011 at 7:51 PM, Dale Henrichs <[hidden email]>
| wrote:
|
| > I would like to entertain the possibility of some level of base
| > support for Metacello ... at the bare minimum, we could use a base
| > class for configurations and some level of toolbox support ...
| >
| > Frankly, the "squeak folks" are the bottleneck for even considering
| > this possibility ... if there is interest in including support in
| > the base, then I could begin considering the best way to leverage
| > that ... if not we continue with the bootstrapping and forget
| > about that possibility...
|
| Hmm. It might be too late for inclusion in 4.3, but we could put
| Metacello support into the trunk after the release. By all means,
| consider the possibility. What do you have in mind?
|
| Colin
|
Reply | Threaded
Open this post in threaded view
|

Re: Bootstrapping

Sean DeNigris
In reply to this post by Colin Putney-3
> we could put Metacello support into the trunk after the release.

This is exciting news. Metacello could be simplified and more direct
if we could count on some basic built-in support!