all repos — hex @ f33dd721f7d2e7c6342b4f6ef45d5e1eebbc09d5

A tiny, minimalist, slightly-esoteric concatenative programming lannguage.

Preparing for 0.2.0 release.
h3rald h3rald@h3rald.com
Fri, 20 Dec 2024 15:46:12 +0100
commit

f33dd721f7d2e7c6342b4f6ef45d5e1eebbc09d5

parent

086ea92f94083330cab4d200a3052853b2c76015

4 files changed, 6 insertions(+), 5 deletions(-)

jump to
M CHANGELOG.mdCHANGELOG.md

@@ -1,1 +1,1 @@

-<article> <h2>Changelog</h2> <h3>v0.2.0 &mdash; <em>Under development</em></h3> <h4>New Features</h4> <ul> <li>Implemented a virtual machine with a bytecode compiler and interpreter.</li> <li>{{sym-read}}, {{sym-write}}, {{sym-append}} now support reading and writing from/to binary files as well.</li> <li>{{sym-!}} can now evaluate a quotation of integers as hex bytecode.</li> <li>Increased maximum stack size to 256 items.</li> </ul> <h4>Fixes</h4> <ul> <li>Ensured that {{sym-dec}} is able to print negative integers in decimal format.</li> <li>Ensured that symbol identifiers cannot be longer than 256 characters.</li> <li>Ensured that all symbols are correctly added to the stack trace.</li> </ul> <h4>Chores</h4> <ul> <li>Split the source code to different files, and now relying on an <a href="https://github.com/h3rald/hex/blob/master/scripts/amalgamate.sh">amalgamate.sh</a> script to concatenate them together before compiling</li> </ul> <h3>v0.1.0 &mdash; 2024-12-14</h3> <p>Initial release, featuring:</p> <ul> <li>A multi-platform executable for the <em>hex</em> interpreter.</li> <li>Integrated REPL.</li> <li>Integrated help and manual.</li> <li>Debug mode.</li> <li>0x40 (64) native symbols.</li> <li>Support for 32bit hexadecimal integers, strings, and quotations (lists).</li> <li>A complete <a href="https://hex.2c.fyi">web site</a> with more documentation and even an interactive playground. </li> </ul> </article> +<article> <h2>Changelog</h2> <h3>v0.2.0 &mdash; 2024-12-20</h3> <h4>New Features</h4> <ul> <li>Implemented a virtual machine with a bytecode compiler and interpreter.</li> <li>{{sym-read}}, {{sym-write}}, {{sym-append}} now support reading and writing from/to binary files as well.</li> <li>{{sym-!}} can now evaluate a quotation of integers as hex bytecode.</li> <li>Increased maximum stack size to 256 items.</li> <li>Improved and consolidated error messages and debug messages.</li> </ul> <h4>Fixes</h4> <ul> <li>Ensured that {{sym-dec}} is able to print negative integers in decimal format.</li> <li>Ensured that symbol identifiers cannot be longer than 256 characters.</li> <li>Ensured that all symbols are correctly added to the stack trace.</li> </ul> <h4>Chores</h4> <ul> <li>Split the source code to different files, and now relying on an <a href="https://github.com/h3rald/hex/blob/master/scripts/amalgamate.sh">amalgamate.sh</a> script to concatenate them together before compiling</li> </ul> <h3>v0.1.0 &mdash; 2024-12-14</h3> <p>Initial release, featuring:</p> <ul> <li>A multi-platform executable for the <em>hex</em> interpreter.</li> <li>Integrated REPL.</li> <li>Integrated help and manual.</li> <li>Debug mode.</li> <li>0x40 (64) native symbols.</li> <li>Support for 32bit hexadecimal integers, strings, and quotations (lists).</li> <li>A complete <a href="https://hex.2c.fyi">web site</a> with more documentation and even an interactive playground. </li> </ul> </article>
M releases/0.2.0.htmlreleases/0.2.0.html

@@ -1,4 +1,4 @@

-<h3>v0.2.0 &mdash; <em>Under development</em></h3> +<h3>v0.2.0 &mdash; 2024-12-20</h3> <h4>New Features</h4> <ul>

@@ -6,6 +6,7 @@ <li>Implemented a virtual machine with a bytecode compiler and interpreter.</li>

<li>{{sym-read}}, {{sym-write}}, {{sym-append}} now support reading and writing from/to binary files as well.</li> <li>{{sym-!}} can now evaluate a quotation of integers as hex bytecode.</li> <li>Increased maximum stack size to 256 items.</li> + <li>Improved and consolidated error messages and debug messages.</li> </ul> <h4>Fixes</h4>
M scripts/web.hexscripts/web.hex

@@ -1,5 +1,5 @@

"2024" "meta-year" : -"0.1.0" "meta-release" : +"0.2.0" "meta-release" : "web/assets" "d-assets" : "web/templates" "d-templates" : "web/contents" "d-contents" :

@@ -103,7 +103,7 @@ (t-symbol "'" ==)("quote" "t-href" :) when

(t-symbol "+" ==)("add" "t-href" :) when (t-symbol "*" ==)("multiply" "t-href" :) when (t-symbol "-" ==)("subtract" "t-href" :) when - ("<a href=\"/spec#" t-href "-symbol\">" t-symbol "</a>") () map "" join "t-repl" : + ("<a href=\"https://hex.2c.fyi/spec#" t-href "-symbol\">" t-symbol "</a>") () map "" join "t-repl" : ; Push replacement content on the stack t-content "sym-" t-symbol cat
M src/hex.hsrc/hex.h

@@ -20,7 +20,7 @@ #include <sys/wait.h>

#endif // Constants -#define HEX_VERSION "0.1.0" +#define HEX_VERSION "0.2.0" #define HEX_STDIN_BUFFER_SIZE 256 #define HEX_REGISTRY_SIZE 1024 #define HEX_STACK_SIZE 256