Show HN: Run – a CLI universal code runner I built while learning Rust
96 points| esubaalew | 4 months ago |github.com
I designed it to support both interpreted languages (Python, JS, Ruby, etc.) and compiled languages (Rust, Go, C/C++). It detects languages from flags or file extensions, can compile temporary files for compiled languages, and exposes a unified REPL experience with commands like :help, :lang, and :quit.
Install: cargo install run-kit (or use the platform downloads on GitHub). Source & releases: https://github.com/Esubaalew/run
I used Rust while following the official learning resources and used AI to speed up development, so I expect there are bugs and rough edges. I’d love feedback on: usability and UX of the REPL, edge cases for piping input to language runtimes, security considerations (sandboxing/resource limits), packaging and cross-platform distribution.
Thanks — I’ll try to answer questions and share design notes.
Surac|4 months ago
ForHackernews|4 months ago
esubaalew|4 months ago
westurner|4 months ago
Those sound similar to "magic commands" in IPython and Jupyter?
There is not yet a Jupyter-xeus Rust kernel which would make it really easy to support Rust in JupyterLite in WASM on an .edu Chromebook and in JupyterLab: https://news.ycombinator.com/item?id=43354177
> jupyter_console is the IPython REPL for non-ipykernel jupyter kernels. [like evcxr]
> This magic command logs IPython REPL input and output to a file:
https://news.ycombinator.com/item?id=25923123 ,Here's how to support something like _repr_html_() and IPython.display.display() with evcxr_jupyter: https://github.com/evcxr/evcxr/blob/main/evcxr_jupyter/READM...
I'm not sure what the pros and cons of evcxr_repr, jupyter_console + evcxr_jupyter, and Run are?
garganzol|4 months ago
[1] https://github.com/casey/just?tab=readme-ov-file#shebang-rec...
HumanOstrich|4 months ago
I like and use `just`, but I think the project author's claims around it being "polyglot" are misusing the term.
catlifeonmars|4 months ago
brandonasuncion|4 months ago
jayrhynas|4 months ago
esubaalew|4 months ago
As for Kotlin, it could reasonably be placed under either "Web & scripting" or "Compiled," depending on how it's used. Since Kotlin can also compile to JavaScript, its classification depends on the context. If we're talking about Android development, then Kotlin is clearly a compiled systems language.
To clarify: Swift is a compiled, statically typed systems language, much like Rust, C++, or Go. Its core toolchain (swiftc) compiles code into native binaries.
esubaalew|4 months ago
read the docs
esubaalew|4 months ago
not--felix|4 months ago
nick__m|4 months ago
It would be less tedious if some code was factored out into an Helper struct but it doesn't look like it's hard.
esubaalew|4 months ago
xk3|4 months ago
But if only to learn rust, this is more interesting than building another "todo list" app
esubaalew|4 months ago
davidpfarrell|4 months ago
https://github.com/TekWizely/run
esubaalew|4 months ago
pipsgame|4 months ago
[deleted]