WattleScript 0.6.0-beta1
dotnet add package WattleScript --version 0.6.0-beta1
NuGet\Install-Package WattleScript -Version 0.6.0-beta1
<PackageReference Include="WattleScript" Version="0.6.0-beta1" />
paket add WattleScript --version 0.6.0-beta1
#r "nuget: WattleScript, 0.6.0-beta1"
// Install WattleScript as a Cake Addin #addin nuget:?package=WattleScript&version=0.6.0-beta1&prerelease // Install WattleScript as a Cake Tool #tool nuget:?package=WattleScript&version=0.6.0-beta1&prerelease
WattleScript is a scripting engine written in C# for runtimes supporting .NET Standard 2.0 and newer. (.NET 4.7.2+, .NET Core 3.1+). It is a dual-language environment, providing support for Lua 5.2 code as well as its own language, Wattle.
Using WattleScript is as easy as:
var script = new Script();
script.DoString("print('Hello World!')");
WattleScript is based off the tried and tested MoonSharp project, inheriting its VM design and test suite. The design focuses on easy and fast interop with .NET objects and functions.
Features
- Wattle scripting language.
- Lua mode 99% compatible with Lua 5.2, differences documented here.
- Easily configured sandbox for safe execution of untrusted scripts.
- Minimal garbage generation at runtime
- No external dependencies
- Easy and performant interop with CLR objects, with runtime code generation where supported
- Source Generator for AOT interop.
- Support for awaiting on returned values
- Supports dumping/loading bytecode
- Support for the complete Lua standard library with very few exceptions (mostly located in the
debug
module). json
module for loading json into tables safely at runtime.
License
WattleScript is licensed under the 3-clause BSD License. See LICENSE for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net5.0
- WattleScript.Hardwire (>= 1.0.0)
- WattleScript.Interpreter (>= 1.0.0)
-
net6.0
- WattleScript.Hardwire (>= 1.0.0)
- WattleScript.Interpreter (>= 1.0.0)
-
net7.0
- WattleScript.Hardwire (>= 1.0.0)
- WattleScript.Interpreter (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.6.0-beta1 | 425 | 10/10/2022 |