FW: [Pharo-users] Porting from VW 8.3 to Pharo

S
Shaping
Wed, Aug 3, 2022 2:03 PM

Hi Christian.

I’m trying to port from VW 8.3 to Pharo.  Is there a detailed algorithm in addition to the Workflow section mentioned here?:

https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout

  1. generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings.

How does one generate the source (run the transformation)?  Where are the aforementioned “defined code transformations”,  Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes?

I loaded the following packages into my VW 8.3 image:

Values Project

Values

Values Fileout Pharo

Values Testing

Values Tools

Values Tools Testing

Pharo Fileout Values

Pharo Transform

Smalltalk Transform Project

Smalltalk Transform TestBundle

Smalltalk Transform Tests

Smalltalk Transform

Smalltalk Transform Model

Smalltalk Transform Testing

Smalltalk Transform TestPackage

Smalltalk Transform Tools

Any package not updated recently (in the last few months) I didn’t load.

Did I miss anything?

  1. Port the Values package. This is easy, since no namespaces are involved.

This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo.  Do you mean manually?  Probably not.

I feel like I’ve missed the main details of how to start the transformation.  I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages.  Suggestions are welcome.  Thanks for doing this and sharing it.

Shaping

From: christian.haider <christian.haider@smalltalked-visuals.com mailto:christian.haider@smalltalked-visuals.com >
Sent: Wednesday, 22 June, 2022 05:42
To: pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org
Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo

With help from the community some issues were fixed which improved the test statistics nicely.
Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo

Thanks to everybody involved!

Happy hacking,
Christian

Hi Christian. I’m trying to port from VW 8.3 to Pharo. Is there a detailed algorithm in addition to the Workflow section mentioned here?: https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout 1. generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings. … How does one generate the source (run the transformation)? Where are the aforementioned “defined code transformations”, Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes? I loaded the following packages into my VW 8.3 image: Values Project Values Values Fileout Pharo Values Testing Values Tools Values Tools Testing Pharo Fileout Values Pharo Transform Smalltalk Transform Project Smalltalk Transform TestBundle Smalltalk Transform Tests Smalltalk Transform Smalltalk Transform Model Smalltalk Transform Testing Smalltalk Transform TestPackage Smalltalk Transform Tools Any package not updated recently (in the last few months) I didn’t load. Did I miss anything? 2. Port the Values package. This is easy, since no namespaces are involved. This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo. Do you mean manually? Probably not. I feel like I’ve missed the main details of how to start the transformation. I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages. Suggestions are welcome. Thanks for doing this and sharing it. Shaping From: christian.haider <christian.haider@smalltalked-visuals.com <mailto:christian.haider@smalltalked-visuals.com> > Sent: Wednesday, 22 June, 2022 05:42 To: pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo With help from the community some issues were fixed which improved the test statistics nicely. Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo Thanks to everybody involved! Happy hacking, Christian
SD
stephane ducasse
Wed, Aug 3, 2022 8:18 PM

Hi

If in the process you discover easy changes on the pharo side that
can be either integrated in Pharo or packages from the Pharo side to help migration let us know.
We would like to help but we are really really super full.
I tried to help to package values but I did not understand the process (I know the pharo way for sure to define baseline).
Now a part of the team is really concentrated to improve the VM (we would like to have a 1.5 speed up) but
it requires work and concentration. We are also working on permanent space and better memory management
thanks for lifeware sponsoring.
Still let us know.

Shaping about the spec questions esteban is on vacation and when he will reappear he will check the libgit change impacting us.
Then the spec aspects.

S

On 3 Aug 2022, at 16:03, Shaping shaping@uurda.org wrote:

Hi Christian.

I’m trying to port from VW 8.3 to Pharo.  Is there a detailed algorithm in addition to the Workflow section mentioned here?:

https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout

generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings.

How does one generate the source (run the transformation)?  Where are the aforementioned “defined code transformations”,  Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes?

I loaded the following packages into my VW 8.3 image:

Values Project
Values
Values Fileout Pharo
Values Testing
Values Tools
Values Tools Testing

Pharo Fileout Values
Pharo Transform

Smalltalk Transform Project
Smalltalk Transform TestBundle
Smalltalk Transform Tests
Smalltalk Transform
Smalltalk Transform Model
Smalltalk Transform Testing
Smalltalk Transform TestPackage
Smalltalk Transform Tools

Any package not updated recently (in the last few months) I didn’t load.
Did I miss anything?
2. Port the Values package. This is easy, since no namespaces are involved.

This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo.  Do you mean manually?  Probably not.

I feel like I’ve missed the main details of how to start the transformation.  I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages.  Suggestions are welcome.  Thanks for doing this and sharing it.

Shaping

From: christian.haider <christian.haider@smalltalked-visuals.com mailto:christian.haider@smalltalked-visuals.com>
Sent: Wednesday, 22 June, 2022 05:42
To: pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org
Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo

With help from the community some issues were fixed which improved the test statistics nicely.
Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo

Thanks to everybody involved!

