pharo-users@lists.pharo.org

Any question about pharo is welcome

View all threads

Porting from VW to Pharo

SM
Steffen Märcker
Fri, May 5, 2023 8:15 AM

Dear Christian,

I just gave it a try with a virgin 64 Bit 8.3 image and loaded

  • Smalltalk Transform Project
  • PDFtalk Project
  • Pharo FileOut PDFtalk

The code loaded fine but I had a few hiccups with the tests.

  • Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.
  • After adding this method to TestCase, all but four test run. The Pattern that is used to match in
    • testVASmalltalkAddTimeAndVersion
    • testSqueakAddTimeAndVersion
    • testPharoAddTimeAndVersion
    • testGemstoneAddTimeAndVersion
      Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'
  • In the following tests, some selectors cannot be found:
    • testMethodAddsForValuemap - #_gs_printvalueWith:
    • testMethodAddsForObject - #_gs_Symbol_literalString
    • testWriteSystemExtensionMethods - #_gs_printvalueWith:

Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.

OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?

Kind regards,
Steffen

Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):

Hi Steffen,

thanks for trying and asking!

I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.

First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!

The first thing to load is the bundle {Smalltalk Transform Project}.

To see examples you need to load the subject of transformation: PDFtalk.

You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.

At last, load the [Pharo Fileout PDFtalk] package.

I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.

I just tried and this loads without errors or warnings.

(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)

Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).

Thanks for spotting the problems with the documentation. I will get over it tomorrow.

I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.

About the project structure.

Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.

The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…

In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.

About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…

If you are seriously interested, we could have an online session to hack around with it…

Cheers,

            Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian and Richard,

thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.

First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:

  • PostscriptInterpreterTests>>_ph_testOperatorNotFound
  • ColorValueTest>>_ph_testBridgedNamedColors

Both classes are not loaded

Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses

More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like

  • Package Project Core

  • Package Project Core Tests (requires Core)

  • Package Project Extension A (requires Core)

  • Package Project Extension A Tests (requires Extension A)

  • Package Project Examples (requires Core and Extension A)

And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?

Kind regards,

Steffen

Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):

Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.

The project has been dormant for a year now because of other obligations, but I hope to resume soon.

The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.

Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.

Christian

Von: Richard Sargent richard.sargent@gemtalksystems.com
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform.

The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.

PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.

On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker merkste@web.de wrote:

Hi!

this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.

  1. Is the workflow still up to date or is there a new way of doing things?
  2. From what I understand so far, I just need the following package from
    Store:
  • Smalltalk Transform Project
  1. Is there a page that documents the process process in general?
    https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific
    for PDFtalk like the thread on this list.

Kind regards,
Steffen

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

Dear Christian, I just gave it a try with a virgin 64 Bit 8.3 image and loaded * Smalltalk Transform Project * PDFtalk Project * Pharo FileOut PDFtalk The code loaded fine but I had a few hiccups with the tests. * Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide. * After adding this method to TestCase, all but four test run. The Pattern that is used to match in - testVASmalltalkAddTimeAndVersion - testSqueakAddTimeAndVersion - testPharoAddTimeAndVersion - testGemstoneAddTimeAndVersion Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *' * In the following tests, some selectors cannot be found: - testMethodAddsForValuemap - #_gs_printvalueWith: - testMethodAddsForObject - #_gs_Symbol_literalString - testWriteSystemExtensionMethods - #_gs_printvalueWith: Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today. OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate? Kind regards, Steffen Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00): Hi Steffen, thanks for trying and asking! I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly. First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels! The first thing to load is the bundle {Smalltalk Transform Project}. To see examples you need to load the subject of transformation: PDFtalk. You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image. At last, load the [Pharo Fileout PDFtalk] package. I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer. I just tried and this loads without errors or warnings. (Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.) Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state). Thanks for spotting the problems with the documentation. I will get over it tomorrow. I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course. About the project structure. Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes. The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon… In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places. About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations… If you are seriously interested, we could have an online session to hack around with it… Cheers, Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Dienstag, 11. April 2023 17:52 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian and Richard, thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay. First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions: - PostscriptInterpreterTests>>_ph_testOperatorNotFound - ColorValueTest>>_ph_testBridgedNamedColors Both classes are not loaded Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like - Package Project Core - Package Project Core Tests (requires Core) - Package Project Extension A (requires Core) - Package Project Extension A Tests (requires Extension A) - Package Project Examples (requires Core and Extension A) And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson? Kind regards, Steffen Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00): Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome. The project has been dormant for a year now because of other obligations, but I hope to resume soon. The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate. Any help with this would be welcome, for example by asking questions or by criticizing concrete issues. Christian Von: Richard Sargent <richard.sargent@gemtalksystems.com> Gesendet: Donnerstag, 6. April 2023 17:55 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform. The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST. PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired. On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker <merkste@web.de> wrote: Hi! this topic pops up from time to time on the mailing list. I want to port a number of packages to Pharo. I remember "Shaping" asking this for porting PDFtalk. 1. Is the workflow still up to date or is there a new way of doing things? 2. From what I understand so far, I just need the following package from Store: - Smalltalk Transform Project 3. Is there a page that documents the process process in general? https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific for PDFtalk like the thread on this list. Kind regards, Steffen -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter. -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
CH
Christian Haider
Fri, May 5, 2023 1:30 PM

