TL;DR
Roto, a JIT-compiled, statically typed scripting language for Rust, celebrates its first anniversary with multiple releases, new features, and external adoption. Its development has focused on improving integration, language features, and community engagement.
Roto, a JIT-compiled embedded scripting language for Rust, marks its first anniversary with significant updates, new features, and growing external adoption, demonstrating its progress and relevance in the Rust ecosystem.
Since its launch a year ago, Roto has released six new versions, adding features such as loops, string formatting, enums, and list types. It has improved Rust integration through the ‘library!’ macro, making registration of types and functions more straightforward. The project has also developed a logo, delivered presentations at EuroRust and FOSDEM, and seen adoption outside its initial scope, notably by the scriptable proxy Iocaine. Development has moved to Codeberg, with ongoing enhancements and community engagement. The language now resembles Rust more closely, with syntax updates like ‘fn’ and ‘//’ comments, aiming for familiarity for Rust developers.
Why It Matters
Roto’s development underscores its potential as a high-performance, embedded scripting solution for Rust applications, bridging the gap between scripting flexibility and Rust’s safety and speed. Its adoption by external projects like Iocaine highlights its practical utility, and ongoing improvements suggest a growing ecosystem that could influence embedded scripting practices in Rust development.
Rust embedded scripting language
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background
Roto was first announced nearly exactly one year ago as a JIT-compiled scripting language designed to integrate tightly with Rust. Its development has focused on language features, Rust interoperability, and community engagement. The project was initially created for the Rotonda project but has since gained external interest. The move to Codeberg and the release of multiple versions reflect active ongoing development, with features like lists, enums, and improved registration mechanisms added over time.
“Roto has seen significant growth over the past year, with six new releases and increasing community adoption.”
— Terts Diepraam
“Our goal is to make Roto a fast, flexible scripting language that fits naturally into Rust workflows.”
— Roto team
JIT-compiled scripting language for Rust
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What Remains Unclear
It is still unclear how widely Roto will be adopted outside its current niche, and whether future features will include more Rust-like capabilities or expand to other domains. The long-term sustainability and community growth remain developing aspects.
Rust macro library tools
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What’s Next
Next steps include further language enhancements, broader community engagement, and potential integrations into other Rust-based projects. The team plans to continue releasing updates and supporting external adoption, with upcoming milestones likely involving more complex features and improved tooling.
performance scripting tools for Rust
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What are the main features added in Roto over the past year?
Major features include loops (while, for), string formatting (f-strings), enums, list types, compound operators, global constants, and generic parameters. Syntax has been aligned more with Rust for familiarity.
How does Roto compare to other scripting languages for Rust?
Roto is statically typed and JIT-compiled, offering better performance than many traditional scripting languages. Its tight integration with Rust allows seamless registration of types and functions, making it suitable for performance-critical applications.
Who are the main adopters of Roto outside its initial project?
The notable external adopter is Iocaine, a scriptable proxy that defends web servers against AI crawlers, which uses Roto for its default scripting due to performance advantages.
What are the future plans for Roto?
The team plans to add more features, improve documentation, foster community contributions, and expand its use cases in Rust applications. Continued development and external outreach are expected to be priorities.
Source: Hacker News