Happy hacking,
Christian

Hi If in the process you discover easy changes on the pharo side that can be either integrated in Pharo or packages from the Pharo side to help migration let us know. We would like to help but we are really really super full. I tried to help to package values but I did not understand the process (I know the pharo way for sure to define baseline). Now a part of the team is really concentrated to improve the VM (we would like to have a 1.5 speed up) but it requires work and concentration. We are also working on permanent space and better memory management thanks for lifeware sponsoring. Still let us know. Shaping about the spec questions esteban is on vacation and when he will reappear he will check the libgit change impacting us. Then the spec aspects. S > On 3 Aug 2022, at 16:03, Shaping <shaping@uurda.org> wrote: > > Hi Christian. > > I’m trying to port from VW 8.3 to Pharo. Is there a detailed algorithm in addition to the Workflow section mentioned here?: > > https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout <https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout> > > generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings. > … > > How does one generate the source (run the transformation)? Where are the aforementioned “defined code transformations”, Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes? > > I loaded the following packages into my VW 8.3 image: > > Values Project > Values > Values Fileout Pharo > Values Testing > Values Tools > Values Tools Testing > > Pharo Fileout Values > Pharo Transform > > Smalltalk Transform Project > Smalltalk Transform TestBundle > Smalltalk Transform Tests > Smalltalk Transform > Smalltalk Transform Model > Smalltalk Transform Testing > Smalltalk Transform TestPackage > Smalltalk Transform Tools > > Any package not updated recently (in the last few months) I didn’t load. > Did I miss anything? > 2. Port the Values package. This is easy, since no namespaces are involved. > > > This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo. Do you mean manually? Probably not. > > I feel like I’ve missed the main details of how to start the transformation. I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages. Suggestions are welcome. Thanks for doing this and sharing it. > > Shaping > > From: christian.haider <christian.haider@smalltalked-visuals.com <mailto:christian.haider@smalltalked-visuals.com>> > Sent: Wednesday, 22 June, 2022 05:42 > To: pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> > Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo > > With help from the community some issues were fixed which improved the test statistics nicely. > Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo <https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo> > > Thanks to everybody involved! > > Happy hacking, > Christian
S
Shaping
Thu, Aug 4, 2022 1:57 AM

Hi

Hi.

If in the process you discover easy changes on the pharo side that
can be either integrated in Pharo or packages from the Pharo side to help migration let us know.

Sure.  I’m working thru several things in parallel:  Christian’s Smalltalk Transformation/PDFtalk thing;, Spec2 as a way to save me from VW’s Wrapper, Willow as a way to do nice web-based graphics similar to what’s done in Roassal, but with D3.

I’m posting my progress/problems here and in Pharo Discord.

We would like to help but we are really really super full.
I tried to help to package values but I did not understand the process (I know the pharo way for sure to define baseline).
Now a part of the team is really concentrated to improve the VM (we would like to have a 1.5 speed up)

That would be great.

On that note, is anyone else following Dave Mason’s Zag effort: https://github.com/dvmason/Zag-Smalltalk

I’m looking for speed and deterministic latencies (think rigorous temporal testing, microcontrollers/IoT).  This is why I brought up the subject of Mist’s bin-based, move-less GC algorithm, which looks not only very fast, but also very predictable within narrow timing margins—hence the attraction.  Dave seems to be working by himself with a grad student who is still coming up to speed on Zag.  How do we combine efforts?

but
it requires work and concentration. We are also working on permanent space and better memory management
thanks for lifeware sponsoring.
Still let us know.

Shaping about the spec questions esteban is on vacation and when he will reappear he will check the libgit change impacting us.
Then the spec aspects.

I’m trying to get by with the smaller fonts for labels and an 11 pt. Fira Code in the code pane.  That doesn’t cause labels to overlap input fields, which is the big ergo-problem I see everywhere in Pharo if you want to up font size even a little, use a monospaced font, and use the same font everywhere.  I suppose we need a re-do of certain GUI’s in Spec2 such that we have resizable columns for labels.  All of that is doable but is some work.  The situation makes me think that doing Pharo completely as a web app (with Willow) makes the most sense if you want low-effort, painless, elastic imaging so that your fonts are always the right size, whether you are 18” from your monitor or two to three feet from an array of six monitors.  I’m just starting with Willow.  I don’t have a good feel for the speed of rendering yet.  Maybe someone can comment on this.

Shaping

On 3 Aug 2022, at 16:03, Shaping <shaping@uurda.org mailto:shaping@uurda.org > wrote:

Hi Christian.

I’m trying to port from VW 8.3 to Pharo.  Is there a detailed algorithm in addition to the Workflow section mentioned here?:

https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout

  1. generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings.

How does one generate the source (run the transformation)?  Where are the aforementioned “defined code transformations”,  Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes?

I loaded the following packages into my VW 8.3 image:

Values Project

Values

Values Fileout Pharo

Values Testing

Values Tools

Values Tools Testing

Pharo Fileout Values

Pharo Transform

