Pre-release: terebinth v0.1.0-alpha.2

Changelog

  • Fixed binary operator associativity by @crhowell3 in #12
  • Code cleanup, refactoring, additional regression testing by @crhowell3 in #14

Synopsis

Despite the changelog being so short, this update touched a lot of the codebase. The biggest change of course is a bugfix that addressed an issue with arithmetic binary operator associativity. If the precedence of consecutive binary operators was the same, the evaluation of the operators was right-associative. By default, all arithmetic operators should be left-associative, meaning that operators of like precedence should be evaluated left to right (except for the “power” operator, which needs to evaluate the exponent first). Operator precedence and associativity have now been corrected.

Also, the codebase has seen a little bit of a facelift by reorganizing and cleaning up some messier and stringier logic. There will be more updates of this nature in the future alongside the feature drops and major content updates.

Expect more alpha pre-releases as the core principles of the Terebinth language are finalized and written out. Once the compiler actually, you know, compiles the Terebinth source into an executable binary, I will consider Terebinth to be ready for a 0.1.0 release. A 1.0.0 release is pretty far from happening this early on, but I do plan on putting more time and effort into this little hobby language just to see what becomes of it. Thanks to anyone who is checking this out, and feel free to check out my other projects on my GitHub.