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