Encoding Abstract Syntax Without Fresh Names

被引:1
|
作者
Lakin, Matthew R. [1 ]
Pitts, Andrew M. [1 ]
机构
[1] Univ Cambridge, Comp Lab, Cambridge CB2 3QG, England
基金
英国工程与自然科学研究理事会;
关键词
Meta-programming; Alpha-equivalence; Nominal abstract syntax; SEMANTICS;
D O I
10.1007/s10817-011-9220-7
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
This paper introduces a variant of nominal abstract syntax in which bindable names are represented by normal meta-variables as opposed to a separate class of globally fresh names. Distinct meta-variables can be instantiated with the same concrete name, which we call aliasing. The possible aliasing patterns are controlled by explicit constraints on the distinctness (freshness) of names. This approach has already been used in the nominal meta-programming language alpha ML. We recap that language and develop a theory of contextual equivalence for it. The central result of the paper is that abstract syntax trees (ASTs) involving binders can be encoded into alpha ML in such a way that alpha-equivalence of ASTs corresponds with contextual equivalence of their encodings. This is novel because the encoding does not rely on the existence of globally fresh names and fresh name generation, which are fundamental to the correctness of the pre-existing encoding of abstract syntax into FreshML.
引用
收藏
页码:115 / 140
页数:26
相关论文
共 50 条
  • [1] Encoding Abstract Syntax Without Fresh Names
    Matthew R. Lakin
    Andrew M. Pitts
    Journal of Automated Reasoning, 2012, 49 : 115 - 140
  • [2] Fresh O'Caml: Nominal Abstract Syntax for the Masses
    Shinwell, Mark R.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 148 (02) : 53 - 77
  • [3] An Abstract Syntax Tree Encoding Method for Cross-Project Defect Prediction
    Cai, Ziyi
    Lu, Lu
    Qiu, Shaojian
    IEEE ACCESS, 2019, 7 : 170844 - 170853
  • [4] AST-Transformer: Encoding Abstract Syntax Trees Efficiently for Code Summarization
    Tang, Ze
    Li, Chuanyi
    Ge, Jidong
    Shen, Xiaoyu
    Zhu, Zheling
    Luo, Bin
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1193 - 1195
  • [5] Abstract syntax from concrete syntax
    Wile, DS
    PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, : 472 - 480
  • [6] Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism
    Washburn, Geoffrey
    Weirich, Stephanie
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2008, 18 (01) : 87 - 140
  • [7] Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism
    Washburn, G
    Weirich, S
    ACM SIGPLAN NOTICES, 2003, 38 (09) : 249 - 262
  • [8] Canonical Abstract Syntax Trees
    Reilles, Antoine
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 176 (04) : 165 - 179
  • [9] ABSTRACT SYNTAX AND LOGIC PROGRAMMING
    MILLER, D
    LECTURE NOTES IN ARTIFICIAL INTELLIGENCE, 1992, 592 : 322 - 337
  • [10] Abstract Syntax: Substitution and Binders
    Power, John
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 173 (SPEC. ISS.) : 3 - 16