Hi Steffen,

you have the wrong version of SUnitToo.

I guess, yours is loaded from Store (7.10 - 2,tgriggs) from 2013. This doesn’t have assert:equals: (interestingly).

You need to load the parcel (version '8.1 - 1') (with assert:equals:)

Maybe you have used a different setting for the Store prerequisites than https://wiki.pdftalk.de/doku.php?id=storeaccess . (search parcels first).

I also published a new version where [SUnitToo] is explicitly marked to load the parcel.

To circumvent this annoying issue, I usually load [SUnitToo(ls)] first thing in a new image with the [StoreForPostgreSQL] parcel.

I am building a new image and protocol every manual step and run the tests. I thought that I fixed all issues…

Thank you for the match pattern! I didn’t see this, because I don’t have the NC version, but use the commercial 8.3.

About the failing tests: Thanks! I did not test this in isolation… I will fix them.

Usually, because I work on all dialects, I have also the [(Gemstone|Squeak|VASmalltalk) FileOut PDFtalk] packages loaded.

About cryptography: No. I never needed it and I am happy about that :).

I have no intention to do something in that direction, but I could help anybody who want to do that.

Happy hacking,

            Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian,

I just gave it a try with a virgin 64 Bit 8.3 image and loaded

  • Smalltalk Transform Project

  • PDFtalk Project

  • Pharo FileOut PDFtalk

The code loaded fine but I had a few hiccups with the tests.

  • Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.

  • After adding this method to TestCase, all but four test run. The Pattern that is used to match in

    • testVASmalltalkAddTimeAndVersion

    • testSqueakAddTimeAndVersion

    • testPharoAddTimeAndVersion

    • testGemstoneAddTimeAndVersion

    Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'

  • In the following tests, some selectors cannot be found:

    • testMethodAddsForValuemap - #_gs_printvalueWith:

    • testMethodAddsForObject - #_gs_Symbol_literalString

    • testWriteSystemExtensionMethods - #_gs_printvalueWith:

Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.

OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?

Kind regards,

Steffen

Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):

Hi Steffen,

thanks for trying and asking!

I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.

First, you need a non-default setting for the store prerequisites. I added this to the store access page:  https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!

The first thing to load is the bundle {Smalltalk Transform Project}.

To see examples you need to load the subject of transformation: PDFtalk.

You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.

At last, load the [Pharo Fileout PDFtalk] package.

I improved the landing page  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.

I just tried and this loads without errors or warnings.

(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)

Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).

Thanks for spotting the problems with the documentation. I will get over it tomorrow.

I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.

About the project structure.

Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.

The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…

In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.

About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…

If you are seriously interested, we could have an online session to hack around with it…

Cheers,

            Christian

Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian and Richard,

thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.

First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:

  • PostscriptInterpreterTests>>_ph_testOperatorNotFound
  • ColorValueTest>>_ph_testBridgedNamedColors

Both classes are not loaded

Second, it appears that some of the selectors mentioned on  https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses

More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like

  • Package Project Core

  • Package Project Core Tests (requires Core)

  • Package Project Extension A (requires Core)

  • Package Project Extension A Tests (requires Extension A)

  • Package Project Examples (requires Core and Extension A)

And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?

Kind regards,

Steffen

Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):

Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.

The project has been dormant for a year now because of other obligations, but I hope to resume soon.

The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.

Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.

Christian

Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo

The best(?) place to start is perhaps  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.

The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.

PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.

On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:

Hi!

this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.

  1. Is the workflow still up to date or is there a new way of doing things?
  2. From what I understand so far, I just need the following package from
    Store:
  • Smalltalk Transform Project
  1. Is there a page that documents the process process in general?
    https://wiki.pdftalk.de/doku.php?id=setupvisualworks https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific
    for PDFtalk like the thread on this list.

Kind regards,
Steffen

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

