A Core Calculus for Documents: Or, Lambda: The Ultimate Document
Will Crichton, Shriram Krishnamurthi
Abstract
Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document notations. However, there are no formal foundations that model these languages. This matters because the interaction between document and program can be subtle and error-prone. In this paper we describe several such problems, then taxonomize and formalize document languages as levels of a document calculus. We employ the calculus as a foundation for implementing complex features such as reactivity, as well as for proving theorems about the boundary of content and computation. We intend for the document calculus to provide a theoretical basis for new document languages, and to assist designers in cleaning up the unsavory corners of existing languages.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e47c8d17-a4bc-4eb9-bba7-0eb4f0849675Cited by top-tier papers1
Ask how each one uses itRelated papers
- Compositional embeddings of domain-specific languagesYaozhu Sun, Utkarsh Dhandhania, Bruno C. d. S. OliveiraOOPSLA 2022 · 4 citations
- Destination Calculus: A Linear 𝜆-Calculus for Purely Functional Memory WritesThomas Bagrel, Arnaud SpiwackOOPSLA 2025 · 1 citation
- Internalizing Indistinguishability with Dependent TypesYiyun Liu, Jonathan Chan, Jessica Shi, Stephanie WeirichPOPL 2024 · 3 citations
- Transitioning from structural to nominal code with efficient gradual typingFabian Muehlboeck, Ross TateOOPSLA 2021 · 8 citations
- The essence of online data processingPhilip Dexter, Yu David Liu, Kenneth ChiuOOPSLA 2022 · 3 citations
