Skip to content

Releases: chaos-lang/chaos

v0.2.0

20 Jan 06:20
cdac41d
Compare
Choose a tag to compare

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.

v0.1.2

25 Dec 15:04
73b28f2
Compare
Choose a tag to compare

Changelog:

  • Fixed the issues around recursive function calls.
  • Added Rosetta test infrastructure.
  • Implemented a Fibonacci number generator algorithm.

v0.1.1

15 Dec 23:51
2afc0ab
Compare
Choose a tag to compare

Changelog:

  • Fixed the bug that causing incorrect results for relational operators on integer variables.
  • Added a missing line feed in the compiler's stdout.
  • Fixed a stack overflow caused by the recursive functions in the compiler.
  • Changed the regex for matching the string literals.
  • Fixed the issues arround echo and print statements.
  • Fixed a bug related to long options.
  • Disabled printing greet and bye bye messages in case of piped stdin a.k.a. tty.
  • Removed some unnecessary code and added #include <math.h> into the generated C code. (compiler)
  • Added -Wall and -pedantic flags to all compile commands.
  • Fixed the wrong relation_operators_size value.
  • Separate the __KAOS_LANGUAGE_VERSION__ macro into MAJOR, MINOR, PATCHLEVEL.

v0.1.0

30 Nov 02:02
5996655
Compare
Choose a tag to compare

The language features that are implemented as of v0.1.0:

  • Interpreter
  • Compiler
  • Comments
  • Primitive Data Types (bool, num, str, any)
  • Lists
  • Dictionaries
  • Operators
  • Loops
  • Functions
  • Decision Making
  • Modules
  • Library import (importing from spells/ directory)
  • Chaos C extensions
  • I/O: print, echo, pretty print and pretty echo keywords
  • Extras: del, exit, quit, symbol_table and function_table keywords

v0.0.1-alpha.8

18 Sep 00:49
9539c2c
Compare
Choose a tag to compare
v0.0.1-alpha.8 Pre-release
Pre-release
docs(README): Update some information and improve code formatting

v0.0.1-alpha.7

16 Aug 21:29
6951eae
Compare
Choose a tag to compare
v0.0.1-alpha.7 Pre-release
Pre-release
Fix the Bison warnings

v0.0.1-alpha.6

24 Jul 10:22
Compare
Choose a tag to compare
v0.0.1-alpha.6 Pre-release
Pre-release
Update README.md

v0.0.1-alpha.5

19 Jul 23:52
Compare
Choose a tag to compare
v0.0.1-alpha.5 Pre-release
Pre-release
Implement functions that return typed lists or dictionaries

v0.0.1-alpha.4

27 Apr 21:01
Compare
Choose a tag to compare
v0.0.1-alpha.4 Pre-release
Pre-release
Prevent printing function returns on function decision execution mode…

… in interactive mode

v0.0.1-alpha.3

25 Apr 23:20
Compare
Choose a tag to compare
v0.0.1-alpha.3 Pre-release
Pre-release
Refactor the parts of Chaos.h related to complex elements and add get…

…ListLength(), getDictLength() and getDictKeyByIndex() functions