编程语言基础概念(1):判断(Judgement)与推理规则(Inference Rules)
在编程语言研究领域中似乎充满了行话、希腊字母和怪异的符号。 这些惯例使得论文更加简洁,但同时也非常难以理解。 由于我正在学习 编程语言基础 的课程, 我想在一系列博客文章中分享我学到的关键概念。 编程语言领域中的许多数学概念都源自 命题逻辑 的领域,而今天我们的主题是 判断(Judgement) 与 推理规则(Inference Rules) 的形式语言。 判断(Judgements…
在编程语言研究领域中似乎充满了行话、希腊字母和怪异的符号。 这些惯例使得论文更加简洁,但同时也非常难以理解。 由于我正在学习 编程语言基础 的课程, 我想在一系列博客文章中分享我学到的关键概念。 编程语言领域中的许多数学概念都源自 命题逻辑 的领域,而今天我们的主题是 判断(Judgement) 与 推理规则(Inference Rules) 的形式语言。 判断(Judgements…
const 类型限定符(type qualifier)是C++语言设计的一大亮点。我们围绕着这个语言特性使用“ const 正确性” (const correctness)的实践来防止 const 对象遭到改变。“ const 正确性”的规则对大多数的类的实现都不难被遵守。但是对使用到类型擦除(type erasure)的类,“ const 正确性”更难被遵守。不幸的是,因为短见,C…
At CppCon 2019, I gave a lightning talk at called Make Impossible State Unrepresentable . Due to the nature of a 5 minutes lightning talk, it was handwavy, and I cut a lot of prepared contents to…
Update: Apparently there is a WG21 paper on this subject that goes in much more detailed than my post. I am surprised that I missed his CppCon talk on this topic and come into the silimar conclusion…
What a week we had! CppCon 2019 is by far the best CppCon that I've ever attended. There are contents that interest me on every time slot, and for a lot of time there are conflict so that it is hard…