Abstract
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.
Original language | English |
---|---|
Title of host publication | Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell |
Publisher | Association for Computing Machinery |
Pages | 37-48 |
Number of pages | 12 |
ISBN (Print) | 9781605585086 |
DOIs | |
Publication status | Published - Sept 2009 |
Event | 2nd ACM SIGPLAN Haskell Symposium 2009 - Edinburgh, United Kingdom Duration: 3 Sept 2009 → 3 Sept 2009 |
Conference
Conference | 2nd ACM SIGPLAN Haskell Symposium 2009 |
---|---|
Abbreviated title | Haskell'09 |
Country/Territory | United Kingdom |
City | Edinburgh |
Period | 3/09/09 → 3/09/09 |
Keywords
- Domain-specific languages
- Higher-order abstract syntax
- Type classes
- Unembedding
ASJC Scopus subject areas
- Computational Theory and Mathematics
- Hardware and Architecture
- Software