Unembedding Domain-Specific Languages

被引:0
作者
Atkey, Robert [1 ]
Lindley, Sam [1 ]
Yallop, Jeremy [1 ]
机构
[1] Univ Edinburgh, Sch Informat, LFCS, Edinburgh EH8 9YL, Midlothian, Scotland
来源
HASKELL'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN HASKELL SYMPOSIUM | 2009年
关键词
domain-specific languages; higher-order abstract syntax; type classes; unembedding; SYNTAX;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Higher-order abstract syntax provides a convenient way of embedding domain-specific languages, but is awkward to analyse and manipulate directly. We explore the boundaries of higher-order abstract syntax. Our key tool is the unembedding of embedded terms as de Bruijn terms, enabling intensional analysis. As part of our solution we present techniques for separating the definition of an embedded program from its interpretation, giving modular extensions of the embedded language, and different ways to encode the types of the embedded language.
引用
收藏
页码:37 / 48
页数:12
相关论文
共 45 条
[41]  
SHEARD T, 2005, GADTS EXT KIND SYST
[42]  
Tannen V., 1992, ICDT 92, P140
[43]  
Thiemann P., 2002, Practical Aspects of Declarative Languages. 4th International Symposium, PADL 2002. Proceedings (Lecture Notes in Computer Science Vol.2257), P192
[44]   Boxes go bananas: Encoding higher-order abstract syntax with parametric polymorphism [J].
Washburn, Geoffrey ;
Weirich, Stephanie .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2008, 18 (01) :87-140
[45]   Type-safe cast [J].
Weirich, S .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2004, 14 :681-695