Releases: h3rald/hex
Releases · h3rald/hex
v0.6.0
Breaking Changes
- Removed
debugsymbol.
New Features
- Added symbol timestamp.
- Implemented the possibility to load additional
.hexor.hbxfiles at startup by using the-l, --loadoption. - Implemented a
utils.hexlibrary 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.hexscript to generate reference documentation from hex files.
v0.5.0
Breaking Changes
- Renamed
popto drop. - Renamed
replaceto 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
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
operatorproperty inhex_item_ttois_operatorto avoid conflicts in C++ code (operator is a reserved keyword).
v0.4.0
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
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
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
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.