Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)

<jats:p>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...

Full description

Bibliographic Details
Main Author: Chlipala, Adam
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Association for Computing Machinery (ACM) 2022
Online Access:https://hdl.handle.net/1721.1/142933
_version_ 1826218173561569280
author Chlipala, Adam
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Chlipala, Adam
author_sort Chlipala, Adam
collection MIT
description <jats:p>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.</jats:p>
first_indexed 2024-09-23T17:15:38Z
format Article
id mit-1721.1/142933
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T17:15:38Z
publishDate 2022
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1429332023-06-28T19:42:37Z Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl) Chlipala, Adam Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory <jats:p>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.</jats:p> 2022-06-10T15:56:04Z 2022-06-10T15:56:04Z 2021 2022-06-10T15:40:23Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/142933 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). en 10.1145/3473599 Proceedings of the ACM on Programming Languages Creative Commons Attribution-NoDerivatives 4.0 International https://creativecommons.org/licenses/by-nd/4.0/ application/pdf Association for Computing Machinery (ACM) ACM
spellingShingle Chlipala, Adam
Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title_full Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title_fullStr Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title_full_unstemmed Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title_short Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)
title_sort skipping the binder bureaucracy with mixed embeddings in a semantics course functional pearl
url https://hdl.handle.net/1721.1/142933
work_keys_str_mv AT chlipalaadam skippingthebinderbureaucracywithmixedembeddingsinasemanticscoursefunctionalpearl