博客

编程语言基础概念(1):判断(Judgement)与推理规则(Inference Rules)

在编程语言研究领域中似乎充满了行话、希腊字母和怪异的符号。 这些惯例使得论文更加简洁,但同时也非常难以理解。 由于我正在学习 编程语言基础 的课程, 我想在一系列博客文章中分享我学到的关键概念。 编程语言领域中的许多数学概念都源自 命题逻辑 的领域,而今天我们的主题是 判断(Judgement) 与 推理规则(Inference Rules) 的形式语言。 判断(Judgements…

阅读全文

std::function的Const正确性问题

const 类型限定符(type qualifier)是C++语言设计的一大亮点。我们围绕着这个语言特性使用“ const 正确性” (const correctness)的实践来防止 const 对象遭到改变。“ const 正确性”的规则对大多数的类的实现都不难被遵守。但是对使用到类型擦除(type erasure)的类,“ const 正确性”更难被遵守。不幸的是,因为短见,C…

阅读全文

CppCon 2019 Trip Report

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…

阅读全文