Thirteen years of Rust and the birth of Rue

75 points by steveklabnik


osa1

Man, this makes me feel all kinds of things..

I have more than a decade of PL implementation experience and I've started my own language two years ago, putting everything I've learned during this time (both as a language implementer but also maintainer of massive projects) to use.

100% hand coded, 100% written by me. (only a few words of edits in documentation made by contributors) It already works. I'm about 10% there to self host it. It has its own formatter, parser generator written in itself.

2 years, 798 commits, many blog posts and social media posts later I have: zero contributors, 84 stars.

OTOH this vibe coded... let's just say "project": 130 vibe-coded commits and 423 stars. 63 upvotes on lobsters. I'm guessing it's being shared on social media, orange site etc. as well with probably a lot of interest?

I want to learn from this but not sure what the lesson is.. Marketing is the most important thing and nothing else matters even 1% compared to it I guess?

(I normally hide vibe-coding tag on this site but I visited without logging in and saw this.. bad idea)

doctor_eval

“Higher level than Rust, lower level than Go”

Very excited for this!

pushcx

Neat, good luck. Great to read design decisions, I look forward to seeing more as it goes. Some great discussion on HN.

It sounds like your goal is to make a couple big changes to Rust to have a systems language that's less in-the-weeds of memory/resource management? Or is it more that you decided to reuse familiar syntax so you'd have more attention for the early implementation?

I've also been thinking about writing a language and a lot of the best tips I can find emphasize big design up front because of how many early decisions are hard to reverse. I wonder if vibecoding will reduce the cost of otherwise daunting changes.

mitsuhiko

I think this is really cool. I strongly encourage this. I was very very close this year to trying a version of this myself but I just didn't have the time for it and so I'm incredibly happy to see someone else give this a try. I think there's a real opportunity to learn from all the cool stuff that Rust had and landing at a much simpler language with a reduced surface area.

rbr

Interesting, looking forward to what you'll be doing for the "linear type stuff." Congratulations on finding time and energy again for a fun side project.

Do you expect to need an exit strategy, for when the LLM cannot meaningfully make progress anymore? Or do you think that won't happen?

Minor nitpick: the intro in the spec introduces "chapter.section:paragraph" notation, but the document seems to use "chapter.section.paragraph." Is that intentional, or is it only used in few places?

briankung
fn main() -> i32 {
    @dbg(42);
    0
}

I like what I see, so far! Cheers to more fun with a new language 🍻

e12e

Always fun to see new languages. Did you also look at Julia for inspiration?

Looking at the fib example - there's a lot of explicit 32 bit ints, but what type is inferred for i? And on a 64bit machine - would you normally prefer 32 bit to 64 bits for such code?

How would you (in rue) accept different size ints for such calls? I assume there's no Julia-style multiple dispatch?

roetlich

Very cool, and congrats on releasing! I might try it out in the next days, sounds fun. Currently it still looks very similar to rust.

What are you looking for right now, with this post? Feedback, contributers, early adopters?

quad

I peeked at the spec but it seems to be early days. (e.g. Enum types aren't listed under Types but are under Items)

What about Rue will be higher level than Rust? I'm guessing something wrt. ownership or the evaluation strategy? I couldn't find anywhere those were described…

rele

Memory Safe: No garbage collector, no manual memory management. A work in progress, though.

eeeeinteresting. I wonder what some of Steve's inspirations are...