Hi Steffen, you have the wrong version of SUnitToo. I guess, yours is loaded from Store (7.10 - 2,tgriggs) from 2013. This doesn’t have assert:equals: (interestingly). You need to load the parcel (version '8.1 - 1') (with assert:equals:) Maybe you have used a different setting for the Store prerequisites than https://wiki.pdftalk.de/doku.php?id=storeaccess . (search parcels first). I also published a new version where [SUnitToo] is explicitly marked to load the parcel. To circumvent this annoying issue, I usually load [SUnitToo(ls)] first thing in a new image with the [StoreForPostgreSQL] parcel. I am building a new image and protocol every manual step and run the tests. I thought that I fixed all issues… Thank you for the match pattern! I didn’t see this, because I don’t have the NC version, but use the commercial 8.3. About the failing tests: Thanks! I did not test this in isolation… I will fix them. Usually, because I work on all dialects, I have also the [(Gemstone|Squeak|VASmalltalk) FileOut PDFtalk] packages loaded. About cryptography: No. I never needed it and I am happy about that :). I have no intention to do something in that direction, but I could help anybody who want to do that. Happy hacking, Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Freitag, 5. Mai 2023 10:15 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian, I just gave it a try with a virgin 64 Bit 8.3 image and loaded * Smalltalk Transform Project * PDFtalk Project * Pharo FileOut PDFtalk The code loaded fine but I had a few hiccups with the tests. * Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide. * After adding this method to TestCase, all but four test run. The Pattern that is used to match in - testVASmalltalkAddTimeAndVersion - testSqueakAddTimeAndVersion - testPharoAddTimeAndVersion - testGemstoneAddTimeAndVersion Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *' * In the following tests, some selectors cannot be found: - testMethodAddsForValuemap - #_gs_printvalueWith: - testMethodAddsForObject - #_gs_Symbol_literalString - testWriteSystemExtensionMethods - #_gs_printvalueWith: Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today. OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate? Kind regards, Steffen Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00): Hi Steffen, thanks for trying and asking! I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly. First, you need a non-default setting for the store prerequisites. I added this to the store access page: <https://wiki.pdftalk.de/doku.php?id=storeaccess> https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels! The first thing to load is the bundle {Smalltalk Transform Project}. To see examples you need to load the subject of transformation: PDFtalk. You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image. At last, load the [Pharo Fileout PDFtalk] package. I improved the landing page <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer. I just tried and this loads without errors or warnings. (Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.) Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state). Thanks for spotting the problems with the documentation. I will get over it tomorrow. I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course. About the project structure. Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes. The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon… In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places. About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations… If you are seriously interested, we could have an online session to hack around with it… Cheers, Christian Von: Steffen Märcker <merkste@web.de <mailto:merkste@web.de> > Gesendet: Dienstag, 11. April 2023 17:52 An: Any question about pharo is welcome < <mailto:pharo-users@lists.pharo.org> pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian and Richard, thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay. First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions: - PostscriptInterpreterTests>>_ph_testOperatorNotFound - ColorValueTest>>_ph_testBridgedNamedColors Both classes are not loaded Second, it appears that some of the selectors mentioned on <https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation> https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like - Package Project Core - Package Project Core Tests (requires Core) - Package Project Extension A (requires Core) - Package Project Extension A Tests (requires Extension A) - Package Project Examples (requires Core and Extension A) And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson? Kind regards, Steffen Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00): Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome. The project has been dormant for a year now because of other obligations, but I hope to resume soon. The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate. Any help with this would be welcome, for example by asking questions or by criticizing concrete issues. Christian Von: Richard Sargent < <mailto:richard.sargent@gemtalksystems.com> richard.sargent@gemtalksystems.com> Gesendet: Donnerstag, 6. April 2023 17:55 An: Any question about pharo is welcome < <mailto:pharo-users@lists.pharo.org> pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo The best(?) place to start is perhaps <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform. The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST. PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired. On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < <mailto:merkste@web.de> merkste@web.de> wrote: Hi! this topic pops up from time to time on the mailing list. I want to port a number of packages to Pharo. I remember "Shaping" asking this for porting PDFtalk. 1. Is the workflow still up to date or is there a new way of doing things? 2. From what I understand so far, I just need the following package from Store: - Smalltalk Transform Project 3. Is there a page that documents the process process in general? <https://wiki.pdftalk.de/doku.php?id=setupvisualworks> https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific for PDFtalk like the thread on this list. Kind regards, Steffen -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter. -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
CH
Christian Haider
Fri, May 5, 2023 1:54 PM

One more thing about SUnit and SUnitToo: I would not switch, because it all transports nicely to Pharo, because the class is named the same (and the namespace is dropped on transform. Look at TargetSmalltalk class>>#namespacesToIgnore).

Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian,

I just gave it a try with a virgin 64 Bit 8.3 image and loaded

  • Smalltalk Transform Project

  • PDFtalk Project

  • Pharo FileOut PDFtalk

The code loaded fine but I had a few hiccups with the tests.

  • Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.

  • After adding this method to TestCase, all but four test run. The Pattern that is used to match in

    • testVASmalltalkAddTimeAndVersion

    • testSqueakAddTimeAndVersion

    • testPharoAddTimeAndVersion

    • testGemstoneAddTimeAndVersion

    Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'

  • In the following tests, some selectors cannot be found:

    • testMethodAddsForValuemap - #_gs_printvalueWith:

    • testMethodAddsForObject - #_gs_Symbol_literalString

    • testWriteSystemExtensionMethods - #_gs_printvalueWith:

Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.

OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?

Kind regards,

Steffen

Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):

