Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
March 2022
- 32 participants
- 104 messages
Re: ESUG 2022 call for presentations & Call for student volunteers
by Stéphane Ducasse
âHelloâ, âworldâ please: #readAndDistribute
> On 13 Jan 2022, at 13:25, stephane ducasse <stephane.ducasse(a)inria.fr> wrote:
>
> ESUG 2022
> Novisad Serbia 22. â 26.8.
> https://esug.github.io/2022-Conference/call2022.html <https://esug.github.io/2022-Conference/call2022.html>
>
> You can support the ESUG conference in many different ways:
> Sponsor the conference. New sponsoring packages are described at http://www.esug.org/supportesug/becomeasponsor/ <http://www.esug.org/supportesug/becomeasponsor/>
> Submit a talk, a software or a paper to one of the events. See below.
> Attend the conference. We'd like to beat the previous record of attendance (170 people at Amsterdam 2008)!
> Students can get free registration and hosting if they enroll into the the Student Volunteers program. See below.
> <>Developers Forum: International Smalltalk Developers Conference
>
> We are looking for YOUR experience on using Smalltalk. You will have 30 min for presentations and 45 min for hands-on tutorials.
> The list of topics for the normal talks and tutorials includes, but is not limited to the following:
> XP practices, Development tools, Experience reports
> Model driven development, Web development, Team management
> Meta-Modeling, Security, New libraries & frameworks
> Educational material, Embedded systems and robotics
> SOA and Web services, Interaction with other programming languages
> <>Teaching Pearls and Show us Your Business
>
> New this year!!! We added two types of sessions in addition to the regular talks and show us your projects sessions.
> Show your business 10 min session (Get prepared!!)
> Teaching pearls : we want some session on how to teach some design aspects. We want your tip and tricks to teach Smalltalk or OOP.
> We expect to have several 10 to 15 min sessions aggregated.
> <>How to submit?
>
> Make a Pull Request here https://github.com/ESUG/esug.github.io/tree/source/2022-Conference/talks <https://github.com/ESUG/esug.github.io/tree/source/2022-Conference/talks>
>
> Or but only if you are not connected to the world⦠send an email to stephane.ducasse(a)inria.fr <mailto:stephane.ducasse@inria.fr>
>
> Title: [ESUG 2022] Please follow the template below the email will be automatically processed!
> Name:
> Email:
> Abstract:
> Bio:
>
> Call for Student Volunteers
> Student volunteers help keep the conference running smoothly; in return, they have free accommodations, while still having most of the time to enjoy the conference.
>
> Pay attention: the places are limited so do not wait till the last minute to apply.
>
> Conference details:
> Send an email to stephane.ducasse at inria.fr <http://inria.fr/> and serge.stinckwich at gmail.com <http://gmail.com/> with:
>
> title: [ESUG 2022 Student]
> name, gender, university/school, country, email address
> short description of you and why you are interested in participating
> For which period is accommodation covered? Accommodation is covered from Sunday 21 August until Friday 26 August 2022 (including nights from Sunday to Monday and from Thursday to Friday). Students will be hosted in student rooms. ESUG additionally covers for the lunches during the week and one dinner.
>
> Duties include handling registration as people arrive at the conference, filling coffee machines, collecting presentation slides for ESUG right after the presentation is given, being present at an information desk to answer questions, and generally being helpful. Student volunteering makes the conference better, takes a fairly small amount of time and doesn't significantly interfere with enjoying and learning from the conference. Please Note, this role requires discipline and constant attention to all attendees.
>
> Information about hotel
> Student Volunteer rooms are booked at (to be announced). If you are student volunteer, do not book yourself, we have arranged the booking already!
>
March 30, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by christian.haider@smalltalked-visuals.com
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.ducasse(a)inria.fr>
Gesendet: Sonntag, 27. März 2022 22:17
An: Any question about pharo is welcome <pharo-users(a)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 <seasidebook(a)free.fr <mailto:seasidebook@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
March 28, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by Marcus Denker
> On 27 Mar 2022, at 20:29, christian.haider(a)smalltalked-visuals.com wrote:
>
> 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.
>
I have added an issue tracker entry:
https://github.com/pharo-project/pharo/issues/11065 <https://github.com/pharo-project/pharo/issues/11065>
To me it looks like yes, it #= should take order into account.
Marcus
March 28, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by James Foster
https://github.com/GemTalk/SETT <https://github.com/GemTalk/SETT>
> On Mar 27, 2022, at 3:56 PM, Richard Sargent <richard.sargent(a)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.ducasse(a)inria.fr <mailto:stephane.ducasse@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 <seasidebook(a)free.fr <mailto:seasidebook@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
>
March 27, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by Richard Sargent
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.ducasse(a)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 <seasidebook(a)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 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 J.
> In contrast, Pharo has quite a different style with a love for camel-casing
> J (#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
>
>
>
March 27, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by stephane ducasse
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 <seasidebook(a)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
March 27, 2022
Re: [Esug-list] [PDFtalk] Porting to non-namespace Smalltalks
by christian.haider@smalltalked-visuals.com
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 <seasidebook(a)free.fr>
Gesendet: Donnerstag, 24. März 2022 21:04
An: Any question about pharo is welcome <pharo-users(a)lists.pharo.org>; Pharo
Development List <pharo-dev(a)lists.pharo.org>
Cc: christian.haider(a)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.haider@smalltalked-visuals.com>
christian.haider(a)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-list@lists.esug.org>
esug-list(a)lists.esug.org
To unsubscribe send an email to <mailto:esug-list-leave@lists.esug.org>
esug-list-leave(a)lists.esug.org
March 27, 2022
How can I use Pharo as an app development space (+ question about jobs)?
by lucasrodriguesoficial5@gmail.com
I'm starting my career as a systems designer and analyst, and for my first project I've decided to make an app/executable in Smalltalk with the bold goal of vanquishing bureaucracy in any public-person interactions which need paper documentation to go through, such as immigration, social programs, housing, or even legal matters. The idea is to find someone to implement it on a national scale somewhere, then spread to the world; or at least land myself a job overseas with the idea as a portfolio. Any kind of job would do, though a outsourcing/freelancing one would be the best.
Problem is, Pharo doesn't have an effective framework for deployable desktop/phone applications, from what the users of its dedicated Discord server said. What toolkit, tutorial or assisting language (could I use to make standalone protoypes for enterprises? I already have the class behavior of the project done, the UI interaction is whatâs lacking. If there really isnât any, should I really start again with a brand new programming language and only use Pharo as a reference?
What also concerns me not only in Pharo but in programming in general is how nothing ever seems to be enough to work for an enterprise, more so as an immigrant. My fear is that, even after the project is finished, I wonât be able to meet the requirements of anyone interested in hiring (my qualifications are a degree in Game Design and few months of an internship experience). People always say that the important thing is to solve problems regardless of whether you know one or many programming languages, but how can that be true when supposedly the most powerful OO language canât deploy a product? How are things ever⦠done in the industry? What knowledge is a staple to anyone willing to work on Systems Design and Analysis field?
March 26, 2022
UK Smalltalk User Group Meeting - Wednesday, March 30th
by Giovanni Corriga
The next meeting of the UK Smalltalk User Group will be held on Wednesday,
March 30th 2022.
Come to hear news about Glamorous Toolkit, the moldable development
environment. We were busy over the past year: beside everything else, GT
also became a multi-language notebook + programmable knowledge management
platform. By this we unify the flows of programming, data science and
knowledge management. And there might be a couple of other surprises, too.
Tudor Gîrba is a software environmentalist and CEO of feenk.com where he
works with an amazing team to make the inside of systems explainable. Much
of the work is embodied in Glamorous Toolkit (gtoolkit.com) a novel
environment that enables Moldable Development.
This will be an online meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page to receive the meeting details. Donât forget to bring your laptop and
drinks!
March 22, 2022
Re: Null Object Pattern
by Esteban Maringolo
Being able to proxy to another object is such an important feature,
that even in ES6 (aka "Javascript") there is a Proxy object [1] that
allows you to intercept/redefine operations for that object.
In the case of Smalltalk, and coming back to the original topic of
this thread, that is even more powerful because you have first class
messages that can be resolved via DNU handling. If anything, I would
like to give the receiver of a message more control of the handling of
such a message rather than having a DNU as the last resort, or worse,
some messages that are written to be sent, but then are inlined during
execution.
Regards,
[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Ob…
Esteban A. Maringolo
On Mon, Mar 21, 2022 at 5:47 PM Tim Mackinnon <tim(a)testit.works> wrote:
>
> This has been an interesting thread to read on the side, and I appreciate the thought provoking conversion.
>
> On Sun, 20 Mar 2022, at 6:11 AM, Richard O'Keefe wrote:
>
> An override of #doesNotUnderstand: *is* (an instance of) the problem.
> What part of "you may think you know what to forward now, but just
> wait a couple of months or install an additional package and there
> will be *more* selectors you needed to think about but didn't" is
> hard to understand?
>
>
> However I am confused by the above - as in Pharo and Dolphin (and I suspect other Smalltalks) - you don't have to make your proxy a subclass of Object right? If you want to forward as much behaviour as possible - you can subclass ProtoObject (or equivalent). The width of methods on that is much reduced (59 from a quick glance), and loading other packages doesn't tend to extend at that level, so keeping things much more stable. The downside, is that such objects are tricky to view in an inspector etc. There is a mocking framework in Pharo called Ghost that leverages this quite well from memory.
>
> So I think that some of the side arguments on downsides might not be quite as bad as indicated.
>
> Tim
>
>
March 21, 2022