Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
复制标题
在语义课程中通过混合嵌入跳过活页夹官僚机构(功能性珍珠)
DOI:
10.1145/3473599
复制
发表时间:
2021
影响因子:
--
通讯作者:
A. Chlipala
中科院分区:
文献类型:
--
作者:
A. Chlipala
Rigorous reasoning about programs calls for some amount of bureaucracy in managing details like variable binding, but, in guiding students through big ideas in semantics, we might hope to minimize the overhead. We describe our experiment introducing a range of such ideas, using the Coq proof assistant, without any explicit representation of variables, instead using a higher-order syntax encoding that we dub "mixed embedding": it is neither the fully explicit syntax of deep embeddings nor the syntax-free programming of shallow embeddings. Marquee examples include different takes on concurrency reasoning, including in the traditions of model checking (partial-order reduction), program logics (concurrent separation logic), and type checking (session types) -- all presented without any side conditions on variables.