<div dir="ltr">Thank you, now I see that the actual source is in `./CuisImage`, not `./Packages`. Though using your command definitely seems cleaner than going through the filesystem: the result is 122 kSLOC for me in `Cuis-Smalltalk-Dev`.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 27, 2024 at 8:59 AM 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:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
    
  
  <div bgcolor="#ffffff">
    Hi Ian,<br>
    <br>
    On 3/26/2024 2:55 PM, Ian Jeffries via Cuis-dev wrote:
    <blockquote type="cite">
      <div dir="ltr">
        <div>Hi folks,</div>
        <div><br>
        </div>
        <div>I'm trying to get a rough count of how many lines of code
          make up Cuis. I was also curious how many source lines of code
          (SLOC) are in the whole tech stack, which I understand to be
          Cuis itself + the Cog VM.</div>
        <div><br>
        </div>
        <div>Here's what I've currently got:</div>
        <div><br>
        </div>
        <div>Cuis is about 100 thousand SLOC, mainly in the `./packages`
          folder. I wasn't sure if `./CoreUpdates` should be counted as
          well. If it is then the total is about 120 kSLOC.</div>
      </div>
    </blockquote>
    <br>
    But those packages are not part of Cuis. It would be like including
    OpenCV when counting the LOC of Python. A more useful measure could
    be `Smalltalk allClasses sum: [:cl | cl linesOfCode]`. That counts
    the lines of code of the actual Cuis image.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>The Cog VM is enormous, almost 3 million SLOC in `./src`.
          I'm guessing that's even missing some code, for instance on
          Unix I should probably count `./platforms/unix` as well,
          though at 85 kSLOC it hardly matters.</div>
      </div>
    </blockquote>
    <br>
    You'd need to understand how the code for the VM is handled. Which
    parts are human written and which parts are automatically generated.<br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Corrections, clarifications, or elaboration would all be
          appreciated!</div>
        <div><br>
        </div>
        <div>~ Ian</div>
        <div><br>
        </div>
        <div>Details...</div>
        <div><br>
        </div>
        <div># Cuis</div>
        <div><br>
        </div>
        <div><a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a><br>
        </div>
        <div><br>
        </div>
        <div>Cuis-Smalltalk-Dev/packages: 101 kSLOC</div>
        <div>Cuis-Smalltalk-Dev/CoreUpdates: 22 kSLOC</div>
        <div><br>
        </div>
        <div># Cog</div>
        <div><br>
        </div>
        <div><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_blank">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br>
        </div>
        <div><br>
        </div>
        <div>opensmalltalk-vm/src: 2,955 kSCLOC</div>
        <div>opensmalltalk-vm/platforms/unix: 85 kSLOC</div>
        <div><br>
        </div>
        <div>(all line counts taken with <a href="http://github.com/AlDanial/cloc" target="_blank">github.com/AlDanial/cloc</a>
          v 1.82)</div>
      </div>
    </blockquote>
    <br>
    I think that before you can get a useful answer you need deeper
    knowledge of Cuis and Smalltalk systems in general.<br>
    <br>
    Hope this helps.<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>