Skip to content

Releases: fadion/aria

Improved stdlib, variadic functions, default parameters

31 Jul 21:37
Compare
Choose a tag to compare

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

27 Jul 00:15
Compare
Choose a tag to compare

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

25 Jul 16:44
Compare
Choose a tag to compare

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

23 Jul 23:50
Compare
Choose a tag to compare

Features

  • Support for closures.
  • New ternary operator ?:

Improvements

  • Modules are now pre-interpreted completely, to allow access of functions from other functions.

Arrow functions

22 Jul 23:43
Compare
Choose a tag to compare

Features

  • New arrow function syntax: (x) -> x
  • Add Dict.update library function.

Improvements

  • Switch supports arrays, either fully or element matching.
  • Handle break and continue in for in loop

File imports

22 Jul 01:14
Compare
Choose a tag to compare

Features

  • Support source file imports with the import keyword.

String in Switch

21 Jul 20:23
Compare
Choose a tag to compare

Improvements

  • Switch controls and cases can now match strings.

Bug Fixes

  • Fix a regression with token location.

Pipe Operator

21 Jul 19:37
Compare
Choose a tag to compare

Features

  • Pipe operator |>

Improvements

  • Module properties interpretation is now cached for faster results.

Improved StdLib, recursion and more

21 Jul 00:48
Compare
Choose a tag to compare

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

16 Jul 19:37
Compare
Choose a tag to compare
First commit

Signed-off-by: Fadion Dashi <[email protected]>