<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Ah yes, and I’ve done this so far on Pharo6.1, platform where Eliot was working on initially.<div class="">I don’t think there is much to do to move it to Pharo7, but still I’ve not explored it.<br class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">El 14 may 2019, a las 16:29, Guillermo Polito <<a href="mailto:guillermopolito@gmail.com" class="">guillermopolito@gmail.com</a>> escribió:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi all,<div class=""><br class=""></div><div class="">Just to keep everyone informed, last week I’ve spent a couple of days making slang work on Pharo again, based on the initial effort of Eliot.</div><div class="">The summary of what I did is:</div><div class=""><br class=""></div><div class=""> - we can generate, compile and run a stack vm</div><div class=""> - we can generate, compile and run a cog vm</div><div class=""><br class=""></div><div class=""> - for this, I’ve done a couple of patches to VMMaker</div><div class="">  - the ones specific to Pharo has been pushed</div><div class="">  - the ones that touch cross dialect code are still in review (I think) </div><div class=""><br class=""></div><div class="">To do this work </div><div class=""><br class=""></div><div class=""> - I had to review the AST-to-AST transformation, checking the output, comparing it to what squeak does and so on...</div><div class=""> - I’ve written several unit tests to ensure that future migrations are easier to do</div><div class=""> - I’ve introduced several compatibility classes/methods related to PackageInfo, Time and so on…</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Guille<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">Inicio del mensaje reenviado:</div><br class="Apple-interchange-newline"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, "Helvetica Neue", Helvetica, sans-serif;" class=""><b class="">De: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Guillermo Polito <<a href="mailto:guillermopolito@gmail.com" class="">guillermopolito@gmail.com</a>><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, "Helvetica Neue", Helvetica, sans-serif;" class=""><b class="">Asunto: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">Re: [Vm-dev] Some more effort to make Slang and VMMaker work on Pharo [for review]</b><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, "Helvetica Neue", Helvetica, sans-serif;" class=""><b class="">Fecha: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">9 de mayo de 2019, 17:48:03 CEST<br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, "Helvetica Neue", Helvetica, sans-serif;" class=""><b class="">Para: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Open Smalltalk Virtual Machine Development Discussion <<a href="mailto:vm-dev@lists.squeakfoundation.org" class="">vm-dev@lists.squeakfoundation.org</a>><br class=""></span></div><br class=""><div class=""><div dir="ltr" class="">I've decided for the moment to put the tests in the PharoCompatibility package, since they are too close of Pharo's AST.<div class="">I've tried to make them work in squeak but I've found too many incompatibilities in the AST and some in the collections that would make the tests too verbose to make them reusable...</div><div class="">Maybe we can do an iteration afterwards.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Guille</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 9, 2019 at 5:21 PM Guillermo Polito <<a href="mailto:guillermopolito@gmail.com" class="">guillermopolito@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class="">Hi all,</div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 8, 2019 at 2:17 AM David T. Lewis <<a href="mailto:lewis@mail.msen.com" target="_blank" class="">lewis@mail.msen.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br class=""><br class="">
On Tue, May 07, 2019 at 03:36:32PM -0700, Eliot Miranda wrote:<br class=""><br class="">> In VMMaker.oscog-GAP.2533 I would prefer to see printString instead of<br class="">
> asString.  asString is a horrible hack.  printString says what we mean.<br class=""></blockquote><div class=""><br class=""></div><div class="">Sure. I've submitted another version to the inbox:</div><div class=""><br class=""></div><div class=""><div class="">Name: VMMaker.oscog-GAP.2534</div><div class="">Author: GAP</div><div class="">Time: 9 May 2019, 5:12:22.055089 pm</div><div class="">UUID: cd6aae16-6f20-4ddb-9328-64b19b413cb1</div><div class="">Ancestors: VMMaker.oscog-eem.2532</div><div class=""><br class=""></div><div class="">Convert numeric constants to strings for concatenation using #printString.</div><div class="">Required for Pharo compatibility, where the arguments of concatenation are not automatically coerced to strings.</div></div><div class=""> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> ==== Patch 1 ====<br class="">
> > Name: VMMaker.oscog-GAP.2533<br class="">
> > Author: GAP<br class="">
> > Time: 7 May 2019, 10:57:16.034354 am<br class="">
> > UUID: 3209319f-60f3-4586-8d03-cfac3c9fddee<br class="">
> > Ancestors: VMMaker.oscog-eem.2532<br class="">
> ><br class="">
> > Convert numeric constants to strings for concatenation.<br class="">
> > Required for Pharo compatibility, where the arguments of concatenation are<br class="">
> > not automatically coerced to strings.<br class="">
> ><br class="">
> <br class="">
> I trust you on these.  I'm not really in a position to test this out right<br class="">
> now.  I suggest you push the  VMMakerCompatibilityForPharo6 packages to<br class="">
> VMMaker as soon as you'd like.  You can write VMMaker right?<br class="">
> <br class="">
<br class="">
+1<br class="">
<br class="">
Guille, if you want commit access to the repo, you can make an account<br class="">
on <a href="http://source.squeak.org/" rel="noreferrer" target="_blank" class="">source.squeak.org</a> and I'll add you the the VMMaker project. Or if<br class="">
it's easier, just say which packages you are ready to move and either<br class="">
I or Eliot (or any of the others with commit access) will move it to<br class="">
VMMaker for you.<br class="">
<br class="">
I note that VMMaker.oscog-GAP.2533 package is part of the main<br class="">
VMMaker.oscog package. If you need to have that tested on Squeak I<br class="">
can probably do that for you within the next couple of days if no<br class="">
one else gets to it first.<br class=""></blockquote><div class=""><br class=""></div><div class="">Well, the change I did in that package was fairly small, and I'm using squeak to generate also some parts of the VM to compare to what I generate from Pharo.</div><div class="">So, I'd say I've tried it myself already.</div><div class=""><br class=""></div><div class="">For the Pharo specific package, I've already uploaded it to the VMMaker repository.</div><div class="">I had already rights to do it :).</div><div class=""><br class=""></div><div class=""><div class="">Name: VMMakerCompatibilityForPharo6-GuillermoPolito.11</div><div class="">Author: GuillermoPolito</div><div class="">Time: 9 May 2019, 5:15:50.00473 pm</div><div class="">UUID: e1a685a9-d744-0d00-b3c1-ad600f1a7e9a</div><div class="">Ancestors: VMMakerCompatibilityForPharo6-GuillermoPolito.10</div><div class=""><br class=""></div></div><div class="">With these changes I can already compile and run Cog and almost all tests pass :)</div><div class=""><br class=""></div><div class=""><div class=""><span id="cid:ii_jvgsq2gp0"><image.png></span><br class=""></div></div><div class=""><br class=""></div><div class="">I have also a couple dozen tests about AST translation and C generation, mainly about those parts that are covered differently between Pharo's and Squeak's ASTs.</div><div class="">Would you like that I push them inside the VMMaker package or make a separate package?</div><div class=""><br class=""></div><div class="">Thanks!</div><div class="">Guille</div></div><div dir="ltr" class="gmail-m_-455395653493858782gmail_signature"><div dir="ltr" class=""><div class=""></div></div></div></div></div></div>
</blockquote></div><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><table cellspacing="0" cellpadding="0" style="border-collapse:collapse" class="">
<tbody class="">
<tr class="">
<td valign="top" style="width:86px;height:84px;border-style:solid;border-width:0px 1px 0px 0px;border-color:transparent rgb(0,0,0) transparent transparent;padding:4px" class=""><div style="margin: 0px; min-height: 14px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class=""> </font><span style="font-family:Helvetica;font-size:10px" class=""> </span><span style="font-family:Helvetica;font-size:10px" class=""> </span><img src="https://www.cristal.univ-lille.fr//videos/presentation.jpg" width="200" height="112" class=""><img src="https://ci4.googleusercontent.com/proxy/LT91l2VkOkQP7sX8IlSUf6f3AH91XCCzXM5IcGRG82F3piFhUykBiE6vJBDLQO0zpTU4WF_M4GR1y58M3Gy4UMRdBTDVnJDbQBBXNO_2ZgwSPlb8TBtsjltHIaXIDdw3yH7VL2SV77NAfML8Peb8gDj5TiwYpBg1rUDYEO0=s0-d-e1-ft#https://intranet.cnrs.fr/Cnrs_pratique/communiquer/guides/PublishingImages/CNRS-filaire-Bichro-CMJN.jpg" alt="" style="font-size: 12.8px; margin: 5px;" width="96" height="96" class=""></div>















