Closed m-ou-se closed 1 year ago
Another point to add to your list for (1): https://github.com/RalfJung/minirust.
Also FYI, some people are currently in the process of drafting an RFC for an "operational semantics team". It would probably make sense to have this meeting after that RFC was posted, since developing and maintaining a Rust specification will be the main goal of that team.
Also relevant: https://github.com/nikomatsakis/a-mir-formality
one thing i very much want Rust to avoid is ending up like ISO C++ where the standard's text is behind a paywall.
That will definitely not happen if I have any say in it.
Question I would want to start with:
What are the goals we aim to meet? (for which audience, and for which purpose)
Meeting scheduled for Jan Nov 16, pending confirmation of availability
EDIT: Typo.
I'll be there. Rust implementors have a definate stake in it, so I also recommend that it be announced on (at the very least) the gcc-rust zulip. If that is fine, I'll notify them there.
Can you confirm Jan 16th, though? The hackmd for the planning meeting shows Nov 16th. January 16th also appears to be a monday.
Jan 16th won't work for me unfortunately.
An interesting challenge for this specification would be type-inference. How would it be specified? Considering Rustc's type inference is always gradually improving and considering Rustc has some cases where it fails to infer types in cases where it should be able to.
I assume you are all aware of the Ferrocene project and its effort to produce a reasonable language reference/specification? See https://github.com/ferrocene/specification
Background reading
Please make sure you all read this to make sure we all have the same context ^
one thing i very much want Rust to avoid is ending up like ISO C++ where the standard's text is behind a paywall.
No worries, nobody wants that.
I assume you are all aware of the Ferrocene project and its effort to produce a reasonable language reference/specification?
Yes, it's already mentioned and linked in the meeting proposal above.
Jan 16
That seems to be a typo. It's scheduled for november 16th.
Ah, that would work for me.
Also FYI, some people are currently in the process of drafting an RFC for an "operational semantics team". It would probably make sense to have this meeting after that RFC was posted, since developing and maintaining a Rust specification will be the main goal of that team.
FWIW the RFC has been posted recently: https://github.com/rust-lang/rfcs/pull/3346
Meeting happened 2022-11-16; there's likely going to be a post from @m-ou-se as follow-up.
Summary
Let's talk about creating an official Rust specification.
Background reading
https://blog.m-ou.se/rust-standard/
Current situation
Languages like C and C++ are standardized. Rust is not. Standardization comes down to, basically:
Rust currently already has 2 and 3, but not 1.
For 1, we currently have:
These are currently all incomplete, and/or not a good source to rely on.
Things to discuss
It'd be wonderful if we had an official Rust specification, which is kept up to date and distributed together with each new release. (I suppose this would effectively mean completing/upgrading the Rust Reference.)
Questions to discuss:
rustc
flags and details aboutcargo
(andbuild.rs
)?proc_macro
crate?)About this issue
This issue corresponds to a lang-team design meeting proposal. It corresponds to a possible topic of discussion that may be scheduled for deeper discussion during one of our design meetings.