Hi Steffen,

thanks for trying and asking!

I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.

First, you need a non-default setting for the store prerequisites. I added this to the store access page:  https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!

The first thing to load is the bundle {Smalltalk Transform Project}.

To see examples you need to load the subject of transformation: PDFtalk.

You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.

At last, load the [Pharo Fileout PDFtalk] package.

I improved the landing page  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.

I just tried and this loads without errors or warnings.

(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)

Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).

Thanks for spotting the problems with the documentation. I will get over it tomorrow.

I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.

About the project structure.

Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.

The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…

In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.

About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…

If you are seriously interested, we could have an online session to hack around with it…

Cheers,

            Christian

Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome <pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org >
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian and Richard,

thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.

First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:

  • PostscriptInterpreterTests>>_ph_testOperatorNotFound
  • ColorValueTest>>_ph_testBridgedNamedColors

Both classes are not loaded

Second, it appears that some of the selectors mentioned on  https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses

More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like

  • Package Project Core

  • Package Project Core Tests (requires Core)

  • Package Project Extension A (requires Core)

  • Package Project Extension A Tests (requires Extension A)

  • Package Project Examples (requires Core and Extension A)

And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?

Kind regards,

Steffen

Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):

Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.

The project has been dormant for a year now because of other obligations, but I hope to resume soon.

The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.

Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.

Christian

Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo

The best(?) place to start is perhaps  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.

The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.

PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.

On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:

Hi!

this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.

  1. Is the workflow still up to date or is there a new way of doing things?
  2. From what I understand so far, I just need the following package from
    Store:
  • Smalltalk Transform Project
  1. Is there a page that documents the process process in general?
    https://wiki.pdftalk.de/doku.php?id=setupvisualworks https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific
    for PDFtalk like the thread on this list.

Kind regards,
Steffen

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

One more thing about SUnit and SUnitToo: I would not switch, because it all transports nicely to Pharo, because the class is named the same (and the namespace is dropped on transform. Look at TargetSmalltalk class>>#namespacesToIgnore). Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Freitag, 5. Mai 2023 10:15 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian, I just gave it a try with a virgin 64 Bit 8.3 image and loaded * Smalltalk Transform Project * PDFtalk Project * Pharo FileOut PDFtalk The code loaded fine but I had a few hiccups with the tests. * Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide. * After adding this method to TestCase, all but four test run. The Pattern that is used to match in - testVASmalltalkAddTimeAndVersion - testSqueakAddTimeAndVersion - testPharoAddTimeAndVersion - testGemstoneAddTimeAndVersion Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *' * In the following tests, some selectors cannot be found: - testMethodAddsForValuemap - #_gs_printvalueWith: - testMethodAddsForObject - #_gs_Symbol_literalString - testWriteSystemExtensionMethods - #_gs_printvalueWith: Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today. OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate? Kind regards, Steffen Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00): Hi Steffen, thanks for trying and asking! I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly. First, you need a non-default setting for the store prerequisites. I added this to the store access page: <https://wiki.pdftalk.de/doku.php?id=storeaccess> https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels! The first thing to load is the bundle {Smalltalk Transform Project}. To see examples you need to load the subject of transformation: PDFtalk. You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image. At last, load the [Pharo Fileout PDFtalk] package. I improved the landing page <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer. I just tried and this loads without errors or warnings. (Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.) Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state). Thanks for spotting the problems with the documentation. I will get over it tomorrow. I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course. About the project structure. Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes. The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon… In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places. About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations… If you are seriously interested, we could have an online session to hack around with it… Cheers, Christian Von: Steffen Märcker <merkste@web.de <mailto:merkste@web.de> > Gesendet: Dienstag, 11. April 2023 17:52 An: Any question about pharo is welcome <pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> > Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian and Richard, thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay. First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions: - PostscriptInterpreterTests>>_ph_testOperatorNotFound - ColorValueTest>>_ph_testBridgedNamedColors Both classes are not loaded Second, it appears that some of the selectors mentioned on <https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation> https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like - Package Project Core - Package Project Core Tests (requires Core) - Package Project Extension A (requires Core) - Package Project Extension A Tests (requires Extension A) - Package Project Examples (requires Core and Extension A) And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson? Kind regards, Steffen Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00): Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome. The project has been dormant for a year now because of other obligations, but I hope to resume soon. The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate. Any help with this would be welcome, for example by asking questions or by criticizing concrete issues. Christian Von: Richard Sargent < <mailto:richard.sargent@gemtalksystems.com> richard.sargent@gemtalksystems.com> Gesendet: Donnerstag, 6. April 2023 17:55 An: Any question about pharo is welcome < <mailto:pharo-users@lists.pharo.org> pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo The best(?) place to start is perhaps <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform. The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST. PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired. On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < <mailto:merkste@web.de> merkste@web.de> wrote: Hi! this topic pops up from time to time on the mailing list. I want to port a number of packages to Pharo. I remember "Shaping" asking this for porting PDFtalk. 1. Is the workflow still up to date or is there a new way of doing things? 2. From what I understand so far, I just need the following package from Store: - Smalltalk Transform Project 3. Is there a page that documents the process process in general? <https://wiki.pdftalk.de/doku.php?id=setupvisualworks> https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific for PDFtalk like the thread on this list. Kind regards, Steffen -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter. -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
CH
Christian Haider
Sat, May 6, 2023 5:05 PM

All references disentangled. Everything should be clean now.

Happy hacking,

Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian,

I just gave it a try with a virgin 64 Bit 8.3 image and loaded

  • Smalltalk Transform Project

  • PDFtalk Project

  • Pharo FileOut PDFtalk

The code loaded fine but I had a few hiccups with the tests.

  • Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.

  • After adding this method to TestCase, all but four test run. The Pattern that is used to match in

    • testVASmalltalkAddTimeAndVersion

    • testSqueakAddTimeAndVersion

    • testPharoAddTimeAndVersion

    • testGemstoneAddTimeAndVersion

    Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'

  • In the following tests, some selectors cannot be found:

    • testMethodAddsForValuemap - #_gs_printvalueWith:

    • testMethodAddsForObject - #_gs_Symbol_literalString

    • testWriteSystemExtensionMethods - #_gs_printvalueWith:

Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.

OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?

Kind regards,

Steffen

Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):

