-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
For the non-interactive usage, where the shell is being called on a script, either manually or via CI, or Conda or Pixi, the following should be our goals:
- It starts quickly and executes quickly
- It must be a small, self-contained download (possibly a single binary?), that you download and it just works, all commands are included. Possibly git and ssh must be installed separately, but all other basic commands should just work, every time, all the time, so that users can depend on it.
- No emulation layer: native binary, running natively, users can interact with the platform directly
- We should "compile" the script by checking all syntax and semantics ahead of time and ensure that we catch bugs like incorrect flags to "ls" at compile time, not after a long 1h build we discover that we mistyped a command. By compiling it, we can also have multiple backends, including for example Python, C++, Rust or CMake backends that would "embed" the script into those environments natively. The idea of the Python backend would be to naturally transition bigger scripts to Python, automatically and 100% robustly.
Metadata
Metadata
Assignees
Labels
No labels