by kibwen on 8/8/2022, 12:37:22 PM
by j-pb on 8/8/2022, 12:56:55 PM
Awesome! Rusts ad-hoc "the compiler is the specification" has always been a huge turnoff for me, and a huge hurdle when learning the language. The language is just too complex and the compiler is too large and smart/magical to really get what's going on from ad-hoc alone.
Zig is also very compiler dependent, but at least the language has direct enough translation as a goal, that it's straightforward to learn the semantics from trial and error alone.
by GRBLDeveloped on 8/8/2022, 12:32:07 PM
Anyone able to explain to me the significance of this? Read the article and ReadME but I don't understand its use case particularly well or why this has shot to the top of the front page
by revskill on 8/8/2022, 2:47:39 PM
The evolution is by removing/reducing unnessesary features, not by introducing more features. It's what the evolution should be.
by memorable on 8/8/2022, 1:42:59 PM
I legit thought this was a mini version of the Rust compiler. Not disappointed with what I read though.
by intelVISA on 8/8/2022, 1:57:37 PM
My first thought when I saw MiniRust was "cool, a way to get the binaries small enough for embedded" but what I got was actually way cooler. Ralf is a great writer, even though I'm too slow for Rust he's got a talent of making all the arcane concepts seem accessible.
by AndrewDucker on 8/8/2022, 1:45:38 PM
Wouldn't it make most sense to focus this on MIR, which is in many ways a MiniRust already? https://blog.rust-lang.org/2016/04/19/MIR.html
by didip on 8/9/2022, 1:31:46 AM
Rust in Rust is a fantastic idea. I loved it when Go went that direction post v1.4.
Not only that the spec will be clearer but you can get more contributors on the core part of Rust.
by bebrws on 8/8/2022, 1:09:22 PM
The end of that first paragraph is beautifully written.
by emptyparadise on 8/8/2022, 1:31:40 PM
>Is that someone the cool bear making an appearance on my blog? We’ll never know… and also I’d have to ask fasterthanlime to ask them for permission and didn’t plan this well enough.
Cool bear has breached containment.
I do have to admit I love the recent-ish trend of including dialogues in blog posts. Plato would be proud.
by tb131 on 8/8/2022, 12:29:30 PM
I wonder how this fits in with the whole trademark "panic"... [1] but considering they're part of the rust-lang org on GitHub, I'm guessing that issue would have been brought up by now.
[1]: Living with the Rust trademark [LWN.net] https://lwn.net/Articles/901816/
The readme has a more direct explanation of this project's objective:
"MiniRust is the cornerstone of my vision for a normative specification of Rust semantics. It is an idealized MIR-like language with the purpose of serving as a "core language" of Rust. This is part of a larger story whose goal is to precisely specify the operational behavior of Rust, i.e., the possible behaviors that a Rust program might have when being executed: the behavior of a Rust program is defined by first translating it to MiniRust (which is outside the scope of this repository), and then considering the possible behaviors of the MiniRust program as specified in this document. That translation does a lot of work; for example, traits and pattern matching are basically gone on the level of MiniRust. On the other hand, MiniRust is concerned a lot with details such as the exact evaluation order, data representations, and precisely what is and is not Undefined Behavior."
It is yet another step on the path to having a Rust specification, especially with respect to precisely specifying the capabilities and requirements of `unsafe` code.