Version 0.5 Release - Standard Library, Stability, and Direction

Hachi v0.5 is a step forward in making the language more consistent, more usable, and easier to build real programs with.

This release focuses on three main areas:

No major syntax changes. No philosophical shifts. Just making the system more solid and practical.


Better Error Handling

One of the biggest improvements in v0.5 is how errors are surfaced.

Previously, backend C++ compiler failures would bubble up directly, which made it harder to understand whether an issue came from Hachi or from generated code.

Now:

The goal here is simple: when something breaks, you should know where and why without digging through raw compiler output.


More Consistent Execution (CLI + REPL)

The CLI and REPL have been tightened up to behave more consistently across:

Execution paths are now more aligned, which reduces edge cases where behavior would differ depending on how code was run.

The REPL is also more stable, with fewer internal errors leaking through during iterative use.


String and Array Stability

A lot of work went into stabilizing:

These are foundational types, and inconsistencies here tend to show up everywhere else.

This release improves:

This work also lays the groundwork for future improvements around ownership and data structures.


Standard Library Upgrades

str (formerly so)

A new str module replaces the old so module and provides a cleaner foundation for string utilities.

Current capabilities include:

This is intentionally small, but structured for expansion.


fs (filesystem)

The legacy fs module has been replaced with a more robust implementation.

It now supports:

The new implementation has been validated with full workflow-style smoke tests.


path

The path module has been improved to better support filesystem operations and integrates cleanly with the new fs module.


fmt and log

Both modules were refactored to:


Versioning Note

This release is versioned as v0.5 instead of a patch release because the changes go beyond incremental fixes.

The language and standard library are now in a more coherent state, with a clearer direction going forward.


-Mike