I want to allow the users of my project be able to write the driving logic, while I provide the tools. What are some embedded scripting languages in Rust that can be sandboxed and are easy for absolute beginners?
edit: Thanks for all of your answers, I decided to go with lua using mlua
Another meme answer:
nu
.I never actually used
nu
for anything. But I’ve been thinking (unironically) thatnu
with its built-infrom_json
andto_json
can be interesting.The use-case I had in mind is not games or anything like that, but some system or dev tools that traditionally utilized shell scripts, but are moving towards better languages like python. So I thought a single binary that embeds
nu
, but also has a lot of sub-commands that implement a lot of sub-tasks in Rust directly, and with JSON used as an exchange format, the combination can be interesting.Now that I think about it more, this can work in both directions, with main execution being in nu (what I had in mind), or in Rust.
nu
even has an lsp server, so the development experience should theoretically be good.As a sysadmin Python is very far from a better language than Shell, it is much too fragile over time for that. You can’t even rely on a Python script running unmodified on the oldest currently supported OS versions and the latest ones.