<div dir="ltr">Hi, Juan, <div><br></div><div>both .SSL and VW parcels can change the shape of classes while loading, if I'm not wrong. Any case, the concept is close, but what really matters is that this is a very nice addition to the Cuis system, together with the Bootstrap image.</div><div><br></div><div>very good work!</div><div><br></div><div>see you at Smalltalk 2023</div><div><br></div><div>ciao</div><div><br></div><div>giorgio</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 29, 2023 at 9:41 PM Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><u></u>

  
    
  
  <div bgcolor="#ffffff">
    Hi Giorgio,<br>
    <br>
    On 10/29/2023 1:18 PM, giorgio ferraris via Cuis-dev wrote:
    <blockquote type="cite">
      <div dir="ltr">Hi, Juan, 
        <div>have you done something close to old VisualSmalltalk sll?
          Very nice!</div>
        <div><br>
        </div>
      </div>
    </blockquote>
    <br>
    I couldn't find much documentation about SLLs. It is hard to know
    exactly what SLLs supported and how they used to work. I believe SLL
    loading was part of the VM, not the image. If so, I don't know if,
    for example, they could handle class reshaping at all.<br>
    <br>
    DynamicCuisLibraries are fully implemented in Smalltalk. One
    advanced feature is that if the image that builds a DCL has a
    different shape for some class as the image that loads it, the load
    procedure computes the union of the instance variables known by
    each, and adjust any ivar access in CompiledMethods so everyting
    works as expected. I believe that neither SLLs nor Parcels could do
    this.<br>
    <br>
    Please take a look at the included tests.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>ciao</div>
        <div><br>
        </div>
        <div>giorgio</div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Thu, Oct 26, 2023 at
          8:32 PM Juan Vuletich via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi Folks,<br>
          <br>
          This year I've been busy, with the help of Felipe Zak, on
          implementing <br>
          two new features for Cuis.<br>
          <br>
          1) Bootstrap. A package that lets us bootstrap new Cuis
          images, <br>
          including only what is desired. Smallest so far is about
          150Kb, and <br>
          includes Stdout, Collections, Magnitudes, etc.<br>
          <br>
          2) CuisDynamicLibraries. These are files that include compiled
          Cuis <br>
          code. They are somewhat similar to .so and .dll. They are much
          (MUCH!) <br>
          faster to load than .<a href="http://pck.st" rel="noreferrer" target="_blank">pck.st</a>,
          and don't require a Compiler to be present.<br>
          <br>
          These together allow for an image of less than 200kb that can
          load any <br>
          needed additional code via .dcl files.<br>
          <br>
          Felipe and I will be giving talks on these new features at the
          FAST <br>
          Smalltalks 2023 conference at Universidad de Quilmes.
          Documentation is <br>
          on its way, but if you are brave enough, comments and examples
          included <br>
          in code could suffice.<br>
          <br>
          Cheers,<br>
          <br>
          -- <br>
          Juan Vuletich<br>
          <a href="http://cuis.st" rel="noreferrer" target="_blank">cuis.st</a><br>
          <a href="http://github.com/jvuletich" rel="noreferrer" target="_blank">github.com/jvuletich</a><br>
          <a href="http://researchgate.net/profile/Juan-Vuletich" rel="noreferrer" target="_blank">researchgate.net/profile/Juan-Vuletich</a><br>
          <a href="http://independent.academia.edu/JuanVuletich" rel="noreferrer" target="_blank">independent.academia.edu/JuanVuletich</a><br>
          <a href="http://patents.justia.com/inventor/juan-manuel-vuletich" rel="noreferrer" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a><br>
          <a href="http://linkedin.com/in/juan-vuletich-75611b3" rel="noreferrer" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a><br>
          <a href="http://twitter.com/JuanVuletich" rel="noreferrer" target="_blank">twitter.com/JuanVuletich</a><br>
          <br>
          -- <br>
          Cuis-dev mailing list<br>
          <a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
          <a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
        </blockquote>
      </div>
    </blockquote>
    <br>
    <br>
    <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank">twitter.com/JuanVuletich</a></pre>
  </div>

</blockquote></div>