An embeddable dynamic programming language for Rust, designed for scripting and runtime extensibility.
Rune is an embeddable dynamic programming language designed specifically for Rust. It allows developers to add scripting capabilities to Rust applications, enabling runtime configuration, modding, and user-extensible behavior without requiring recompilation of the main application.
Rust developers who need to add scripting, modding, or runtime configuration to their applications, such as game developers, tool builders, or anyone creating extensible systems.
Rune provides a memory-safe, performant scripting language that integrates cleanly with Rust's type system and ecosystem, offering features like hot reloading and async support that are uncommon in embedded languages.
An embeddable dynamic programming language for Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Rune runs on a stack-based VM with compact bytecode, ensuring good performance for embedded scripting, as highlighted in the README's focus on efficiency.
The language allows easy calling of Rust functions and types from scripts, with built-in serde support and clean binding, making it ideal for extending Rust applications.
Uses reference counting to prevent common memory errors, enhancing safety when running dynamic scripts within Rust, as noted in the features list.
Scripts can be modified at runtime without restarting the application, enabling rapid iteration and modding, a key feature emphasized in the README.
Integrating Rune requires verbose boilerplate code, as shown in the README example with Diagnostics and context building, which can be daunting for simple use cases.
As a niche language, Rune lacks the extensive third-party libraries found in established scripting languages like Lua, restricting out-of-the-box functionality.
Being a dynamic language on a VM, Rune introduces runtime overhead compared to native Rust, which may not suit CPU-intensive tasks despite its efficiency claims.