aiscript
Parser and interpreter for AiScript, a lightweight scripting language, written in Dart.
0.6.0
LeadRDRK/aiscript-dart
What this package is like to depend on
Last release 3 years ago
no release in 18 months
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
7 releases · first in 2023
0 releases in the last 12 months
see the full history below
Release timeline
7 releases · Jul 2023 to Sep 2023
2024
2025
2026
Releases
latest 7-
0.6.022 Sep 2023Release notes
Open source →Core:v=0.16.0- Added support for modules. This is an 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.
Release notes
Open source →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.015 Aug 2023Release notes
Open source →- Removed
Interpreter.addTimerFuture()andInterpreter.runTimers()(timers will run just fine on their own, unless a blocking operation is preventing them from running)
Release notes
Open source →- 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
- Removed
-
0.4.109 Aug 2023Release notes
Open source →- Added explicit type casts for parser def.
- Minor documentation improvement.
Release notes
Open source →- Added explicit type casts for parser def.
- Minor documentation improvement.
-
0.4.025 Jul 2023Release notes
Open source →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.
Release notes
Open source →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.021 Jul 2023Release notes
Open source →- 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>
Release notes
Open source →- 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>
- Added
-
0.2.020 Jul 2023Release notes
Open source →- 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.
Release notes
Open source →- 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.
- The type of the
-
0.1.019 Jul 2023