v5
Pre-release
Pre-release
Gen 5 - the big rewrite
HumanScript is now H Sharp (H#), and the language was rebuilt from the ground up.
The syntax is C#-like: braces, semicolons, typed functions, $"interpolated {strings}". The old English keywords (remember x is 5, say, end) are gone for good.
The real change is underneath: no garbage collector, ever. Strings and lists have exactly one owner, assigning moves the value, and touching it afterwards is a compile error. Everything on the heap is freed at its last use, decided at compile time. There's a mem() builtin that reports live allocations; a correct program prints 0, and the test suite checks exactly that.
Also in this release:
- static types with
varinference for locals try/catch, missing files and out-of-bounds indexes land in catchforeach, compound assignment (+=and friends)- lists own their elements; function params are borrowed unless marked
move - cross-compiling via
-platform win64|linux64|osx64(defaults to your OS) - rebuilt test suite running the full pipeline per test
Heads up: old .hs programs won't compile - this is a clean break. See the README for the new syntax.