Determining what Metacello would load

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

Determining what Metacello would load

Sean P. DeNigris
Administrator
The Metacello chapter is great, especially the workflow part - thank you.

I would mention fetching, which is very useful for testing configs and before accidentally loading the wrong thing. For example, printing "ConfigurationOfMyProject project bleedingEdge fetch loadDirective"
gives you a description of what would be loaded in the current image.

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Determining what Metacello would load

Mariano Martinez Peck


On Wed, Dec 7, 2011 at 11:04 PM, Sean P. DeNigris <[hidden email]> wrote:
The Metacello chapter is great, especially the workflow part - thank you.

Thanks. If you have feedback, as this one, as well as English corrections, PLEASE give it. You can hace access to the latex files if you want.


I would mention fetching, which is very useful for testing configs and
before accidentally loading the wrong thing. For example, printing
"ConfigurationOfMyProject project bleedingEdge fetch loadDirective"
gives you a description of what would be loaded in the current image.


The chapter says:


-----------
\paragraph{Debugging Configuration.}


If you want to simulate the loading of a configuration, without actually loading it, you should use \ct{record:} instead of \ct{load:}. Then to get the result of the simulation, you should send it the message \mthind{loadDirective}{loadDirective} as follows:

\begin{code}{}
  ((ConfigurationOfCoolBrowser project version: '0.2') !\textbf{record:}!
          { 'CoolBrowser-Core' .
        'CoolBrowser-Addons' }) !\textbf{loadDirective}!.
\end{code}

--------
 

So what is the difference between both?  one uses #fetch and one uses #record. I don't know exactly the differences but it sounds that #record is more closed to reality (#load) than #fetch. Dale ?


Thanks!

Sean

--
View this message in context: http://forum.world.st/Determining-what-Metacello-would-load-tp4170701p4170701.html
Sent from the Pharo By Example mailing list archive at Nabble.com.
_______________________________________________
Sbe-discussion mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion



--
Mariano
http://marianopeck.wordpress.com


_______________________________________________
Sbe-discussion mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
Reply | Threaded
Open this post in threaded view
|

Re: Determining what Metacello would load

stephane ducasse
In reply to this post by Sean P. DeNigris

On Dec 7, 2011, at 11:04 PM, Sean P. DeNigris wrote:

> The Metacello chapter is great, especially the workflow part - thank you.
>
> I would mention fetching, which is very useful for testing configs and
> before accidentally loading the wrong thing. For example, printing
> "ConfigurationOfMyProject project bleedingEdge fetch loadDirective"
> gives you a description of what would be loaded in the current image.


but it is not equivalent to record?

>
> Sean
>
> --
> View this message in context: http://forum.world.st/Determining-what-Metacello-would-load-tp4170701p4170701.html
> Sent from the Pharo By Example mailing list archive at Nabble.com.
> _______________________________________________
> Sbe-discussion mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
>


_______________________________________________
Sbe-discussion mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Re: Determining what Metacello would load

Mariano Martinez Peck
In reply to this post by Mariano Martinez Peck
Thanks for the explanaiton. It turns I was wrong, I thought #record was downloadind the mcz files, but it seems this is only done by #fetch, which makes completly sense!
I will update the chapter. Thanks Sean for asking.



On Thu, Dec 8, 2011 at 8:02 PM, Dale Henrichs <[hidden email]> wrote:
The difference between #fetch: and #record: is that:

 #fetch: accesses and downloads the mcz files from the repository

 #record: simply records which mcz files should be downloaded

So #record: will run a lot faster than #fetch:.

While we're in the neighborhood:

 #load: does a #fetch: followed by a #doLoad on the result of the #fetch:

This means you can do a #fetch:, inspect the result to peruse the list of packages that will be loaded and then resume the load with a #doLoad if you approve of the load list...

Dale


----- Original Message -----
| From: "Mariano Martinez Peck" <[hidden email]>
| To: [hidden email]
| Cc: [hidden email]
| Sent: Thursday, December 8, 2011 1:20:33 AM
| Subject: [Metacello] Re: [sbe-discussion] Determining what Metacello would load
|
|
|
|
| On Wed, Dec 7, 2011 at 11:04 PM, Sean P. DeNigris <
| [hidden email] > wrote:
|
|
| The Metacello chapter is great, especially the workflow part - thank
| you.
|
|
| Thanks. If you have feedback, as this one, as well as English
| corrections, PLEASE give it. You can hace access to the latex files
| if you want.
|
|
|
|
| I would mention fetching, which is very useful for testing configs
| and
| before accidentally loading the wrong thing. For example, printing
| "ConfigurationOfMyProject project bleedingEdge fetch loadDirective"
| gives you a description of what would be loaded in the current image.
|
|
|
| The chapter says:
|
|
| -----------
| \paragraph{Debugging Configuration.}
|
|
| If you want to simulate the loading of a configuration, without
| actually loading it, you should use \ct{record:} instead of
| \ct{load:}. Then to get the result of the simulation, you should
| send it the message \mthind{loadDirective}{loadDirective} as
| follows:
|
| \begin{code}{}
| ((ConfigurationOfCoolBrowser project version: '0.2')
| !\textbf{record:}!
| { 'CoolBrowser-Core' .
| 'CoolBrowser-Addons' }) !\textbf{loadDirective}!.
| \end{code}
|
| --------
|
|
| So what is the difference between both? one uses #fetch and one uses
| #record. I don't know exactly the differences but it sounds that
| #record is more closed to reality (#load) than #fetch. Dale ?
|
|
| Thanks!
|
|
|
| Sean
|
| --
| View this message in context:
| http://forum.world.st/Determining-what-Metacello-would-load-tp4170701p4170701.html
| Sent from the Pharo By Example mailing list archive at Nabble.com.
| _______________________________________________
| Sbe-discussion mailing list
| [hidden email]
| https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
|
|
|
| --
| Mariano
| http://marianopeck.wordpress.com
|
|



