Hi Stef,
Great! Thank you for your work. Good example for the tonel format. Which sources were you using? How did you generate this? Do you use VW to create the output? For the last ESUG (2.5 years ago sigh), I already did the transformation for Values for Pharo. Thanks to you, I revised them and published the result on GitHub (https://github.com/PortingPDFtalk/PharoValues) and added a Pharo porting page to the wiki (https://wiki.pdftalk.de/doku.php?id=pharoport). Please have a look. The fileouts are for Pharo versions 6.1, 7.0, 8.0 and 9.0 (7.0 to 9.0 have identical sources). The sources load without errors or warnings and all 27 tests pass. Some of the problems in your code have to do with OrderedDictionary as superclass of Valuemap. When I did my first round on the port, I had a class OrderedDictionary in my Values implementation. Unfortunately, OrderedDictionary does not work as I expected. (OrderedDictionary with: #a -> 1 with: #b -> 2) = (OrderedDictionary with: #b -> 2 with: #a -> 1) answers true, although the order is different. Therefore, it cannot be used as value. Instead of raising this issue on a Pharo list (sorry), I decided to use a new name: Valuemap. A Valuemap is an OrderedDictionary where the order is relevant for comparisons. Squeak had the same problem where it was considered a bug and fixed. While I subclass Dictionary for Valuemap in Pharo, I can use OrderedDictionary in Squeak. This removes a lot of methods from the fileout. A remark about the renamings you propose in your commit comment. Thank you for the suggestions, but I decline for two reasons: 1. Names for classes, methods and variables are very important to me. Naming is part of the creative expression of the code author. I do think much about the right names and therefore, I claim the liberty and right to name things according to my feeling. Maybe my names are a bit influenced by German, where we tend to have longer names. Therefore, my names are not so heavily camel-cased :). In contrast, Pharo has quite a different style with a love for camel-casing :) (#timeStamp, #nanoSeconds etc.). 2. From a practical view, it would be a lot of work to rename all references to the items in this basic systems library. There is a lot of code out there using it. Of course, if there is a good reason for a renaming (like a spelling mistake or misleading name), it should be done and I am appreciating any suggestions. Happy hacking, Christian Von: seasidebook <seasideb...@free.fr> Gesendet: Donnerstag, 24. März 2022 21:04 An: Any question about pharo is welcome <pharo-users@lists.pharo.org>; Pharo Development List <pharo-...@lists.pharo.org> Cc: christian.hai...@smalltalked-visuals.com Betreff: Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks Hi guys I started to port Values to Pharo. If you want to give an hand my current effort is here. <https://github.com/Ducasse/PharoValues> https://github.com/Ducasse/PharoValues should migrate license and other stuff too. S On 1 Mar 2022, at 19:08, <mailto:christian.hai...@smalltalked-visuals.com> christian.hai...@smalltalked-visuals.com wrote: Hi all, PDFtalk is a PDF library for VisualWorks[1]. The library has been ported successfully to Gemstone[2]. Now, there is interest from companies in a port to Squeak and VA Smalltalk. The project[3] has started and we are making good progress. The first step: porting the Values package. This is easy, because there are no namespace issues. The next step is to implement class renamings so that namespaced classes can be renamed to global prefixed names. Then PDFtalk with all its components, except for the UI, can be ported. The porting approach is different to the traditional way of loading and fixing. The import files for other Smalltalks are generated from VisualWorks where the code is transformed by declarative rules. The approach is documented in [4]. I set up a GitHub organization for this project[5]. There, the fileouts for each dialect are published (Gemstone, Squeak and VA Smalltalk so far), so that people without VisualWorks can work with the code in their Smalltalk. Also, I record and explain all steps of the porting process for Squeak in great detail[6], so that people can follow it. I would like to invite Smalltalkers from all dialects to take part in this project. The code transformations for Squeak will be quite similar to the ones needed for Pharo and Cuis. Therefore, each port to one Smalltalk will help the port to other Smalltalks. Any takers? Happy hacking, Christian [1] <https://wiki.pdftalk.de/doku.php?id=start> https://wiki.pdftalk.de/doku.php?id=start [2] <https://wiki.pdftalk.de/doku.php?id=pdftalk4gemstone> https://wiki.pdftalk.de/doku.php?id=pdftalk4gemstone [3] <https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout> https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout [4] <https://wiki.pdftalk.de/doku.php?id=smalltalktransform> https://wiki.pdftalk.de/doku.php?id=smalltalktransform [5] <https://github.com/PortingPDFtalk> https://github.com/PortingPDFtalk [6] <https://wiki.pdftalk.de/doku.php?id=valuesportinglog> https://wiki.pdftalk.de/doku.php?id=valuesportinglog _______________________________________________ Esug-list mailing list -- <mailto:esug-l...@lists.esug.org> esug-l...@lists.esug.org To unsubscribe send an email to <mailto:esug-list-le...@lists.esug.org> esug-list-le...@lists.esug.org