tag:github.com,2008:https://github.com/Jamesbarford/holyc-lang/releasesRelease notes from holyc-lang2025-02-04T21:57:30Ztag:github.com,2008:Repository/749976710/beta-v0.0.92025-02-04T22:03:00Zbeta-v0.0.9<h2>Fixes</h2>
<ul>
<li><code>-run</code> now works again</li>
<li>Filenames don't get chopped off <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rilysh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rilysh">@rilysh</a></li>
<li>Compile files that don't have a new line ending</li>
<li>Allow for empty string literals</li>
<li>Hex escape sequences are handled better <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krizej/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krizej">@krizej</a></li>
<li><code>sizeof(...)</code> works as intended</li>
<li>Hashtable probing no longer spins forever</li>
<li>Compiler flags are passed in properly through the Makefile</li>
</ul>
<h2>Features</h2>
<ul>
<li>New CLI interface</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.82024-12-25T20:51:46Zbeta-v0.0.8<p>Feat: can pass off <code>.s</code> files internally for gcc to assemble<br>
Feat: transpile to <code>C</code><br>
Feat: chose an installation directory<br>
Feat: RedBlack Tree and IntSet, with iterators</p>
<p>Fix: ReAlloc<br>
Fix: Array indexing & global arrays<br>
Fix: <code>net.HC</code> #defines's for Linux (were mac only before)<br>
Fix: line numbers are correct when reporting errors<br>
Fix: string hashtables in the library<br>
Fix: Function pointer on a class</p>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.72024-11-19T19:32:31Zbeta-v0.0.7<ul>
<li>Error handling, in most cases, has been improved</li>
<li>Ast level function inlining with <code>inline</code> keyword, works well enough for a beta release</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.52024-11-10T16:07:53ZVectors & Hashtable fix<ul>
<li>Adds Vectors for ints, floats and pointers (arbitrary objects)</li>
<li>Fixes hashtables</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.42024-11-03T20:30:21ZFixes<ul>
<li>Removed mandatory dependency of sqlite3</li>
<li>Fixed ordering of libs</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.32024-06-01T20:03:03ZFixes<ul>
<li>Fixed memory allocation issue with <code>ReAlloc()</code></li>
<li>Fixed issue with <code>StrNew()</code></li>
<li>Fixed printing tokens (quite rough and ready)</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.22024-04-25T18:35:35ZBeta v0.0.2<h1>Fixes</h1>
<ul>
<li>Fix for file paths and extensions</li>
</ul>Jamesbarfordtag:github.com,2008:Repository/749976710/beta-v0.0.12024-03-05T14:20:24ZBeta v0.0.1<h1>Basic implementation of the language</h1>
<p>This is a fairly comprehensive implementation of holyc as it stands. The assembly is not optimised and the resulting code is thus not terribly fast to execute. I have not benchmarked it as the focus has not yet been on performance</p>
<h2>Know bugs</h2>
<ul>
<li><code>%f</code> formatter does not work for <code>StrPrint</code>.</li>
<li>Cannot declare global variables with commas.</li>
<li><code>inline</code> does nothing.</li>
<li>Alignment of classes are dodgy as is the intrinsic class.</li>
<li><code>#defines</code> are not just pasting text but evaluated at compile time.</li>
<li>Line number in error messages is sometimes off and does not report the file.</li>
<li>Varadic arguments: <code>(...)</code> are all passed on the stack.</li>
<li>Mixing integer sizes like <code>I32</code> and <code>I64</code> can lead to a segfault.</li>
<li>Doing <code>&ptr->prop->value</code> in circumstances I don't fully understand yet can lead to a segfault.</li>
</ul>
<h2>Yet to be implemented</h2>
<ul>
<li><code>#exe</code>, <code>#assert</code></li>
<li>calling printf like <code>"", "hello", " world"</code> should concatinate the string and print to <code>stdout</code> and the same with characters.</li>
<li>declaring an array of classes</li>
</ul>Jamesbarford