aiscript 0.6.0
aiscript: ^0.6.0 copied to clipboard
Parser and interpreter for AiScript, a lightweight scripting language, written in Dart.
0.6.0 #
Core:v=0.16.0- Added support for modules. This is unofficial extension and can be disabled.
- Added
ModuleResolver,FileModuleResolverandDummyModuleResolver. - Added script execution context. It can be used to change the execution scope.
Interpreter.exec()now executes the script in a child scope of the root scope by default.Interpreter.call()now uses named parameters.RuntimeErrornow includes the execution context.- New built-in functions:
Str:from_codepoint(), primitivestr.codepoint_at(),require() - Allow object property referencing with index syntax (e.g.
object['key']) - Variables defined with
letare now immutable. NumValue's value property is now marked as final.- Mutable variables are now disallowed in namespaces.
- Added support for nested namespaces.
- Added
existsexpression for checking whether a variable exists. - Improved and rectified the behavior of
Scope. - Added
Errorvalue type. Json:parsenow returns anErrorvalue on failure.
0.5.0 #
- Removed
Interpreter.addTimerFuture()andInterpreter.runTimers()(timers will run just fine on their own, unless a blocking operation is preventing them from running) - Added
Core:sleep
0.4.1 #
- Added explicit type casts for parser def.
- Minor documentation improvement.
0.4.0 #
Core:v=0.15.0Core:to_strnow allows any type of value.- Added more math functions and constants.
- Implemented and/or operators short-circuiting.
- Fixed stack overflow in
DeepEqValue.deepEq.
0.3.0 #
- Added
Interpreter.addTimerFuture()andInterpreter.runTimers() - Properly implemented Async functions (timeout, interval). Note that to run the timer of these functions, you must await for
Interpreter.runTimers() - Fixed
ArrValue.toJson(). It now returns aList<dynamic>
0.2.0 #
- The type of the
argsargument inInterpreter.callhas been changed toList<Node> - Num values are now passed to native functions as copies (same as normal functions)
- Added more API docs.
0.1.0 #
- Initial release.