File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/2426890.2426909
- Scopus: eid_2-s2.0-84873472487
Supplementary
-
Citations:
- Scopus: 0
- Appears in Collections:
Conference Paper: Abstract syntax graphs for domain specific languages
Title | Abstract syntax graphs for domain specific languages |
---|---|
Authors | |
Keywords | Dsls Graphs Haskell Observable Sharing |
Issue Date | 2013 |
Citation | Pepm 2013 - Proceedings Of The Acm Sigplan Workshop On Partial Evaluation And Program Manipulation, Co-Located With Popl 2013, 2013, p. 87-96 How to Cite? |
Abstract | This paper presents a representation for embedded domain specific languages (EDSLs) using abstract syntax graphs (ASGs). The purpose of this representation is to deal with the important problem of defining operations that require observing or preserving sharing and recursion in EDSLs in an expressive, yet easy-to-use way. In contrast to more conventional representations based on abstract syntax trees, ASGs represent sharing and recursion explicitly as binder constructs. We use a functional representation of ASGs based on structured graphs, where binders are encoded with parametric higher-order abstract syntax. We show how adapt to this representation to well-typed ASGs. This is especially useful for EDSLs, which often reuse the type system of the host language. We also show an alternative class-based encoding of (well-typed) ASGs that enables extensible and modular well-typed EDSLs while allowing the manipulation of sharing and recursion. Copyright © 2013 ACM. |
Persistent Identifier | http://hdl.handle.net/10722/188504 |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Oliveira, BCDS | en_US |
dc.contributor.author | Löh, A | en_US |
dc.date.accessioned | 2013-09-03T04:08:46Z | - |
dc.date.available | 2013-09-03T04:08:46Z | - |
dc.date.issued | 2013 | en_US |
dc.identifier.citation | Pepm 2013 - Proceedings Of The Acm Sigplan Workshop On Partial Evaluation And Program Manipulation, Co-Located With Popl 2013, 2013, p. 87-96 | en_US |
dc.identifier.uri | http://hdl.handle.net/10722/188504 | - |
dc.description.abstract | This paper presents a representation for embedded domain specific languages (EDSLs) using abstract syntax graphs (ASGs). The purpose of this representation is to deal with the important problem of defining operations that require observing or preserving sharing and recursion in EDSLs in an expressive, yet easy-to-use way. In contrast to more conventional representations based on abstract syntax trees, ASGs represent sharing and recursion explicitly as binder constructs. We use a functional representation of ASGs based on structured graphs, where binders are encoded with parametric higher-order abstract syntax. We show how adapt to this representation to well-typed ASGs. This is especially useful for EDSLs, which often reuse the type system of the host language. We also show an alternative class-based encoding of (well-typed) ASGs that enables extensible and modular well-typed EDSLs while allowing the manipulation of sharing and recursion. Copyright © 2013 ACM. | en_US |
dc.language | eng | en_US |
dc.relation.ispartof | PEPM 2013 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2013 | en_US |
dc.subject | Dsls | en_US |
dc.subject | Graphs | en_US |
dc.subject | Haskell | en_US |
dc.subject | Observable Sharing | en_US |
dc.title | Abstract syntax graphs for domain specific languages | en_US |
dc.type | Conference_Paper | en_US |
dc.identifier.email | Oliveira, BCDS: oliveira@comp.nus.edu.sg | en_US |
dc.identifier.authority | Oliveira, BCDS=rp01786 | en_US |
dc.description.nature | link_to_subscribed_fulltext | en_US |
dc.identifier.doi | 10.1145/2426890.2426909 | en_US |
dc.identifier.scopus | eid_2-s2.0-84873472487 | en_US |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-84873472487&selection=ref&src=s&origin=recordpage | en_US |
dc.identifier.spage | 87 | en_US |
dc.identifier.epage | 96 | en_US |
dc.identifier.scopusauthorid | Oliveira, BCDS=12239474400 | en_US |
dc.identifier.scopusauthorid | Löh, A=14035777800 | en_US |