cargo-script-mvs
config
cargo-script-mvs | config | |
---|---|---|
9 | 7 | |
35 | 79 | |
- | - | |
5.3 | 9.4 | |
21 days ago | 8 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo-script-mvs
-
This Week in Rust #497
The eRFC was intentionally light on details so the Pre-RFC / IRLO thread and the demo best reflect what we hope to accomplish which are pretty detailed as-is.
-
Rust went from side project to world’s fastest growing language
> A) is easy to write one off scripts that do a job fast, with minimal thinking and effort. I am thinking of Python and Ruby. For me I can write code with high velocity in these languages.
Once I wrap up some other projects, I plan to explore this space a little bit within Rust.
imo the biggest bang for the buck is just having good `#!` support. Probably mid-year I expect to have a Pre-RFC up for single-file cargo packages. See https://github.com/epage/cargo-script-mvs/discussions/15.
A bigger effort is a batteries included, non-zero cost stdlib. I've started writing up my thoughts at https://github.com/ergo-rs/ergo.
For more background on why I think these are important, see https://epage.github.io/blog/2021/09/learning-rust/.
Would love feedback on these ideas and other ways to make Rust easy to use without sacrificing what makes Rust it is.
-
Rust as bash scripting replacement?
This is something I'm interested. Every time I write a bash or Python script, I think "why didn't I do this in Rust?". The first barrier is in the same line as your thoughts which is why I've been investigating the various cargo-script spin-offs and working towards an MVP for a Pre-RFC.
-
Val on Programming: What makes a good REPL?
Something I've been thinking a lot about for Rust is what can and should a REPL experience be for a compiled language (ie what are reasonable compromises).
There seem to be two repls that haven't gotten much traction:
- https://github.com/google/evcxr/blob/main/evcxr_repl/README....
- https://github.com/sigmaSd/IRust
There have been little and big nits that have held me back from wanting to push these further, including
- Bad defaults (having to opt-in to panic handling)
- Command syntax feeling out of place and likely not beginner friendly
- Limits on variable preservation
- Lack of introspection (at least irust as `:type`)
So far I've been punting on wanting to improve this area by instead focusing on polishing up a rust script solution in the hopes of getting it merged: https://github.com/epage/cargo-script-mvs
-
Quick Tip: You don't need to create a new cargo project if you want to test if something works in rust
rust-script is the most up-to-date version I could find. See https://github.com/epage/cargo-script-mvs/discussions/15
-
Creating an Easy Mode for Rust
cargo-script has been forked or reimplemented several times.
-
clap with Ed Page :: Rustacean Station
cargo-script: I've done some initial analysis and recorded my thoughts on what cargo-script in Rust should look like. If people are interested in this or other individual / company on-boarding improvements, I'd love to talk!
-
When not to use Rust?
Fully agree with this though I also feel there is room for experimentation and improvement in this area. I've previously blogged on this and have started researching cargo-script. Hopefully later I'll get to my standard-adjacent library.
config
- Unified versus Split Diff
-
[MEDIA] Kanata: improve your keyboard comfort. Now with a logo, miette errors, and more features (v1.3.0-prerelease-1)
I actually quite like the config, seems intuitive! Though, I am comparing it to this abomination, so I might have low expectations here :-)
-
Started using Rust for scripting
4) For scripts you put for everyday use in ~/bin, I've found busybox style multipurpose binary invaluable. You put all your scripts into a single Rust binary, and than hard-link this binary under different names in PATH, so that the first argv is actually the name of subcommand. Here's how the infra works for my scripts, and here's an example script.
- Rust as bash scripting replacement?
-
Are there tools for a more granular benchmarking experience?
1) Invest into application-level profiling, using tracing::span! for collection and something like tracing_tracy or tracing_span_tree for visualization. This should give you high-level logical profile. 2) If on Linux, learn a bare minimum of perf for collecting data (the extent of my knowledge about perf is basically this script https://github.com/matklad/config/blob/master/tool/src/prf.rs). Use neither flamegraph.pl nor cargo flamegraph for visualization, use https://profiler.firefox.com/ instead.
- rust-analyzer changelog #89
-
What you don't like about Rust?
And, while a spam links, here’s a link with more links: https://github.com/matklad/config/blob/master/links.adoc
What are some alternatives?
cargo-script - Cargo script subcommand
bacon - background rust code check
rust-script - Run Rust files and expressions as scripts without any setup or compilation step.
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
gcpp - Experimental deferred and unordered destruction library for C++
pale-fire - Port of Emacs Zenburn theme to VS Code
evcxr
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
IRust - Cross Platform Rust Repl
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
team - CLI working group
cli - GitHub’s official command line tool