https://github.com/GemTalk/SETT <https://github.com/GemTalk/SETT> 

> On Mar 27, 2022, at 3:56 PM, Richard Sargent 
> <richard.sarg...@gemtalksystems.com> wrote:
> 
> GemTalk Systems published a tool called SETT which is designed to extract 
> sources from Store into a git repository. I think it's filetree, not to El 
> format, but getting it (and its history) out of Store is the primary 
> motivation.
> 
> It requires direct access to the Store database, as far as I understand.
> 
> Look at the GemTalk area on GitHub for the project and details. (I'm on 
> vacation, using my phone and memory, so pardon the scarcity of detail.)
> 
> On Sun, Mar 27, 2022, 13:17 stephane ducasse <stephane.duca...@inria.fr 
> <mailto:stephane.duca...@inria.fr>> wrote:
> 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 <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 
>>> <https://github.com/PortingPDFtalk/PharoValues>) and added a Pharo porting 
>>> page to the wiki (https://wiki.pdftalk.de/doku.php?id=pharoport 
>>> <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:
>>> 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 :)
>> 
>>> 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 J. In contrast, 
>>> Pharo has quite a different style with a love for camel-casing J 
>>> (#timeStamp, #nanoSeconds etc.). 
>>> 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 
>> <http://www.jot.fm/issues/issue_2022_01/article1.pdf>
>> 
>> S
> 

Reply via email to