Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: h3rald/hex

v0.6.0

11 Sep 13:42

Choose a tag to compare

Breaking Changes

  • Removed debug symbol.

New Features

  • Added symbol timestamp.
  • Implemented the possibility to load additional .hex or .hbx files at startup by using the -l, --load option.
  • Implemented a utils.hex library as part of the Standard Library, containing additional utility symbols (loaded automatically in the playground).

Fixes

  • Fixed some documentation typos and inaccuracies.
  • Improved memory management

Chores

  • Added tests for utils.hex
  • Implemented a basic doc.hex script to generate reference documentation from hex files.

v0.5.0

08 Apr 12:52

Choose a tag to compare

Breaking Changes

  • Renamed pop to drop.
  • Renamed replace to sub.
  • ! now requires an extra string on the stack to be used as the file name/identifier in stack traces.

Fixes

  • Fixed some documentation typos and inaccuracies.
  • Fixed incorrect bytecode processing for quotations with more than 127 items.

Chores

  • Added more tests.

v0.4.1

07 Jan 13:28

Choose a tag to compare

Fixes

  • Addressed segmentation fault when interpreting bytecode on Windows (filename was not populated for symbol position).
  • Ensured that newlines are correctly processed on Windows.
  • Renamed the operator property in hex_item_t to is_operator to avoid conflicts in C++ code (operator is a reserved keyword).

v0.4.0

03 Jan 22:24

Choose a tag to compare

Breaking Changes

  • Removed the native symbol %:when%%.
  • Bytecode: some opcodes changed values; programs compiled with tbe previous version must be recompiled.

New Features

  • Added symbol debug to dequote a quotation in debug mode.
  • The registry has been reimplemented as a hash table that can store up to 4096 symbols.

Fixes

  • Improved string escaping/unescaping.
  • Values bound to symbols are deep-copied before being pushed on the stack.
  • Action quotations are now deep-copied in while and map symbols.

Chores

  • Updated Vim syntax highlighting.

v0.3.0

24 Dec 23:35
29feaf6

Choose a tag to compare

Breaking Changes

  • Removed the native symbols filter, clear, and each.
  • Bytecode: some opcodes changed values; programs compiled with tbe previous version must be recompiled.

New Features

  • Added symbol :: to define operators (immediately-dequoted quotations).
  • Added symbol symbols to get a list of all stored symbols
  • Added symbol throw to throw an error.
  • Increased the size of the STDIN buffer to 16Kb.

Fixes

  • <= now returns correct results.

Chores

  • Updated Vim syntax highlighting.

v0.2.0

20 Dec 14:59

Choose a tag to compare

v0.2.0 — 2024-12-20

New Features

  • Implemented a virtual machine with a bytecode compiler and interpreter.
  • read, write, append now support reading and writing from/to binary files as well.
  • ! can now evaluate a quotation of integers as hex bytecode.
  • Increased maximum stack size to 256 items.
  • Improved and consolidated error messages and debug messages.

Fixes

  • Ensured that dec is able to print negative integers in decimal format.
  • Ensured that symbol identifiers cannot be longer than 256 characters.
  • Ensured that all symbols are correctly added to the stack trace.

Chores

  • Split the source code to different files, and now relying on an amalgamate.sh script to concatenate them together before compiling

v0.1.0

14 Dec 17:19

Choose a tag to compare

v0.1.0 — 2024-12-14

Initial release, featuring:

  • A multi-platform executable for the hex interpreter.
  • Integrated REPL.
  • Integrated help and manual.
  • Debug mode.
  • 0x40 (64) native symbols.
  • Support for 32bit hexadecimal integers, strings, and quotations (lists).
  • A complete web site with more documentation and even an interactive playground.