Releases: fadion/aria
Releases · fadion/aria
Improved stdlib, variadic functions, default parameters
Features
- Standard Library written in Aria.
- A whole set of runtime functions.
- Type hinting on function parameters and return type.
- Default value on function parameters.
- Type lock on variables.
- Shorthand assignment operators.
is
operator for type checking.as
operator for type conversion.
Improvements
- Out of bounds string subscript returns
nil
. - Cache imports for more efficient loading.
- Simplify how imports are parsed for better treatment as expressions.
Bug Fixes
- Unresolved module properties now report an error.
- Module functions would fail on subsequent calls.
Variadic functions, Nil type and many bug fixes
Features
- Variadic functions in the
...args
form. - New Nil data type.
Improvements
- Short circuit boolean AND and OR.
- Open functions scope to allow calling other functions.
- Pipe operator supports any data type.
- Dictionary keys can be of any data type.
- Return nil on inexistent dictionary keys instead of runtime error.
- Return nil on inexistent array keys instead of runtime error.
- Empty or placeholder array index assignment appends a value to the array.
- Division by zero triggers a runtime error.
- Arrays or dictionaries can be compared with comparison operators.
Bug Fixes
- Assignment would update the current block scope, but not the parent.
- Multiple calls on a function would carry over the scope.
- Return in
for in
loop wouldn't cause the loop to stop and return a value immediately.
Mutable values, atoms, pattern matching
Features
var
variable declaration for mutable values.- Assignment operator
=
for mutable values. - Atom data type.
Improvements
- Switch now supports any data type.
- Pattern matching for arrays in Switch.
- Negative index subscript for arrays and strings.
Closures, ternary operator
Features
- Support for closures.
- New ternary operator
?:
Improvements
- Modules are now pre-interpreted completely, to allow access of functions from other functions.
Arrow functions
Features
- New arrow function syntax: (x) -> x
- Add Dict.update library function.
Improvements
- Switch supports arrays, either fully or element matching.
- Handle
break
andcontinue
infor in
loop
File imports
Features
- Support source file imports with the
import
keyword.
String in Switch
Improvements
- Switch controls and cases can now match strings.
Bug Fixes
- Fix a regression with token location.
Pipe Operator
Features
- Pipe operator |>
Improvements
- Module properties interpretation is now cached for faster results.
Improved StdLib, recursion and more
Features
- A lot of functions added to the Standard Library, including map, filter and reduce.
- Support recursive function calls.
- Floats in scientific notation.
- Error reporters shows the character number too.
Bug Fixes
- Errors could cause an unusable repl.
- Sometimes the repl would panic and crash the program.
- Error reporting would sometime show the wrong line number.
First release
First commit Signed-off-by: Fadion Dashi <[email protected]>