Hi Steffen,

thanks for trying and asking!

I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.

First, you need a non-default setting for the store prerequisites. I added this to the store access page:  https://wiki.pdftalk.de/doku.php?id=storeaccess https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!

The first thing to load is the bundle {Smalltalk Transform Project}.

To see examples you need to load the subject of transformation: PDFtalk.

You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.

At last, load the [Pharo Fileout PDFtalk] package.

I improved the landing page  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.

I just tried and this loads without errors or warnings.

(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)

Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).

Thanks for spotting the problems with the documentation. I will get over it tomorrow.

I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.

About the project structure.

Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.

The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…

In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.

About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…

If you are seriously interested, we could have an online session to hack around with it…

Cheers,

            Christian

Von: Steffen Märcker <merkste@web.de mailto:merkste@web.de >
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome <pharo-users@lists.pharo.org mailto:pharo-users@lists.pharo.org >
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian and Richard,

thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.

First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:

  • PostscriptInterpreterTests>>_ph_testOperatorNotFound
  • ColorValueTest>>_ph_testBridgedNamedColors

Both classes are not loaded

Second, it appears that some of the selectors mentioned on  https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses

More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like

  • Package Project Core

  • Package Project Core Tests (requires Core)

  • Package Project Extension A (requires Core)

  • Package Project Extension A Tests (requires Extension A)

  • Package Project Examples (requires Core and Extension A)

And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?

Kind regards,

Steffen

Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):

Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.

The project has been dormant for a year now because of other obligations, but I hope to resume soon.

The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.

Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.

Christian

Von: Richard Sargent < mailto:richard.sargent@gemtalksystems.com richard.sargent@gemtalksystems.com>
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome < mailto:pharo-users@lists.pharo.org pharo-users@lists.pharo.org>
Betreff: [Pharo-users] Re: Porting from VW to Pharo

The best(?) place to start is perhaps  https://wiki.pdftalk.de/doku.php?id=smalltalktransform https://wiki.pdftalk.de/doku.php?id=smalltalktransform.

The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.

PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.

On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < mailto:merkste@web.de merkste@web.de> wrote:

Hi!

this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.

  1. Is the workflow still up to date or is there a new way of doing things?
  2. From what I understand so far, I just need the following package from
    Store:
  • Smalltalk Transform Project
  1. Is there a page that documents the process process in general?
    https://wiki.pdftalk.de/doku.php?id=setupvisualworks https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific
    for PDFtalk like the thread on this list.

Kind regards,
Steffen

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

