this post was submitted on 12 Nov 2024
67 points (93.5% liked)
Rust
6111 readers
13 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's not as if nothing is being done on GitHub we have both: rust-lang/spec which is being folded into rust-lang/reference.
I'm not sure why we don't have an official spec, I assume that reference was originally for rustc in particular and might include some internal weirdness instead of being a proper spec. Kinda like how gcc has some internal magic that isn't strictly to C spec.
I guess what happened was: spec for rustc -> developed rustc -> ferrocene developed from rustc spec -> "we don't have a generic rust language spec"
There is indeed a caveat in the introduction to the Reference that there may be statements in it that are specific to
rustc
. However, the authors strive to keep statements about the implementation separate from statements about the language.The main reason there's not yet an "official" spec is that creating one takes enormous time and money, which are always limited resources. (Note that both C and C++ had no formal standard for over a decade after their initial release.) The Reference is "good enough" to make a formal spec not strictly necessary, and the existence of Ferrocene makes it even less necessary, since anyone who absolutely needs a spec can use Ferrocene.
Most importantly it takes a lot of effort and is essentially outdated the moment it is done unless you slow down and complicated every other process by funneling every change through the spec first.