cool bear makes their own choices
[web.git] / ralf / _posts / 2022-08-08-minirust.md
index 4d2752b9bf684626c92d49ca2acc602c15eda58b..49564f75e8d22753738caf89cc4d554efa8aebb0 100644 (file)
@@ -1,6 +1,7 @@
 ---
 title: "Announcing: MiniRust"
 categories: rust research
+reddit: /rust/comments/wiwjch/announcing_minirust/
 ---
 
 I have been thinking about the semantics of Rust -- as in, the intended behavior of Rust programs when executed, in particular those containing unsafe code -- a lot.
@@ -29,7 +30,7 @@ The idea is that anyone who knows Rust should immediately be able to understand
 Translating it to real Rust means we can actually execute the reference interpreter and test it, and translating it to Coq means we can start proving theorems about it.
 But I am getting waaaay ahead of myself, these are rather long-term plans.
 
-[^bear]: Is that someone the [cool bear](https://fasterthanli.me/articles/) making an appearance on my blog? We'll never know... and also I'd have to ask fasterthanlime for permission and didn't plan this well enough. ;)
+[^bear]: Is that someone the [cool bear](https://fasterthanli.me/articles/) 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. ;)
 
 So, if you want to look into my brain to see how I see Rust programs, then please go check out [MiniRust](https://github.com/RalfJung/minirust).
 The README explains the scope and goals, the general structure, and the details of pseudo Rust, as well as a comparison with some related efforts.
@@ -47,7 +48,9 @@ On the other hand, there are many things that it *can* explain in full precision
 - what happens when *casting* between pointers and integers
 - padding (that's why tuples can have 2 elements, so there can be padding between them)
 
-If you re not used to reading interpreter source code, then I guess this can be rather jarring, and there is certainly a *lot* of work that could and should be done to make this more accessible.
-But just being able to talk about these questions with precision *at all* has already lead to some interesting discussions in the UCG WG (some of which made me change my mind, and change MiniRust accordingly), so for now it is serving its purpose, and maybe some of you can find it useful, too.
-And hopefully we can use it as a starting place for seriously tackling the issue of an *official* specification of Rust.
+If you are not used to reading interpreter source code, then I guess this can be rather jarring, and there is certainly a *lot* of work that could and should be done to make this more accessible.
+(Like, examples. I hear people like examples.)
+But just being able to talk about these questions with precision *at all* has already lead to some interesting discussions in the UCG WG, some of which made me change my mind -- thanks in particular to @digama0 and @JakobDegen for engaging deeply with my ideas.
+So for now it is serving its purpose, and maybe some of you can find it useful, too.
+Hopefully we can even use this as a starting place for seriously tackling the issue of an *official* specification of Rust.
 More on that soon. :)