All references disentangled. Everything should be clean now. Happy hacking, Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Freitag, 5. Mai 2023 10:15 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian, I just gave it a try with a virgin 64 Bit 8.3 image and loaded * Smalltalk Transform Project * PDFtalk Project * Pharo FileOut PDFtalk The code loaded fine but I had a few hiccups with the tests. * Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide. * After adding this method to TestCase, all but four test run. The Pattern that is used to match in - testVASmalltalkAddTimeAndVersion - testSqueakAddTimeAndVersion - testPharoAddTimeAndVersion - testGemstoneAddTimeAndVersion Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *' * In the following tests, some selectors cannot be found: - testMethodAddsForValuemap - #_gs_printvalueWith: - testMethodAddsForObject - #_gs_Symbol_literalString - testWriteSystemExtensionMethods - #_gs_printvalueWith: Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today. OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate? Kind regards, Steffen Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00): Hi Steffen, thanks for trying and asking! I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly. First, you need a non-default setting for the store prerequisites. I added this to the store access page: <https://wiki.pdftalk.de/doku.php?id=storeaccess> https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels! The first thing to load is the bundle {Smalltalk Transform Project}. To see examples you need to load the subject of transformation: PDFtalk. You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image. At last, load the [Pharo Fileout PDFtalk] package. I improved the landing page <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer. I just tried and this loads without errors or warnings. (Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.) Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state). Thanks for spotting the problems with the documentation. I will get over it tomorrow. I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course. About the project structure. Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes. The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon… In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places. About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations… If you are seriously interested, we could have an online session to hack around with it… Cheers, Christian Von: Steffen Märcker <merkste@web.de <mailto:merkste@web.de> > Gesendet: Dienstag, 11. April 2023 17:52 An: Any question about pharo is welcome <pharo-users@lists.pharo.org <mailto:pharo-users@lists.pharo.org> > Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian and Richard, thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay. First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions: - PostscriptInterpreterTests>>_ph_testOperatorNotFound - ColorValueTest>>_ph_testBridgedNamedColors Both classes are not loaded Second, it appears that some of the selectors mentioned on <https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation> https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like - Package Project Core - Package Project Core Tests (requires Core) - Package Project Extension A (requires Core) - Package Project Extension A Tests (requires Extension A) - Package Project Examples (requires Core and Extension A) And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson? Kind regards, Steffen Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00): Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome. The project has been dormant for a year now because of other obligations, but I hope to resume soon. The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate. Any help with this would be welcome, for example by asking questions or by criticizing concrete issues. Christian Von: Richard Sargent < <mailto:richard.sargent@gemtalksystems.com> richard.sargent@gemtalksystems.com> Gesendet: Donnerstag, 6. April 2023 17:55 An: Any question about pharo is welcome < <mailto:pharo-users@lists.pharo.org> pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo The best(?) place to start is perhaps <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform. The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST. PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired. On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker < <mailto:merkste@web.de> merkste@web.de> wrote: Hi! this topic pops up from time to time on the mailing list. I want to port a number of packages to Pharo. I remember "Shaping" asking this for porting PDFtalk. 1. Is the workflow still up to date or is there a new way of doing things? 2. From what I understand so far, I just need the following package from Store: - Smalltalk Transform Project 3. Is there a page that documents the process process in general? <https://wiki.pdftalk.de/doku.php?id=setupvisualworks> https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific for PDFtalk like the thread on this list. Kind regards, Steffen -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter. -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter
SM
Steffen Märcker
Mon, May 8, 2023 9:16 AM

Hi Christian!

I'll have a look. Over the weekend, I pushed a bit forward. The #category: worked as expected. However, I observed that Pharo seems to create packages and package tags implicitly. For instance:

  • If I import the VW packages "Transducers" and "Transducers Tests", two packages are created as expected.
  • If I import "Transducers-Tests" (note the -) instead, no new package is created and a new package tag is created instead.

This means, we have to be careful when porting packages including - in their name from VW to Pharo. So far I could not figure out how to avoid this automatic categorization. But maybe I am missing something as a Pharo newbee.

I was also experimenting with baselines. It would be nice to be able to define a baseline already in the export. For now, I created a package "BaselineOf<myProject>" with a class of the same name. It inherits from a dummy class "BaselineOf" in my project transform package. It would be nice to have the baseline in this package too and to create the same-named package during the export. Is there a way to do this right now?

I noticed in the wiki that #unusedClasses: is #ignoredNames: now, right?

Regarding crypto in PDFtalk: I was just wondering. This is quite difficult to do right, I am certainly missing too much knowledge to do it on my own right now. Maybe some day. ;-)

Important: Thank you for your kind support!

Best,
Steffen

Christian Haider schrieb am Samstag, 6. Mai 2023 19:05:22 (+02:00):

All references disentangled. Everything should be clean now.

Happy hacking,

Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Freitag, 5. Mai 2023 10:15
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian,

I just gave it a try with a virgin 64 Bit 8.3 image and loaded

  • Smalltalk Transform Project

  • PDFtalk Project

  • Pharo FileOut PDFtalk

The code loaded fine but I had a few hiccups with the tests.

  • Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide.

  • After adding this method to TestCase, all but four test run. The Pattern that is used to match in

    • testVASmalltalkAddTimeAndVersion

    • testSqueakAddTimeAndVersion

    • testPharoAddTimeAndVersion

    • testGemstoneAddTimeAndVersion

    Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *'

  • In the following tests, some selectors cannot be found:

    • testMethodAddsForValuemap - #_gs_printvalueWith:

    • testMethodAddsForObject - #_gs_Symbol_literalString

    • testWriteSystemExtensionMethods - #_gs_printvalueWith:

Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today.

OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate?

Kind regards,

Steffen

Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00):

Hi Steffen,

thanks for trying and asking!

I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly.

First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels!

The first thing to load is the bundle {Smalltalk Transform Project}.

To see examples you need to load the subject of transformation: PDFtalk.

You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image.

At last, load the [Pharo Fileout PDFtalk] package.

I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer.

I just tried and this loads without errors or warnings.

(Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.)

Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state).

Thanks for spotting the problems with the documentation. I will get over it tomorrow.

I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course.

About the project structure.

Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes.

The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon…

In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places.

About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations…

If you are seriously interested, we could have an online session to hack around with it…

Cheers,

            Christian

Von: Steffen Märcker merkste@web.de
Gesendet: Dienstag, 11. April 2023 17:52
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

Dear Christian and Richard,

thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay.

First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions:

  • PostscriptInterpreterTests>>_ph_testOperatorNotFound
  • ColorValueTest>>_ph_testBridgedNamedColors

Both classes are not loaded

Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses

More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like

  • Package Project Core

  • Package Project Core Tests (requires Core)

  • Package Project Extension A (requires Core)

  • Package Project Extension A Tests (requires Extension A)

  • Package Project Examples (requires Core and Extension A)

And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson?

Kind regards,

Steffen

Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00):

Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome.

The project has been dormant for a year now because of other obligations, but I hope to resume soon.

The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate.

Any help with this would be welcome, for example by asking questions or by criticizing concrete issues.

Christian

Von: Richard Sargent richard.sargent@gemtalksystems.com
Gesendet: Donnerstag, 6. April 2023 17:55
An: Any question about pharo is welcome pharo-users@lists.pharo.org
Betreff: [Pharo-users] Re: Porting from VW to Pharo

The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform.

The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST.

PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired.

On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker merkste@web.de wrote:

Hi!

this topic pops up from time to time on the mailing list. I want to port a
number of packages to Pharo. I remember "Shaping" asking this for porting
PDFtalk.

  1. Is the workflow still up to date or is there a new way of doing things?
  2. From what I understand so far, I just need the following package from
    Store:
  • Smalltalk Transform Project
  1. Is there a page that documents the process process in general?
    https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific
    for PDFtalk like the thread on this list.

Kind regards,
Steffen

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter.

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

--
Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter

