publish UB blog post
authorRalf Jung <post@ralfj.de>
Thu, 18 Nov 2021 16:25:32 +0000 (11:25 -0500)
committerRalf Jung <post@ralfj.de>
Thu, 18 Nov 2021 16:25:32 +0000 (11:25 -0500)
personal/_posts/2021-11-18-ub-good-idea.md [moved from personal/_drafts/ub-good-idea.md with 97% similarity]

similarity index 97%
rename from personal/_drafts/ub-good-idea.md
rename to personal/_posts/2021-11-18-ub-good-idea.md
index 1539cdefc7ae889979b521db236a682d633f80aa..1f374b210c5967adf4a00eb742e6f2ab81081f5c 100644 (file)
@@ -3,9 +3,9 @@ title: "Undefined Behavior deserves a better reputation"
 categories: rust research
 ---
 
-*This is a cross-post of an [article that I wrote for the SIGPLAN blog](https://blog.sigplan.org).*
+*This is a cross-post of an [article that I wrote for the SIGPLAN blog](https://blog.sigplan.org/2021/11/18/undefined-behavior-deserves-a-better-reputation/).*
 
-"Undefined Behavior" often has a bad reputation. People often see it as an excuse compiler writers use to break code, or an excuse by a lazy language designer to not complete the specification and properly define all this behavior.
+"Undefined Behavior" often has a bad reputation. People see it as an excuse compiler writers use to break code, or an excuse by a lazy language designer to not complete the specification and properly define all this behavior.
 But what, really, is Undefined Behavior, and is it as bad as its reputation?
 In this blog post, I will look at this topic from a PL perspective, and argue that Undefined Behavior (or UB for short) is a valuable tool in a language designer's toolbox, and that it can be used responsibly to convey more of the programmer's insight about their code to the compiler with the goal of enabling more optimizations.
 I will also explain why I spent a significant amount of time adding *more* UB to Rust.