Affiliation:
1. Cambridge University Computer Laboratory, Cambridge, UK
Abstract
FreshML extends ML with elegant and practical constructs for declaring and manipulating syntactical data involving statically scoped binding operations. User-declared FreshML datatypes involving binders are concrete, in the sense that values of these types can be deconstructed by matching against patterns naming bound variables explicitly. This may have the computational effect of swapping bound names with freshly generated ones; previous work on FreshML used a complicated static type system inferring information about the 'freshness' of names for expressions in order to tame this effect. The main contribution of this paper is to show (perhaps surprisingly) that a standard type system without freshness inference, coupled with a conventional treatment of fresh name generation, suffices for FreshML's crucial correctness property that values of datatypes involving binders are operationally equivalent if and only if they represent a-equivalent pieces of object-level syntax. This is established via a novel denotational semantics. FreshML without static freshness inference is no more impure than ML and experience with it shows that it supports a programming style pleasingly close to informal practice when it comes to dealing with object-level syntax modulo a-equivalence.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
44 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Formal metatheory of second-order abstract syntax;Proceedings of the ACM on Programming Languages;2022-01-12
2. Nominal syntax with atom substitutions;Journal of Computer and System Sciences;2021-08
3. Functional programming with λ-tree syntax;Proceedings of the 21st International Symposium on Principles and Practice of Programming Languages 2019;2019-10-07
4. A formalisation of nominal α-equivalence with A, C, and AC function symbols;Theoretical Computer Science;2019-08
5. RULE FORMATS FOR NOMINAL PROCESS CALCULI;LOG METH COMPUT SCI;2019