File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/2398856.2364541
- Scopus: eid_2-s2.0-84870408020
- WOS: WOS:000311296000009
- Find via
Supplementary
- Citations:
- Appears in Collections:
Conference Paper: Functional programming with structured graphs
Title | Functional programming with structured graphs |
---|---|
Authors | |
Keywords | Graphs Haskell Parametric Hoas |
Issue Date | 2012 |
Citation | Acm Sigplan Notices, 2012, v. 47 n. 9, p. 77-88 How to Cite? |
Abstract | This paper presents a new functional programming model for graph structures called structured graphs. Structured graphs extend conventional algebraic datatypes with explicit definition and manipulation of cycles and/or sharing, and offer a practical and convenient way to program graphs in functional programming languages like Haskell. The representation of sharing and cycles (edges) employs recursive binders and uses an encoding inspired by para- metric higher-order abstract syntax. Unlike traditional approaches based on mutable references or node/edge lists, well-formedness of the graph structure is ensured statically and reasoning can be done with standard functional programming techniques. Since the binding structure is generic, we can define many useful generic combinators for manipulating structured graphs. We give applications and show how to reason about structured graphs. Copyright © 2012 ACM. |
Persistent Identifier | http://hdl.handle.net/10722/188502 |
ISSN | 2020 SCImago Journal Rankings: 0.310 |
ISI Accession Number ID | |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Oliveira, BCDS | en_US |
dc.contributor.author | Cook, WR | en_US |
dc.date.accessioned | 2013-09-03T04:08:45Z | - |
dc.date.available | 2013-09-03T04:08:45Z | - |
dc.date.issued | 2012 | en_US |
dc.identifier.citation | Acm Sigplan Notices, 2012, v. 47 n. 9, p. 77-88 | en_US |
dc.identifier.issn | 1523-2867 | en_US |
dc.identifier.uri | http://hdl.handle.net/10722/188502 | - |
dc.description.abstract | This paper presents a new functional programming model for graph structures called structured graphs. Structured graphs extend conventional algebraic datatypes with explicit definition and manipulation of cycles and/or sharing, and offer a practical and convenient way to program graphs in functional programming languages like Haskell. The representation of sharing and cycles (edges) employs recursive binders and uses an encoding inspired by para- metric higher-order abstract syntax. Unlike traditional approaches based on mutable references or node/edge lists, well-formedness of the graph structure is ensured statically and reasoning can be done with standard functional programming techniques. Since the binding structure is generic, we can define many useful generic combinators for manipulating structured graphs. We give applications and show how to reason about structured graphs. Copyright © 2012 ACM. | en_US |
dc.language | eng | en_US |
dc.relation.ispartof | ACM SIGPLAN Notices | en_US |
dc.subject | Graphs | en_US |
dc.subject | Haskell | en_US |
dc.subject | Parametric Hoas | en_US |
dc.title | Functional programming with structured graphs | 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/2398856.2364541 | en_US |
dc.identifier.scopus | eid_2-s2.0-84870408020 | en_US |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-84870408020&selection=ref&src=s&origin=recordpage | en_US |
dc.identifier.volume | 47 | en_US |
dc.identifier.issue | 9 | en_US |
dc.identifier.spage | 77 | en_US |
dc.identifier.epage | 88 | en_US |
dc.identifier.isi | WOS:000311296000009 | - |
dc.publisher.place | United States | en_US |
dc.identifier.scopusauthorid | Oliveira, BCDS=12239474400 | en_US |
dc.identifier.scopusauthorid | Cook, WR=11939670900 | en_US |
dc.identifier.issnl | 1523-2867 | - |