</td><td valign="top" style="width:378px;height:84px;border-style:solid;border-width:0px 0px 0px 1px;border-color:transparent transparent transparent rgb(0,0,0);padding:4px" class=""><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class="">Guille Polito</font></div><div style="margin: 0px;" class=""><span style="font-family: Helvetica; font-size: 10px;" class="">Research Engineer</span></div><div style="margin: 0px; font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica; min-height: 10px;" class=""><font class=""></font><br class="webkit-block-placeholder"></div><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class="">Centre de Recherche en Informatique, Signal et Automatique de Lille</font></div><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class="">CRIStAL - UMR 9189</font></div><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class="">French National Center for Scientific Research - <font class=""><u class=""><a href="http://www.cnrs.fr/" target="_blank" class="">http://www.cnrs.fr</a></u></font></font></div><div style="margin: 0px; font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica; min-height: 10px;" class=""><br class=""></div><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class=""><b class="">Web:</b> <a href="http://guillep.github.io/" target="_blank" class=""><font class=""><u class="">http://guillep.github.io</u></font></a></font></div><div style="margin: 0px;" class=""><font face="Helvetica" style="font-stretch: normal; font-size: 10px; line-height: normal; font-family: Helvetica;" class=""><b class="">Phone: </b>+33 06 52 70 66 13</font></div>
</td>
</tr>
</tbody>
</table></div></div></div></div>
</div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></body></html>