Yes, I heard from several people that they could not get a PUL license. This is sad :(.
But I don’t understand why there should be a legal problem. You are using an open source tool (Smalltalk transform) to read another open source project (PDFtalk) to generate open source code for another open source platform (Pharo). I think that this should be possible with a PUL version. (But I am not lawyer…) I still would be happy to hear more about your port. Very helpful would also be some code review and suggestions on how to do things better, especially the meta data and “package” conventions in Pharo. Happy hacking, Christian Von: stephane ducasse <stephane.duca...@inria.fr> Gesendet: Sonntag, 27. März 2022 22:17 An: Any question about pharo is welcome <pharo-users@lists.pharo.org> Betreff: [Pharo-users] Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks BTW about porting from VW, you see a friend of mine wanted to see how to help porting Siren to Pharo. Now this is not possible because he could not get a personal VW license. So even if people want to help pointing to a store database is equivalent to /dev/null for most people. For example I cannot (and also does not for legal reason) run VW on my machine. Not talking about the new M1 I will get. S On 27 Mar 2022, at 22:12, seasidebook <seasideb...@free.fr <mailto:seasideb...@free.fr> > wrote: Hi christian I took the squeakValues60 becau se I thought that this is what you wanted that we do. I should continue but I’m busy ahhh I did not know that you already did it. Do you need help to package your changes? Because you can fork my repo and load your changes. I got lost with the explanation of OrderedDictionary below because I’m dead :) - worked too mcuh today. But what we can do is to package the one that is working for you under http://github.com/pharo-container and update the baseline to load it. Alternatively we could see what is wrong in the pharo’s one. Now my brain decided to shut down :) so I need to sleep. S 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. Yes now you may want to read an excellent book that just came out: http://books.pharo.org <http://books.pharo.org/> Pharo with Styles. If you want to have future contributors this is good to follow good practices Else I’m quite sure that you would not like a French Pharo :) 1. 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. A pattern that we use is the following. You introduce a new name and let the old one as an empty subclass. Like that you can migrate and still be backward compatible. For the method level refactoring we have a gorgeous mechanism that automatically rewrite client code…. http://www.jot.fm/issues/issue_2022_01/article1.pdf S