Releases: chaos-lang/chaos
Releases · chaos-lang/chaos
v0.2.0
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
stderrinstead ofstdout. - Added
-u, --unsafecommand-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
breakorcontinuefrom outside a loop using a preemptive checks. - Prevent calls to a function with
breakorcontinuefrom a multiline loop using a preemptive checks.
- Made compiler use known folders API of Windows.
- Added
-l, --licensecommand-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_tablekeyword to include the printing of symbol values. - Fixed a segmentation fault error.
- Fix the incorrect
Program file does not exists on the given patherror message. - Fixed a bug in the operator precendence.
v0.1.2
Changelog:
- Fixed the issues around recursive function calls.
- Added Rosetta test infrastructure.
- Implemented a Fibonacci number generator algorithm.
v0.1.1
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
echoandprintstatements. - Fixed a bug related to long options.
- Disabled printing greet and bye bye messages in case of piped
stdina.k.a.tty. - Removed some unnecessary code and added
#include <math.h>into the generated C code. (compiler) - Added
-Walland-pedanticflags to all compile commands. - Fixed the wrong
relation_operators_sizevalue. - Separate the
__KAOS_LANGUAGE_VERSION__macro intoMAJOR,MINOR,PATCHLEVEL.
v0.1.0
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 printandpretty echokeywords - Extras:
del,exit,quit,symbol_tableandfunction_tablekeywords
v0.0.1-alpha.8
docs(README): Update some information and improve code formatting
v0.0.1-alpha.7
Fix the Bison warnings
v0.0.1-alpha.6
Update README.md
v0.0.1-alpha.5
Implement functions that return typed lists or dictionaries
v0.0.1-alpha.4
Prevent printing function returns on function decision execution mode…
v0.0.1-alpha.3
Refactor the parts of Chaos.h related to complex elements and add get…