Skip to content

Non-interactive shell goal #9

@certik

Description

@certik

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions