A Core Calculus for Documents: Or, Lambda: The Ultimate Document

W Crichton, S Krishnamurthi - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Proceedings of the ACM on Programming Languages, 2024dl.acm.org
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 …
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.
ACM Digital Library
Showing the best result for this search. See all results