--
Mariano
http://marianopeck.wordpress.com


_______________________________________________
Sbe-discussion mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Re: Determining what Metacello would load

Sean P. DeNigris
Administrator
Mariano Martinez Peck wrote
Thanks for the explanaiton. It turns I was wrong, I thought #record was
downloadind the mcz files, but it seems this is only done by #fetch, which
makes completly sense!
Thanks for the followup. My pdf must be an older version, which didn't mention either; but now I understand both :)
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Re: Determining what Metacello would load

stephane ducasse
In reply to this post by Mariano Martinez Peck

On Dec 8, 2011, at 11:16 PM, Mariano Martinez Peck wrote:

> Thanks for the explanaiton. It turns I was wrong, I thought #record was downloadind the mcz files, but it seems this is only done by #fetch, which makes completly sense!
> I will update the chapter.

thanks mariano

you can add that just after the record paragraph

Stef

> Thanks Sean for asking.
>
>
>
> On Thu, Dec 8, 2011 at 8:02 PM, Dale Henrichs <[hidden email]> wrote:
> The difference between #fetch: and #record: is that:
>
>  #fetch: accesses and downloads the mcz files from the repository
>
>  #record: simply records which mcz files should be downloaded
>
> So #record: will run a lot faster than #fetch:.
>
> While we're in the neighborhood:
>
>  #load: does a #fetch: followed by a #doLoad on the result of the #fetch:
>
> This means you can do a #fetch:, inspect the result to peruse the list of packages that will be loaded and then resume the load with a #doLoad if you approve of the load list...
>
> Dale
>
>
> ----- Original Message -----
> | From: "Mariano Martinez Peck" <[hidden email]>
> | To: [hidden email]
> | Cc: [hidden email]
> | Sent: Thursday, December 8, 2011 1:20:33 AM
> | Subject: [Metacello] Re: [sbe-discussion] Determining what Metacello would load
> |
> |
> |
> |
> | On Wed, Dec 7, 2011 at 11:04 PM, Sean P. DeNigris <
> | [hidden email] > wrote:
> |
> |
> | The Metacello chapter is great, especially the workflow part - thank
> | you.
> |
> |
> | Thanks. If you have feedback, as this one, as well as English
> | corrections, PLEASE give it. You can hace access to the latex files
> | if you want.
> |
> |
> |
> |
> | I would mention fetching, which is very useful for testing configs
> | and
> | before accidentally loading the wrong thing. For example, printing
> | "ConfigurationOfMyProject project bleedingEdge fetch loadDirective"
> | gives you a description of what would be loaded in the current image.
> |
> |
> |
> | The chapter says:
> |
> |
> | -----------
> | \paragraph{Debugging Configuration.}
> |
> |
> | If you want to simulate the loading of a configuration, without
> | actually loading it, you should use \ct{record:} instead of
> | \ct{load:}. Then to get the result of the simulation, you should
> | send it the message \mthind{loadDirective}{loadDirective} as
> | follows:
> |
> | \begin{code}{}
> | ((ConfigurationOfCoolBrowser project version: '0.2')
> | !\textbf{record:}!
> | { 'CoolBrowser-Core' .
> | 'CoolBrowser-Addons' }) !\textbf{loadDirective}!.
> | \end{code}
> |
> | --------
> |
> |
> | So what is the difference between both? one uses #fetch and one uses
> | #record. I don't know exactly the differences but it sounds that
> | #record is more closed to reality (#load) than #fetch. Dale ?
> |
> |
> | Thanks!
> |
> |
> |
> | Sean
> |
> | --
> | View this message in context:
> | http://forum.world.st/Determining-what-Metacello-would-load-tp4170701p4170701.html
> | Sent from the Pharo By Example mailing list archive at Nabble.com.
> | _______________________________________________
> | Sbe-discussion mailing list
> | [hidden email]
> | https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
> |
> |
> |
> | --
> | Mariano
> | http://marianopeck.wordpress.com
> |
> |
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
> _______________________________________________
> Sbe-discussion mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion


_______________________________________________
Sbe-discussion mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/sbe-discussion
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Re: Determining what Metacello would load

Sean P. DeNigris
Administrator
stephane ducasse wrote
you can add that just after the record paragraph
Yes, they are both useful. At first, when first testing, I'd like to do a #fetch because it's more like and end-to-end acceptance test, but the #record is nice once it's mostly working and I know the packages are downloadable.

Sean
Cheers,
Sean