Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@mertyildiran mertyildiran released this 20 Jan 06:20
· 266 commits to master since this release
cdac41d

Changelog:

  • Made the all kind of errors (including the syntax and preemptive errors) print the function call stack trace. (related RFC)
  • Fixed an undefined behavior in the operators.
  • Errors will be written to stderr instead of stdout.
  • Added -u, --unsafe command-line option to disable preemptive error checks.
  • Added support of calling functions from imported libraries in the decision blocks like: lib.f1()
  • Made parameter evaluation inside decision block in the grammar forbidden.
  • Implemented preemptive error checks: (related RFC)
    • Undefined variable checks.
    • Undefined function checks.
    • Incorrect argument count checks.
    • Illegal variable type for function parameter checks.
    • Illegal return type checks.
    • Checks for foreach-ed variables if they are actual lists or dictionaries.
    • Prevent calls to a function with break or continue from outside a loop using a preemptive checks.
    • Prevent calls to a function with break or continue from a multiline loop using a preemptive checks.
  • Made compiler use known folders API of Windows.
  • Added -l, --license command-line option to print the license text.
  • Changed the exit message to Bye bye!.
  • Updated the greeting text at the start of the interactive shell (REPL).
  • Implemented tail call optimization. (related RFC)
  • Fixed memory leaks on function returns.
  • Updated the output of symbol_table keyword to include the printing of symbol values.
  • Fixed a segmentation fault error.
  • Fix the incorrect Program file does not exists on the given path error message.
  • Fixed a bug in the operator precendence.