Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
Name
3473599.pdf
Description
Published version
Size
313.08 KB
Format
Adobe PDF
Checksum (MD5)
a154e16973333e58338d0bb032d80e5c
Author(s)
Chlipala, Adam
Date Issued
2021
Journal
Proceedings of the ACM on Programming Languages
Publisher
Association for Computing Machinery (ACM)
Citation
Chlipala, Adam. 2021. "Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)." Proceedings of the ACM on Programming Languages, 5 (ICFP).
Version
Final published version
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-NoDerivatives 4.0 International
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3473599