<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Ian,<br>
    <br>
    On 3/26/2024 2:55 PM, Ian Jeffries via Cuis-dev wrote:
    <blockquote
cite="mid:CALmM8GG2AueHTtsvJOo2Q8Pi+=B2bAwLGenjA34qkfMu8GOoOA@mail.gmail.com"
      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
cite="mid:CALmM8GG2AueHTtsvJOo2Q8Pi+=B2bAwLGenjA34qkfMu8GOoOA@mail.gmail.com"
      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
cite="mid:CALmM8GG2AueHTtsvJOo2Q8Pi+=B2bAwLGenjA34qkfMu8GOoOA@mail.gmail.com"
      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 moz-do-not-send="true"
            href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">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 moz-do-not-send="true"
            href="https://github.com/OpenSmalltalk/opensmalltalk-vm">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 moz-do-not-send="true"
            href="http://github.com/AlDanial/cloc">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 class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>