<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>