points
3 months ago
| 2 comments
| HN
Yes, I started off with the idea that Rue's syntax would be a strict subset of Rust's.

I may eventually diverge from this, but I like Rust's syntax overall, and I don't want to bikeshed syntax right now, I want to work on semantics + compiler internals. The core syntax of Rust is good enough right now.

scuff3d
3 months ago
[-]
Out of interest, what's the motivation? What are you hoping to do with Rue that Rust doesn't currently provide?
reply
steveklabnik
3 months ago
[-]
Primary motivation is to have a fun project. If nobody ever uses this, I'll still be happy.

I'd like fast compile times, and giving up some of Rust's lowest level and highest performance goals in exchange for it. As well as maybe ease of use.

reply
scuff3d
3 months ago
[-]
Nice, seems like a super cool project.

I've thought a Rust like language but at Go's performance level would be interesting. Garbage collected, but compiled to a binary (no VM), but with Rust's mix of procedural and functional programming. Maybe some more capable type inference.

If you don't mind me asking, how did you get started with programming language design? I've been reading Crafting Interpreters, but there is clearly a lot of theory that is being left out there.

reply
steveklabnik
3 months ago
[-]
Thanks :)

Crafting interpreters is fantastic!

Mostly just… using a lot of them. Trying as many as I could. Learning what perspectives they bring. Learning the names for their features, and how they fit together or come into tension.

The theory is great too, but starting off with just getting a wide overview of the practice is a great way to get situated and decide which rabbit holes you want to go down first.

reply
scuff3d
3 months ago
[-]
> Mostly just… using a lot of them

Well I got that part covered at least. Seems like I'm constantly getting bored and playing around with a different language, probably more than I should lol

reply
emerent
3 months ago
[-]
How is it a subset then if it has the @-prefix? Wait, does Rust's grammar still have the @ and ~ sigils from the pre 1.0 times for pointers?
reply
steveklabnik
3 months ago
[-]
It started off that way, but didn't (and won't) remain that way.

I'm using @ for intrinsics because that's how Zig does it and I like it for similar reasons to how Rust uses ! for macros.

reply