Probably there is still a lot of room for improvement if they can avoid mutex and use some lock-free mechanism as well. But I think it's nice to see Rust's promise of speed and safety in a real case.
434 karma · joined September 24, 2024
Probably there is still a lot of room for improvement if they can avoid mutex and use some lock-free mechanism as well. But I think it's nice to see Rust's promise of speed and safety in a real case.
It looks scary but actually all those concepts are really simple and probably things you are already familiar with.
There is also one other similar funny ability I have: Vibrating my eyes. I can willingly vibrate my eyes. I don't think it's any useful ability as I just see shaky when I do it but it's fun to do in front of people. It scares some of them. There is actually a community about it in Reddit: https://www.reddit.com/r/Eyeshakers/
That would be useful but there is a fundamental issue: code is too specific. İn formal specification you usually don't specify that detailed but you specify the general behaviour of the system. So usually the specification corresponds to a lot of programs with subtle differences. That's why code a documentation falls short: you don't know what is intentional and what is just a random choice. It's simply too specific to describe high level requirements.
The other way around (verification of program with respect to the specification) can be more feasible to implement.
This state machine is usually embedded in the code, but code has a lot of noise around the state machine that makes it harder to see the underlying state machine.
I didn't say it doesn't. Renaming is a change and you see it but you don't need to see it in every place that refers to that variable. For them there is simply no semantic change they still reference the same variable.
> At least to me whitespace does convey meaning
Can you give an example? If two programs behave exactly the same how whitespace convey a semantic change?
> order of functions
You can see order changes in a structured diff as well if you want but you don't need to hundreds of line of removal and addition like text diff. You would see only the relevant thing which is reordering.
1. If you rearrange your functions you will see a lot of additions and deletions while semantically there is no change in the program. It's just noise.
2. If you rename a variable you don't really have any actual change in places where it is referenced but text diff will again show a lot of noise. But the code references is still the same code.
Health is something you can influence but that you don't have total control. I prefer the world where if I am the unfortunate person at least the society will help me. Having health issues is already bad enough. I am willing to pay some of my money for that purpose. It doesn't impact my quality of life when I pay for someone else's medical bills but if I end up needing that I will benefit from it a lot. So the cost it totally worth IMO.
Can one provide reproducible dev environment that uses a tool that is not yet in mise registry? Or does one need to wait it to be added into the registry? Also if I want to provide a python runtime that is compiled slightly differently can I do that? Or does it have to be distributed as a precompiled binary?
There is a huge leap here. What is your argument for it?
enum program_state {
X_W,
Y_X_W,
Z,
W,
Z_W,
Z_X_W,
}
You only have these 6 options. And in this case you can easily use a SAT solver to generate the cases for you so that you don't have to write them by hand.Only option I can think of is writing unit tests for each case, which doesn't seem like too much different.
And without type encoding you never sure that invariant always hold. You can always manipulate any options in any part of the program. Then after any modification you have to perform a "sanity check" if options are in a well defined state or not. I don't see how this is better than encoding the invariant into the types.