Hi, there is a lot of Smalltalk code in Github for Pharo and VisualWorks. The main repository for Seaside seems to be Github also. Which VisualWorks tools are available to support code exchange with Github and Pharo? How does the Cincom developer team do the porting of new versions, e.g. for Seaside? I found a Cypress interchange format implementation for VisualWorks from Travis Griggs: https://github.com/CampSmalltalk/STIG However the code 7 years old and does not work in current VisualWorks versions and has several bugs. I started fixing it, but before I invest to much effort, I would like to ask how other people do the porting from and to Github / Pharo or other dialects. Regards Carsten -- Carsten Härle, straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, Germany +49 6104 6008-0 _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
We have developed an automatic migrator from Pharo 2 VW. You can find it here:
https://github.com/ObjectProfile/Pharo2VW Alexandre > On Sep 17, 2019, at 9:36 AM, Carsten Härle <[hidden email]> wrote: > > Hi, > > there is a lot of Smalltalk code in Github for Pharo and VisualWorks. > The main repository for Seaside seems to be Github also. > > Which VisualWorks tools are available to support code exchange with Github and Pharo? > How does the Cincom developer team do the porting of new versions, e.g. for Seaside? > > I found a Cypress interchange format implementation for VisualWorks from Travis Griggs: > https://github.com/CampSmalltalk/STIG > > However the code 7 years old and does not work in current VisualWorks versions and has several bugs. > I started fixing it, but before I invest to much effort, I would like to ask how other people do the porting from and to Github / Pharo or other dialects. > > Regards > Carsten > -- > Carsten Härle, > straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, Germany > +49 6104 6008-0 > https://www.straightec.de > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
Hi Alexandre,
is there also a migrator for other way around? Sasha
_______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
You should contact Pavel Krivanek because he did an excellent work to port VW code to Pharo for Schmidt pro (without the need of VW).
Also Christian haider presented at ESUG last year a migration from VW to Pharo. Stef
-------------------------------------------- Stéphane Ducasse 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
If you need to extract code from a VW Store repository and get the
result in Tonel format, there's SETT (Store Export to Tonel Tools). https://github.com/GemTalk/SETT Regards, -Martin On 9/17/19 7:48 AM, Stéphane Ducasse wrote: > You should contact Pavel Krivanek because he did an excellent work to > port VW code to Pharo for Schmidt pro (without the need of VW). > Also Christian haider presented at ESUG last year a migration from VW to > Pharo. > > Stef > >> On 17 Sep 2019, at 16:16, Sasa Prokic via Esug-list >> <[hidden email] <mailto:[hidden email]>> wrote: >> >> Hi Alexandre, >> >> is there also a migrator for other way around? >> >> Sasha >> >> Sent from Yahoo Mail on Android >> <https://go.onelink.me/107872968?pid=InProduct&c=Global_Internal_YGrowth_AndroidEmailSig__AndroidUsers&af_wl=ym&af_sub1=Internal&af_sub2=Global_YGrowth&af_sub3=EmailSignature> >> >> On Tue., 17 Sep. 2019 at 9:00 a.m., Alexandre Bergel >> <[hidden email] <mailto:[hidden email]>> wrote: >> We have developed an automatic migrator from Pharo 2 VW. You can >> find it here: >> https://github.com/ObjectProfile/Pharo2VW >> >> Alexandre >> >> > On Sep 17, 2019, at 9:36 AM, Carsten Härle >> <[hidden email] >> <mailto:[hidden email]>> wrote: >> > >> > Hi, >> > >> > there is a lot of Smalltalk code in Github for Pharo and >> VisualWorks. >> > The main repository for Seaside seems to be Github also. >> > >> > Which VisualWorks tools are available to support code exchange >> with Github and Pharo? >> > How does the Cincom developer team do the porting of new >> versions, e.g. for Seaside? >> > >> > I found a Cypress interchange format implementation for >> VisualWorks from Travis Griggs: >> > https://github.com/CampSmalltalk/STIG >> > >> > However the code 7 years old and does not work in current >> VisualWorks versions and has several bugs. >> > I started fixing it, but before I invest to much effort, I >> would like to ask how other people do the porting from and to >> Github / Pharo or other dialects. >> > >> > Regards >> > Carsten >> > -- >> > Carsten Härle, >> > straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, Germany >> > +49 6104 6008-0 >> > https://www.straightec.de <https://www.straightec.de/> >> > >> > _______________________________________________ >> > Esug-list mailing list >> > [hidden email] <mailto:[hidden email]> >> > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> >> >> >> _______________________________________________ >> Esug-list mailing list >> [hidden email] <mailto:[hidden email]> >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> >> _______________________________________________ >> Esug-list mailing list >> [hidden email] <mailto:[hidden email]> >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > > -------------------------------------------- > Stéphane Ducasse > http://stephane.ducasse.free.fr > http://www.synectique.eu / http://www.pharo.org > 03 59 35 87 52 > Assistant: Julie Jonas > FAX 03 59 57 78 50 > TEL 03 59 35 86 16 > S. Ducasse - Inria > 40, avenue Halley, > Parc Scientifique de la Haute Borne, Bât.A, Park Plaza > Villeneuve d'Ascq 59650 > France > > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Stéphane Ducasse
Hi Stef,
Great references. Thank you, Sasha
_______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Martin McClure-5
Hi Martin,
thank you for the info. Can one extract just selected package/boundle portion from store repository? Regards, Sasha
_______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Carsten Haerle
Hi Carsten, there is the bundle {Smalltalk Transform Project} which includes the machinery for porting VisualWorks to Gemstone. I started to add Pharo, but have not finished yet. In Gemstone I could use namespaces which is not possible in Pharo. For translating VW to Squeak/Phara/Cuis/VA/etc. the namespaced class (and shared) names need to be renamed to global names. This is not trivial and I was working on that, but it is not finished (and don’t know if I even will finish it – jump in if you need it 😊). My take on porting is a bit different from the typical one-shot approaches I have seen so far. Instead of freezing a piece of code and then more or less manually translating the code, I describe the code transformation from the source to the target dialect in a declarative way. (see slides 11 to 20 in https://www.slideshare.net/esug/pdftalk-for-gemstone from ESUG 2017). This allows for leaving the source code unchanged and is fully repeatable. This is important when your source code base is changing and you need to port the code on a regular basis. In practice, instead of changing the code in the target dialect, you change the transformation which produces the target code. With this, you can use all Smalltalk tools in the source dialect in the live environment in which the code is working, especially #references and the RB rewrite engine. The transformations can be:
Here is an example of such a transformation (for the basic fonts package of PDFtalk): PackageChange localChanges: (Array with: (ClassChange classReference: #{PDFtalk.Fonts.Font} instanceChanges: (Array with: (Rewrite method: #fontbody rule: #replaceGemstoneErrorClasses) with: (Ignore method: #screenFont) with: (Ignore method: #screenFontDescription) with: (Ignore method: #screenFamilyName)) classChanges: (Array with: (Replace method: #loadedFonts code: #_gs_loadedFonts) with: (Replace method: #fontClasses code: #_gs_fontClasses))) with: (ClassChange classReference: #{PDFtalk.Fonts.FontBody} instanceChanges: (Array with: (Rewrite method: #encoder rule: #replaceDottedName)) classChanges: (Array with: (Rewrite method: #tokenLinesFrom: rule: #replaceGemstoneBaseMethods)))) If you are interested, you can ask me for further explanations. (All code is in the public store under MIT licence) Happy hacking, Christian Von: Esug-list <[hidden email]> Im Auftrag von Carsten Härle Hi, there is a lot of Smalltalk code in Github for Pharo and VisualWorks. The main repository for Seaside seems to be Github also. Which VisualWorks tools are available to support code exchange with Github and Pharo? How does the Cincom developer team do the porting of new versions, e.g. for Seaside? I found a Cypress interchange format implementation for VisualWorks from Travis Griggs: https://github.com/CampSmalltalk/STIG However the code 7 years old and does not work in current VisualWorks versions and has several bugs. I started fixing it, but before I invest to much effort, I would like to ask how other people do the porting from and to Github / Pharo or other dialects. Regards Carsten -- Carsten Härle, straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, Germany +49 6104 6008-0 _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Martin McClure-5
Martin,
Does SETT deal with shared variables? Shared variables directly in namespaces? Or are these still something that needs doing? Regards, Tom On 9/17/2019 9:07 AM, Martin McClure wrote: > If you need to extract code from a VW Store repository and get the > result in Tonel format, there's SETT (Store Export to Tonel Tools). > > https://github.com/GemTalk/SETT > > Regards, > -Martin > > On 9/17/19 7:48 AM, Stéphane Ducasse wrote: >> You should contact Pavel Krivanek because he did an excellent work to >> port VW code to Pharo for Schmidt pro (without the need of VW). >> Also Christian haider presented at ESUG last year a migration from VW >> to Pharo. >> >> Stef >> >>> On 17 Sep 2019, at 16:16, Sasa Prokic via Esug-list >>> <[hidden email] <mailto:[hidden email]>> wrote: >>> >>> Hi Alexandre, >>> >>> is there also a migrator for other way around? >>> >>> Sasha >>> >>> Sent from Yahoo Mail on Android >>> <https://go.onelink.me/107872968?pid=InProduct&c=Global_Internal_YGrowth_AndroidEmailSig__AndroidUsers&af_wl=ym&af_sub1=Internal&af_sub2=Global_YGrowth&af_sub3=EmailSignature> >>> >>> On Tue., 17 Sep. 2019 at 9:00 a.m., Alexandre Bergel >>> <[hidden email] <mailto:[hidden email]>> wrote: >>> We have developed an automatic migrator from Pharo 2 VW. You can >>> find it here: >>> https://github.com/ObjectProfile/Pharo2VW >>> >>> Alexandre >>> >>> > On Sep 17, 2019, at 9:36 AM, Carsten Härle >>> <[hidden email] >>> <mailto:[hidden email]>> wrote: >>> > >>> > Hi, >>> > >>> > there is a lot of Smalltalk code in Github for Pharo and >>> VisualWorks. >>> > The main repository for Seaside seems to be Github also. >>> > >>> > Which VisualWorks tools are available to support code exchange >>> with Github and Pharo? >>> > How does the Cincom developer team do the porting of new >>> versions, e.g. for Seaside? >>> > >>> > I found a Cypress interchange format implementation for >>> VisualWorks from Travis Griggs: >>> > https://github.com/CampSmalltalk/STIG >>> > >>> > However the code 7 years old and does not work in current >>> VisualWorks versions and has several bugs. >>> > I started fixing it, but before I invest to much effort, I >>> would like to ask how other people do the porting from and to >>> Github / Pharo or other dialects. >>> > >>> > Regards >>> > Carsten >>> > -- >>> > Carsten Härle, >>> > straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, >>> Germany >>> > +49 6104 6008-0 >>> > https://www.straightec.de <https://www.straightec.de/> >>> > >>> > _______________________________________________ >>> > Esug-list mailing list >>> > [hidden email] <mailto:[hidden email]> >>> > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> >>> >>> >>> _______________________________________________ >>> Esug-list mailing list >>> [hidden email] <mailto:[hidden email]> >>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> >>> _______________________________________________ >>> Esug-list mailing list >>> [hidden email] <mailto:[hidden email]> >>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> >> -------------------------------------------- >> Stéphane Ducasse >> http://stephane.ducasse.free.fr >> http://www.synectique.eu / http://www.pharo.org >> 03 59 35 87 52 >> Assistant: Julie Jonas >> FAX 03 59 57 78 50 >> TEL 03 59 35 86 16 >> S. Ducasse - Inria >> 40, avenue Halley, >> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza >> Villeneuve d'Ascq 59650 >> France >> >> >> _______________________________________________ >> Esug-list mailing list >> [hidden email] >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >> > > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by ESUG mailing list
Hi Sasha,
I don't think you can specify one
package or bundle to extract. SETT will extract all publishes
after a given date/time. If you want to just get a particular
bundle, you could either
1) Publish just that bundle to Store,
then use SETT to extract just that bundle, or
2) Extract one or more existing Store
publishes that contain more than the one bundle you want, then
delete the directories of Tonel files that are the code for
unwanted packages.
SETT is not currently under active
development (it is working well enough for our current needs) but
enhancements to it are welcome.
Regards,
-Martin
On 9/17/19 8:37 PM, Sasa Prokic wrote:
Hi Martin,
_______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Tom Robinson
Hi Tom,
After a brief look at the code, I *think* that shared variables that are defined in a class will become class variables. It looks like shared variables defined directly in a namespace will log a warning and be otherwise ignored. This could obviously be improved; submissions are welcome. Regards, -Martin On 9/19/19 2:07 PM, Tom Robinson wrote: > Martin, > > Does SETT deal with shared variables? Shared variables directly in > namespaces? Or are these still something that needs doing? > > Regards, > > Tom > > On 9/17/2019 9:07 AM, Martin McClure wrote: >> If you need to extract code from a VW Store repository and get the >> result in Tonel format, there's SETT (Store Export to Tonel Tools). >> >> https://github.com/GemTalk/SETT >> >> Regards, >> -Martin >> >> On 9/17/19 7:48 AM, Stéphane Ducasse wrote: >>> You should contact Pavel Krivanek because he did an excellent work >>> to port VW code to Pharo for Schmidt pro (without the need of VW). >>> Also Christian haider presented at ESUG last year a migration from >>> VW to Pharo. >>> >>> Stef >>> >>>> On 17 Sep 2019, at 16:16, Sasa Prokic via Esug-list >>>> <[hidden email] <mailto:[hidden email]>> wrote: >>>> >>>> Hi Alexandre, >>>> >>>> is there also a migrator for other way around? >>>> >>>> Sasha >>>> >>>> Sent from Yahoo Mail on Android >>>> <https://go.onelink.me/107872968?pid=InProduct&c=Global_Internal_YGrowth_AndroidEmailSig__AndroidUsers&af_wl=ym&af_sub1=Internal&af_sub2=Global_YGrowth&af_sub3=EmailSignature> >>>> >>>> On Tue., 17 Sep. 2019 at 9:00 a.m., Alexandre Bergel >>>> <[hidden email] <mailto:[hidden email]>> wrote: >>>> We have developed an automatic migrator from Pharo 2 VW. You can >>>> find it here: >>>> https://github.com/ObjectProfile/Pharo2VW >>>> >>>> Alexandre >>>> >>>> > On Sep 17, 2019, at 9:36 AM, Carsten Härle >>>> <[hidden email] >>>> <mailto:[hidden email]>> wrote: >>>> > >>>> > Hi, >>>> > >>>> > there is a lot of Smalltalk code in Github for Pharo and >>>> VisualWorks. >>>> > The main repository for Seaside seems to be Github also. >>>> > >>>> > Which VisualWorks tools are available to support code exchange >>>> with Github and Pharo? >>>> > How does the Cincom developer team do the porting of new >>>> versions, e.g. for Seaside? >>>> > >>>> > I found a Cypress interchange format implementation for >>>> VisualWorks from Travis Griggs: >>>> > https://github.com/CampSmalltalk/STIG >>>> > >>>> > However the code 7 years old and does not work in current >>>> VisualWorks versions and has several bugs. >>>> > I started fixing it, but before I invest to much effort, I >>>> would like to ask how other people do the porting from and to >>>> Github / Pharo or other dialects. >>>> > >>>> > Regards >>>> > Carsten >>>> > -- >>>> > Carsten Härle, >>>> > straightec GmbH, Frankfurter Straße 48, 63150 Heusenstamm, >>>> Germany >>>> > +49 6104 6008-0 >>>> > https://www.straightec.de <https://www.straightec.de/> >>>> > >>>> > _______________________________________________ >>>> > Esug-list mailing list >>>> > [hidden email] <mailto:[hidden email]> >>>> > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>>> >>>> >>>> >>>> _______________________________________________ >>>> Esug-list mailing list >>>> [hidden email] <mailto:[hidden email]> >>>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>>> >>>> _______________________________________________ >>>> Esug-list mailing list >>>> [hidden email] <mailto:[hidden email]> >>>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> >>> -------------------------------------------- >>> Stéphane Ducasse >>> http://stephane.ducasse.free.fr >>> http://www.synectique.eu / http://www.pharo.org >>> 03 59 35 87 52 >>> Assistant: Julie Jonas >>> FAX 03 59 57 78 50 >>> TEL 03 59 35 86 16 >>> S. Ducasse - Inria >>> 40, avenue Halley, >>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza >>> Villeneuve d'Ascq 59650 >>> France >>> >>> >>> _______________________________________________ >>> Esug-list mailing list >>> [hidden email] >>> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org >>> >> >> >> _______________________________________________ >> Esug-list mailing list >> [hidden email] >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Martin McClure-5
Hi Martin,
I thought of that path, its just small effort comoaring to benefits of extract automation. Will play with SETT and see how it goes. Thank you, Sasha
_______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
Free forum by Nabble | Edit this page |