<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p style='margin-left:.5in'>Hi Shaping, I can't comment on parallelizing the VM.<span style='color:#1F497D'><o:p></o:p></span></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>That’s mostly what the thread is for, ultimately.  The refcaps are needed by the concurrent collector.  Some interesting memory-management options are surfacing soon with Verona.   That scheme is supposed to eliminate the cost of tracing refs to mutable objects in many small heaps.  This is the main cost of having all the small heaps with Orca protocol.  Verona should fix this.  I need to look into it further before discussing the details.<o:p></o:p></span></p><p style='margin-left:.5in'> I was waiting to hear from you regarding 'CapabilitiesLocal' and its ref-cap state transition model.<o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Sorry for the delay.  I’ve not read the e-mail yet.  I’ll be a bit longer.  Thanks for the patience.<o:p></o:p></span></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Shaping<o:p></o:p></span></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal>On 5/16/20 11:29 PM, Shaping wrote:<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p style='margin-left:.5in'>Hi Shaping,<o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Hi Robert.  (We’ll get back to the parallelizing any day now…)</span><o:p></o:p></p><div><p class=MsoNormal style='margin-left:1.0in'>On 5/16/20 8:47 AM, Shaping wrote:<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoPlainText style='margin-left:1.0in'>Can you tell me about those efforts?  I know the VM is one, maybe the biggest.  What else do Squeak folks work on?<o:p></o:p></p><p class=MsoPlainText style='margin-left:1.5in'> I also understand why the developers of the new Pharo preferences tree did not like to invest the same effort in Squeak. What incentive would they have?<o:p></o:p></p><p class=MsoPlainText> <o:p></o:p></p><p class=MsoPlainText>Make all features (GUIs/frameworks) loadable into a new, mostly empty image.<o:p></o:p></p></blockquote><p> <o:p></o:p></p><p style='margin-left:.5in'>Andso, here we have the biggest challenge to doing such sharing. You say all features should be loadable into either image. The issue is that Pharo has driven forwards in creating new load formats, such as Tonel. I tried to load up the Tonel format, but failed.<o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> </span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Who oversees stuff like this?</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Specifically, why don’t we now make Tonel avaibable on Squeak, with the objective of equalizing access to source code, so that we can use one image ultimately—a nice steady gradual drift toward one image, so that no one is in too much pain at any one point in time.</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Why wasn’t this done when Tonel was first created?  The Pharo dev probably didn’t see it as good use of  dev time.  I kindly suggest that this attitude change for all contributors to both Smalltalks.</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>How long is the list of format-related code/frameworks that need to be equalized, so that Squeak and Pharo can always load the same things?</span><o:p></o:p></p><p style='margin-left:.5in'> I couldn't get distracted from my core work.<o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Sure, I feel the same.  I imaging that most of us do.   </span><o:p></o:p></p><p style='margin-left:.5in'>NO EFFORTS have been made to have Squeak able to load such formats, and the Pharo folks have deprecated the existing Montecello load format,<o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>In my Pharo 9 I have a bit these bits:</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> </span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Gofer new</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>    squeaksource: 'MetacelloRepository';</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>    package: 'ConfigurationOfAida';</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>    load.</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>  (Smalltalk at: #ConfigurationOfAida) load.</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> </span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Metacello new</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>baseline:'Seaside3';</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>repository: 'github://SeasideSt/Seaside:master/repository';</span><o:p></o:p></p><p><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>load</span><o:p></o:p></p></blockquote><p>In Squeak I can now ensureRecentMetacello, which I was not able to before. <o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p>Installer ensureRecentMetacello.<br><br>Metacello new<br>  baseline: 'MagicMouse';<br>  repository: 'filetree:///home/quotar/tribe/MagicMouse/packages';<br>  load<o:p></o:p></p></blockquote><p>However, I still choke on the Metacello #baseline:; #repository:. #load. It prints to the Transcript <o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p>gofer repository error: 'GoferRepositoryError: UndefinedObject>>isAlphaNumeric'...ignoring<br>...FAILED->BaselineOfMagicMouse<o:p></o:p></p></blockquote><p>I get a debugger on MetacelloFetchingMCSpecLoader>>#retryingResolvePackageSpecReferences: packageSpec gofer: gofer<o:p></o:p></p><p>The Gofer is pointing to a MCFileTreeRepository(filetree:///home/quotar/tribe/MagicMouse/packages) as its only repo. The packageSpec is thus:<o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p>spec <br>    name: 'BaselineOfMagicMouse';<br>    repository: 'filetree:///home/quotar/tribe/MagicMouse/packages'.<o:p></o:p></p></blockquote><p>At one time I had found what caused the #isAlphaNumeric error (I think an empty stream). The point is that I cannot load with Metacello in Squeak.<o:p></o:p></p><p>Here is code I use in Squeak to load Cryptography and ParrotTalk and SSL and Raven. This works in Squeak but not in Pharo.<o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p>Installer ss<br>    project: 'Cryptography'; install: 'ProCrypto-1-1-1';<br>    project: 'Cryptography'; install: 'ProCryptoTests-1-1-1';<br>    project: 'Cryptography'; install: 'CapabilitiesLocal';<br>    project: 'Oceanside'; install: 'ston-config-map';<br>    project: 'Cryptography'; install: 'SSLLoader;<br>    project: 'Cryptography'; install: 'Raven'.<o:p></o:p></p></blockquote><p>Packages #1, #2, #4, and #5 are all Monticello configuration maps (.mcm), thus unloadable in Pharo...<o:p></o:p></p><p><o:p> </o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>If there is genuine respect for the value of Squeak and Pharo on both sides</span></b><o:p></o:p></p></blockquote><p>Good question! We shall see. The feeling to me is a couple of stiff french fingers being sent Squeak's way. There is probably a french word for that..<o:p></o:p></p><p>K, r<o:p></o:p></p><p class=MsoNormal>-- <o:p></o:p></p><pre>Kindly,<o:p></o:p></pre><pre>Robert<o:p></o:p></pre></div></body></html>