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
stderr
instead ofstdout
. - 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
orcontinue
from outside a loop using a preemptive checks. - Prevent calls to a function with
break
orcontinue
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
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
echo
andprint
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 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 print
andpretty echo
keywords - Extras:
del
,exit
,quit
,symbol_table
andfunction_table
keywords
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…