This seems like an uncharitable reading of the post. > They talk about the importance of purity for automatic optimizations but in the real world there’s all sorts of practical reasons for needing to debug production…
Most approaches, I assume, will leverage conditional compilation: When (deterministic simulation) testing, use the deterministic async runtime. Otherwise, use the default runtime. That means there's no (runtime)…
Because the compiler optimizes based on the assumption that consecutive reads yield the same value. Reading from uninitialized memory may violate that assumption and lead to undefined behavior. (This isn't the…
IIRC integer literals are the blocking issue here. Bounds checking (and elision) happens anyway, but when `Index<T>` is implemented for multiple integer types, `foo[0]` becomes ambiguous.
> It's difficult to escape the notion that FreeBSD is becoming an operating system by, and for, FreeBSD developers. I'm curious: Why _shouldn't_ it be an OS primarily for its developers? Why should they focus on others…
Can you expand on that? As long as the public type is opaque I don't see what there is to regret.
I wish there was an `Either` type in std. I realize that there used to be one and we have `Result` now. However, now that we have `impl Trait` it's worth revisiting, I believe. If we don't we'll have the one from…
Lamport acknowledges the report, not the error. I'm still not convinced there even is an error. The state after step 9 should be the same as after step 7, i.e. `A(-:-,100) B(100:b,100) C(100:b,-)` because C needs to…
Quoting from the paper's description of Phase 1: > (b) If an acceptor receives a prepare request with number n greater than that of any prepare request to which it has already responded, then it responds to the request…
I believe this is mostly due to the switch to LLVM 13[1]. [1]: https://twitter.com/ryan_levick/status/1443202538099073027
I don't know that artist in particular, but perhaps you can find them on The Mod Archive? https://modarchive.org/index.php?request=search&query=axel+f...
I always assumed it's the verb uring[1], but that might well be wrong. [1]: https://en.wiktionary.org/wiki/uring
My understanding is that it has been manually tested. I.e. it has produced correct results to previously intractable problems. I'm not sure how much automated testing would add at that point.
> In spite of this, I am in the top 7% of accounts on the site, which is a nice reminder on the power of compound interest! I'm also in the top 7%. That's down from 12% or so from five years ago. However, I haven't…
> You forgot to disclose your […] affiliation, btw. Um.. :D
The whole book is available here: https://www.csee.umbc.edu/courses/331/resources/lisp/onLisp/
Actually "this context" was my previous reply. Much like I can nest a lexical scope inside a program and have it reach up and past the containing scope, I can create a new context in a discussion. Please at least try to…
It's possible to have truly benign data races too, e.g. lazily computing a hash of immutable data. One of the reasons that Rust's ownership model is necessary is most data races cannot otherwise be statically detected.…
I'm not convinced this is a meaningful distinction in this context. Assuming a developer consciously creates a race which turns out to be a bug, how does it matter whether it was a data race or some other kind of race…
I'm not sure I buy the premise. The point of the original article was that you shouldn't dig a hole for yourself to get out of later. Compiler writers usually go out of their way, digging extra deep holes, to accept a…
No[1], TypeScript is unsound in many ways. Most of them are intentional trade-offs to catch as many bugs as possible while not being too restrictive/allowing most JavaScript code to be annotated. [1]:…
My reading of the article's introduction is that Redis is adding this feature and are (among other things I'm sure) paying jepsen to test it. So this is them having tests. > If you follow basic software engineering…
It's unbelievable how hard to grasp distributed systems are. I recently implemented Paxos in Rust and at certain points I literally thought I was losing my mind. When you read Paxos Made Simple it really all seems so,…
You're making the assumption that he knew what the reaction would be. The post could have easily gone ignored, especially in the current turmoil. I agree that software developers have it pretty good. But let's not, on…
You do realize that Anders Hejlsberg is on the TypeScript team? I don't want to imply that he's superhuman or anything, but.. just what is your idea of "serious compiler engineers"?
This seems like an uncharitable reading of the post. > They talk about the importance of purity for automatic optimizations but in the real world there’s all sorts of practical reasons for needing to debug production…
Most approaches, I assume, will leverage conditional compilation: When (deterministic simulation) testing, use the deterministic async runtime. Otherwise, use the default runtime. That means there's no (runtime)…
Because the compiler optimizes based on the assumption that consecutive reads yield the same value. Reading from uninitialized memory may violate that assumption and lead to undefined behavior. (This isn't the…
IIRC integer literals are the blocking issue here. Bounds checking (and elision) happens anyway, but when `Index<T>` is implemented for multiple integer types, `foo[0]` becomes ambiguous.
> It's difficult to escape the notion that FreeBSD is becoming an operating system by, and for, FreeBSD developers. I'm curious: Why _shouldn't_ it be an OS primarily for its developers? Why should they focus on others…
Can you expand on that? As long as the public type is opaque I don't see what there is to regret.
I wish there was an `Either` type in std. I realize that there used to be one and we have `Result` now. However, now that we have `impl Trait` it's worth revisiting, I believe. If we don't we'll have the one from…
Lamport acknowledges the report, not the error. I'm still not convinced there even is an error. The state after step 9 should be the same as after step 7, i.e. `A(-:-,100) B(100:b,100) C(100:b,-)` because C needs to…
Quoting from the paper's description of Phase 1: > (b) If an acceptor receives a prepare request with number n greater than that of any prepare request to which it has already responded, then it responds to the request…
I believe this is mostly due to the switch to LLVM 13[1]. [1]: https://twitter.com/ryan_levick/status/1443202538099073027
I don't know that artist in particular, but perhaps you can find them on The Mod Archive? https://modarchive.org/index.php?request=search&query=axel+f...
I always assumed it's the verb uring[1], but that might well be wrong. [1]: https://en.wiktionary.org/wiki/uring
My understanding is that it has been manually tested. I.e. it has produced correct results to previously intractable problems. I'm not sure how much automated testing would add at that point.
> In spite of this, I am in the top 7% of accounts on the site, which is a nice reminder on the power of compound interest! I'm also in the top 7%. That's down from 12% or so from five years ago. However, I haven't…
> You forgot to disclose your […] affiliation, btw. Um.. :D
The whole book is available here: https://www.csee.umbc.edu/courses/331/resources/lisp/onLisp/
Actually "this context" was my previous reply. Much like I can nest a lexical scope inside a program and have it reach up and past the containing scope, I can create a new context in a discussion. Please at least try to…
It's possible to have truly benign data races too, e.g. lazily computing a hash of immutable data. One of the reasons that Rust's ownership model is necessary is most data races cannot otherwise be statically detected.…
I'm not convinced this is a meaningful distinction in this context. Assuming a developer consciously creates a race which turns out to be a bug, how does it matter whether it was a data race or some other kind of race…
I'm not sure I buy the premise. The point of the original article was that you shouldn't dig a hole for yourself to get out of later. Compiler writers usually go out of their way, digging extra deep holes, to accept a…
No[1], TypeScript is unsound in many ways. Most of them are intentional trade-offs to catch as many bugs as possible while not being too restrictive/allowing most JavaScript code to be annotated. [1]:…
My reading of the article's introduction is that Redis is adding this feature and are (among other things I'm sure) paying jepsen to test it. So this is them having tests. > If you follow basic software engineering…
It's unbelievable how hard to grasp distributed systems are. I recently implemented Paxos in Rust and at certain points I literally thought I was losing my mind. When you read Paxos Made Simple it really all seems so,…
You're making the assumption that he knew what the reaction would be. The post could have easily gone ignored, especially in the current turmoil. I agree that software developers have it pretty good. But let's not, on…
You do realize that Anders Hejlsberg is on the TypeScript team? I don't want to imply that he's superhuman or anything, but.. just what is your idea of "serious compiler engineers"?