Hi Christian! I'll have a look. Over the weekend, I pushed a bit forward. The #category: worked as expected. However, I observed that Pharo seems to create packages and package tags implicitly. For instance: - If I import the VW packages "Transducers" and "Transducers Tests", two packages are created as expected. - If I import "Transducers-Tests" (note the -) instead, no new package is created and a new package tag is created instead. This means, we have to be careful when porting packages including - in their name from VW to Pharo. So far I could not figure out how to avoid this automatic categorization. But maybe I am missing something as a Pharo newbee. I was also experimenting with baselines. It would be nice to be able to define a baseline already in the export. For now, I created a package "BaselineOf<myProject>" with a class of the same name. It inherits from a dummy class "BaselineOf" in my project transform package. It would be nice to have the baseline in this package too and to create the same-named package during the export. Is there a way to do this right now? I noticed in the wiki that #unusedClasses: is #ignoredNames: now, right? Regarding crypto in PDFtalk: I was just wondering. This is quite difficult to do right, I am certainly missing too much knowledge to do it on my own right now. Maybe some day. ;-) Important: Thank you for your kind support! Best, Steffen Christian Haider schrieb am Samstag, 6. Mai 2023 19:05:22 (+02:00): All references disentangled. Everything should be clean now. Happy hacking, Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Freitag, 5. Mai 2023 10:15 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian, I just gave it a try with a virgin 64 Bit 8.3 image and loaded * Smalltalk Transform Project * PDFtalk Project * Pharo FileOut PDFtalk The code loaded fine but I had a few hiccups with the tests. * Many tests use #assert:equals: which SUnitToo (loaded automatically) surprisingly does not provide. * After adding this method to TestCase, all but four test run. The Pattern that is used to match in - testVASmalltalkAddTimeAndVersion - testSqueakAddTimeAndVersion - testPharoAddTimeAndVersion - testGemstoneAddTimeAndVersion Did not take PUL into account. This works: '# From VisualWorks®*, * of * on * at *' * In the following tests, some selectors cannot be found: - testMethodAddsForValuemap - #_gs_printvalueWith: - testMethodAddsForObject - #_gs_Symbol_literalString - testWriteSystemExtensionMethods - #_gs_printvalueWith: Btw, I switched to SUnit to ease Porting to Pharo. I'll have a look into the #category parameter today. OT PDFtalk: Do you have plans to support verifying signatures in PDF files or singing using a certificate? Kind regards, Steffen Christian Haider schrieb am Mittwoch, 12. April 2023 21:07:05 (+02:00): Hi Steffen, thanks for trying and asking! I was loading the code needed into a 8.3, 64bit virgin image and realized that loading is not that straight forward and described too briefly. First, you need a non-default setting for the store prerequisites. I added this to the store access page: https://wiki.pdftalk.de/doku.php?id=storeaccess . It is critical to load the prereqs from store and not from parcels! The first thing to load is the bundle {Smalltalk Transform Project}. To see examples you need to load the subject of transformation: PDFtalk. You need to load to top bundle {PDFtalk Project} which includes the test classes you are missing in your image. At last, load the [Pharo Fileout PDFtalk] package. I improved the landing page https://wiki.pdftalk.de/doku.php?id=smalltalktransform a bit to make this clearer. I just tried and this loads without errors or warnings. (Actually good that the load did not work for you, because I added a mistake in January which causes a 8.3 image to crash when you open a browser. Sorry for that.) Now you should be all set for generating a fileout of PDFtalk for Pharo (in the current unfinished state). Thanks for spotting the problems with the documentation. I will get over it tomorrow. I am quick in renaming and making structural changes when things are not working as I want… But the docs should be correct, of course. About the project structure. Currently, everything belonging to a project, need to be transformed in one go. This is not a big deal, because all code transformations are described on the package level and can be easily recombined as the bundle structure changes. The last piece of the transformation puzzle is to make the transformations modular, so that the renamings of prerequisite packages can be used without the need to transform the prereqs as well. I hope to get at that soon… In the meantime, I would start with your Core project to get a feel for the mechanics. I am sure the rest will fall nicely into its places. About how to structure your code in Pharo with Git, I don’t know much about that. Actually, I would also be interested in some guidelines to bake them into the transformations… If you are seriously interested, we could have an online session to hack around with it… Cheers, Christian Von: Steffen Märcker <merkste@web.de> Gesendet: Dienstag, 11. April 2023 17:52 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo Dear Christian and Richard, thanks for your answers. I'll try to go through the process step by step and come back with questions to the list if that's okay. First, after loading the "Pharo Fileout PDFTalk", VW (8.3, 64 Bit) shows two unloadable definitions: - PostscriptInterpreterTests>>_ph_testOperatorNotFound - ColorValueTest>>_ph_testBridgedNamedColors Both classes are not loaded Second, it appears that some of the selectors mentioned on https://wiki.pdftalk.de/doku.php?id=smalltalktransformdocumentation have been renamed, e.g., PackageChanges>>unusedClasses More general, regarding project structure. What is the best approach to port a project that consists of multiple loosely coupled packages (not in a bundle) some of which being optional? Like - Package Project Core - Package Project Core Tests (requires Core) - Package Project Extension A (requires Core) - Package Project Extension A Tests (requires Extension A) - Package Project Examples (requires Core and Extension A) And how should I structure this on the Pharo site and in an iceberg repository? One Git repository per package or all in the same? Is there a guide to this or a specific Mooc lesson? Kind regards, Steffen Christian Haider schrieb am Donnerstag, 6. April 2023 18:16:00 (+02:00): Yes, PDFtalk is the only example, because it was created to port that library. Any other uses are welcome. The project has been dormant for a year now because of other obligations, but I hope to resume soon. The documentation is, as Richard notes, in a suboptimal state. I think that the information is still accurate. Any help with this would be welcome, for example by asking questions or by criticizing concrete issues. Christian Von: Richard Sargent <richard.sargent@gemtalksystems.com> Gesendet: Donnerstag, 6. April 2023 17:55 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: Porting from VW to Pharo The best(?) place to start is perhaps https://wiki.pdftalk.de/doku.php?id=smalltalktransform. The only examples are various ports of PDFtalk (from VisualWorks) to Pharo, Squeak, GemStone, and VAST. PDFtalk is quite complex and the porting rules are correspondingly complex. The Transform documentation does leave something to be desired. On Thu, Apr 6, 2023 at 8:22 AM Steffen Märcker <merkste@web.de> wrote: Hi! this topic pops up from time to time on the mailing list. I want to port a number of packages to Pharo. I remember "Shaping" asking this for porting PDFtalk. 1. Is the workflow still up to date or is there a new way of doing things? 2. From what I understand so far, I just need the following package from Store: - Smalltalk Transform Project 3. Is there a page that documents the process process in general? https://wiki.pdftalk.de/doku.php?id=setupvisualworks seems to be specific for PDFtalk like the thread on this list. Kind regards, Steffen -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos von vivaldi.com herunter. -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter -- Gesendet mit Vivaldi Mail. Laden Sie Vivaldi kostenlos unter vivaldi.com herunter