origin-stdio is an alternative std-like implementation built on origin.
At this time, it only works on Linux (x86-64, aarch64, riscv64, and perhaps
even 32-bit x86 and arm), requires Rust nightly, lacks full std
compatibility, and is overall experimental. But it supports threads and stuff.
Quick start:
In an empty directory, on Linux, with Rust nightly, run these commands:
This will produce a crate and print "Hello, world!".
Yes, you might say, I could have already done that, with just the first and
last commands. But this version uses origin to start and stop the program,
and rustix to do the printing.
And beyond that, origin-studio uses origin to start and stop threads,
rustix-futex-sync to do locking for threads, and rustix-dlmalloc to do
memory allocation, so it doesn't use libc at all.
Similar crates
Other alternative implementations of std include steed, tiny-std and veneer.
mustang is a crate that uses origin to build a libc implementation that can slide underneath existing std builds, rather than having its own std implementation.
Why?
Right now, this is a demo of how to use origin. If you're interested in
seeing this grow into something specific, or interested in seeing projects
which might be inspired by this, please reach out!