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

  • BB_C@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    15 days ago

    Another meme answer: nu.

    I never actually used nu for anything. But I’ve been thinking (unironically) that nu with its built-in from_json and to_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.

    • taladar
      link
      fedilink
      arrow-up
      2
      ·
      15 days ago

      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.