Skip to content

João v2.0.1

Compare
Choose a tag to compare
@Altoids1 Altoids1 released this 08 Feb 16:01
· 191 commits to main since this release

This update focuses on making João more optimized, while also squashing a bunch of bugs.

Optimizations 🏃‍♀️

  • Fixed the Scope class being accidentally copied every time it was used for variable access, resulting in João now running more than twice as fast.
  • Removed a few unnecessary string copies, resulting in an additional ~10% speedup.
  • The Scopelet internal struct no longer has a superfluous string member. Resulted in a 1.4% speedup.

Features 🔋

  • The /file methods are now better about reporting errors when opening, reading, and writing to files.
  • /file.open()'s second argument, to determine whether the file (if existing) is blanked, now does not require the 2nd argument to be a Bool; it is cast into one implicitly.
  • João no longer produces a weird temporary file when used in interactive mode.

Bugfixes 🧼

  • Fixed member accesses returning a Value of Function type with a nullptr inside whenever a member access fails. João safely throws a BadMemberAccess runtime instead.
  • Fixed minor memory leak associated with interactive mode.
  • Fixed the typeof() function not giving reasonable results for Values of type Null or Function.
  • Fixed parse failure when using the ../ scoping operator repetitively.