Eunomia OS - standard library

By affine (@refinement.systems)
Published:

This is the fourth in a series of blog posts about my experimental operating system, Eunomia.

So far, Eunomia could only run #[no_std] userspace binaries. They could print to console and such, but only through bespoke interface. A port of Rust's standard library was still needed to enable writing programs properly. Porting all of it would be a bit of an overkill at this stage, so I decided to implement allocation, processes and threads, console, random numbers, and filesystem, but not network.

Initial port

As usual, starting with a plan. After brainstorming this with Opus for a while, we revised it. Meanwhile however I asked chatgpt for a review and revised the plan further (even though it was a bit late, as the first two phases were implemented already).

After it was done, it was time for running coretests. After the followups, a review.

Fixes

Since the review did find some issues, it was time for a new plan.

After it was done, I've got an update to Verus guidelines, and entirely new ones for Loom.

Final spec revision

You wouldn't guess it, but it began with a review and then a plan. Then a review again. And one more plan.

Since the last part of the work was relatively minor, I didn't bother with more reviews. I removed stale docs, added a warning to the README.md, and declared the project done.