Remix.run Logo
andsoitis 6 hours ago

> Memory Safe

> No garbage collector, no manual memory management. A work in progress, though.

I couldn't find an explanation in the docs or elsewhere how Rue approaches this.

If not GC, is it via:

a) ARC

b) Ownership (ala Rust)

c) some other way?

steveklabnik 5 hours ago | parent | next [-]

I am playing around with this! I'm mostly interested in something in the space of linear types + mutable value semantics.

jasonwatkinspdx 3 hours ago | parent | next [-]

You might find one of my late brother's research interests relevant: https://www.cs.princeton.edu/~dpw/papers/space.pdf

steveklabnik 2 hours ago | parent [-]

Thank you for the link! I'll check it out for sure.

(And sorry to hear about your brother's passing.)

oulipo2 4 hours ago | parent | prev | next [-]

So linear type + mutable value would be quite close to Rust, right?

steveklabnik 4 hours ago | parent [-]

Rust has affine types, not linear. It also doesn't have mutable value semantics, it uses references, lifetimes, and borrowing.

EnPissant 4 hours ago | parent [-]

I've never seen any significant difference in linear vs affine types.

To me it just seems like Rust has Linear types, and the compiler just inserts some code to destroy your values for you if you don't do it yourself.

I guess the only difference is that linear types can _force_ you to manually consume a value (not necessarily via drop)? Is that what you are going for?

steveklabnik 4 hours ago | parent [-]

Affine types are "may use" and linear types are "must use," yeah. That is, linear types are stronger.

See https://faultlore.com/blah/linear-rust/ for a (now pretty old but still pretty relevant, I think) exploration into what linear types would mean for Rust.

echelon 5 hours ago | parent | prev [-]

Nice! I see you're one of (if not the primary) contributor!

Do you see this as a prototype language, or as something that might evolve into something production grade? What space do you see it fitting into, if so?

You've been such a huge presence in the Rust space. What lessons do you think Rue will take, and where will it depart?

I see compile times as a feature - that's certainly nice to see.

steveklabnik 4 hours ago | parent [-]

This is a project between me and Claude, so yeah :)

It's a fun project for me right now. I want to just explore compiler writing. I'm not 100% sure where it will lead, and if anyone will care or not where it ends up. But it's primarily for me.

I've described it as "higher than Rust, lower than Go" because I don't want this to be a GC'd language, but I want to focus on ergonomics and compile times. A lot of Rust's design is about being competitive with C and C++, I think by giving up that ultra-performance oriented space, I can make a language that's significantly simpler, but still plenty fast and nice to use.

We'll see.

echelon 3 hours ago | parent [-]

Love it! I think that's a nice target.

Have fun! :)

5 hours ago | parent | prev [-]
[deleted]