Smalltalk Transform Project

Smalltalk Transform TestBundle

Smalltalk Transform Tests

Smalltalk Transform

Smalltalk Transform Model

Smalltalk Transform Testing

Smalltalk Transform TestPackage

Smalltalk Transform Tools

Any package not updated recently (in the last few months) I didn’t load.

Did I miss anything?

  1. Port the Values package. This is easy, since no namespaces are involved.

This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo.  Do you mean manually?  Probably not.

I feel like I’ve missed the main details of how to start the transformation.  I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages.  Suggestions are welcome.  Thanks for doing this and sharing it.

Shaping

From: christian.haider <christian.haider@smalltalked-visuals.com mailto:christian.haider@smalltalked-visuals.com >
Sent: Wednesday, 22 June, 2022 05:42
To: pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org
Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo

With help from the community some issues were fixed which improved the test statistics nicely.
Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo

Thanks to everybody involved!

Happy hacking,
Christian

Hi Hi. If in the process you discover easy changes on the pharo side that can be either integrated in Pharo or packages from the Pharo side to help migration let us know. Sure. I’m working thru several things in parallel: Christian’s Smalltalk Transformation/PDFtalk thing;, Spec2 as a way to save me from VW’s Wrapper, Willow as a way to do nice web-based graphics similar to what’s done in Roassal, but with D3. I’m posting my progress/problems here and in Pharo Discord. We would like to help but we are really really super full. I tried to help to package values but I did not understand the process (I know the pharo way for sure to define baseline). Now a part of the team is really concentrated to improve the VM (we would like to have a 1.5 speed up) That would be great. On that note, is anyone else following Dave Mason’s Zag effort: https://github.com/dvmason/Zag-Smalltalk I’m looking for speed and deterministic latencies (think rigorous temporal testing, microcontrollers/IoT). This is why I brought up the subject of Mist’s bin-based, move-less GC algorithm, which looks not only very fast, but also very predictable within narrow timing margins—hence the attraction. Dave seems to be working by himself with a grad student who is still coming up to speed on Zag. How do we combine efforts? but it requires work and concentration. We are also working on permanent space and better memory management thanks for lifeware sponsoring. Still let us know. Shaping about the spec questions esteban is on vacation and when he will reappear he will check the libgit change impacting us. Then the spec aspects. I’m trying to get by with the smaller fonts for labels and an 11 pt. Fira Code in the code pane. That doesn’t cause labels to overlap input fields, which is the big ergo-problem I see everywhere in Pharo if you want to up font size even a little, use a monospaced font, and use the same font everywhere. I suppose we need a re-do of certain GUI’s in Spec2 such that we have resizable columns for labels. All of that is doable but is some work. The situation makes me think that doing Pharo completely as a web app (with Willow) makes the most sense if you want low-effort, painless, elastic imaging so that your fonts are always the right size, whether you are 18” from your monitor or two to three feet from an array of six monitors. I’m just starting with Willow. I don’t have a good feel for the speed of rendering yet. Maybe someone can comment on this. Shaping On 3 Aug 2022, at 16:03, Shaping <shaping@uurda.org <mailto:shaping@uurda.org> > wrote: Hi Christian. I’m trying to port from VW 8.3 to Pharo. Is there a detailed algorithm in addition to the Workflow section mentioned here?: https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout 1. generate the source for the target dialect from VisualWorks with the defined code transformations. Fix problems so that there are no errors or warnings. … How does one generate the source (run the transformation)? Where are the aforementioned “defined code transformations”, Is there an example of how to setup the declarative template needed to map VW namespace names to Pharo class prefixes? I loaded the following packages into my VW 8.3 image: Values Project Values Values Fileout Pharo Values Testing Values Tools Values Tools Testing Pharo Fileout Values Pharo Transform Smalltalk Transform Project Smalltalk Transform TestBundle Smalltalk Transform Tests Smalltalk Transform Smalltalk Transform Model Smalltalk Transform Testing Smalltalk Transform TestPackage Smalltalk Transform Tools Any package not updated recently (in the last few months) I didn’t load. Did I miss anything? 2. Port the Values package. This is easy, since no namespaces are involved. This first instruction after VW package setup says to port the contents of the Values package from VW to Pharo. Do you mean manually? Probably not. I feel like I’ve missed the main details of how to start the transformation. I’d like to do a small fully contained test package with no external dependencies as a first test, probably my Magnitude or Collection packages. Suggestions are welcome. Thanks for doing this and sharing it. Shaping From: christian.haider <christian.haider@smalltalked-visuals.com <mailto:christian.haider@smalltalked-visuals.com> > Sent: Wednesday, 22 June, 2022 05:42 To: pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> Subject: [Pharo-users] [PDFtalk] second fileOut for Squeak and Pharo With help from the community some issues were fixed which improved the test statistics nicely. Check it out: https://wiki.pdftalk.de/doku.php?id=portingblog#second_pdftalk_fileout_for_squeak_and_pharo Thanks to everybody involved! Happy hacking, Christian