Skip to content

v1.3.0 - Community Contributions

Compare
Choose a tag to compare
@Ratstail91 Ratstail91 released this 14 Aug 13:22

It's time for a minor version bump - this time, with some awesome contributions from the community!

We now have a math library, fully tested and integrated into the repl, as well as a bytecode disassembler in the tools (simply run make in the tools/disassembler directory to build it) - both of these were written by members of the community. It's awesome getting feedback and contributions from outside help - I hope to continue growing this little group for as long as people are interested!

I've also made some adjustments to how the core language behaves, as well - short-circuits now work as they were originally intended to:

fn doA() {
  print "doA() called";
  return true;
}

fn doB() {
  print "doB() called";
  return true;
}

//prints "doA() called"
doA() || doB();

For some reason, indexing an array/dictionary within an argument list wasn't working - this has been fixed.

doAThing(a[0]); //A-OK!

Finally, a small bit of memory was reclaimed by removing a superfluous scope creation around function bodies - this matters most to users who are interested in running Toy on a microcontroller.

I'm really looking forward to what the future holds for Toy!

What's Changed

  • Adding a math library to toy by @Add00 in #94
  • Added disassembler tool, thanks @hiperiondev
  • Short circuits are now functioning correctly
  • Added int to float coercions to function args and returns, when specified
  • Removed an extra pair of SCOPE_BEGIN and SCOPE_END from function bytecode
  • Fixed indexing in argument lists
  • Minor house cleaning

Full Changelog: v1.2.1...v1.3.0