File Download

There are no files associated with this item.

  Links for fulltext
     (May Require Subscription)
Supplementary

Conference Paper: Functional programming with structured graphs

TitleFunctional programming with structured graphs
Authors
KeywordsGraphs
Haskell
Parametric Hoas
Issue Date2012
Citation
Proceedings Of The Acm Sigplan International Conference On Functional Programming, Icfp, 2012, p. 77-88 How to Cite?
AbstractThis 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 parametric 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. © 2012 ACM.
Persistent Identifierhttp://hdl.handle.net/10722/188501
References

 

DC FieldValueLanguage
dc.contributor.authorOliveira, BCDSen_US
dc.contributor.authorCook, WRen_US
dc.date.accessioned2013-09-03T04:08:45Z-
dc.date.available2013-09-03T04:08:45Z-
dc.date.issued2012en_US
dc.identifier.citationProceedings Of The Acm Sigplan International Conference On Functional Programming, Icfp, 2012, p. 77-88en_US
dc.identifier.urihttp://hdl.handle.net/10722/188501-
dc.description.abstractThis 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 parametric 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. © 2012 ACM.en_US
dc.languageengen_US
dc.relation.ispartofProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFPen_US
dc.subjectGraphsen_US
dc.subjectHaskellen_US
dc.subjectParametric Hoasen_US
dc.titleFunctional programming with structured graphsen_US
dc.typeConference_Paperen_US
dc.identifier.emailOliveira, BCDS: oliveira@comp.nus.edu.sgen_US
dc.identifier.authorityOliveira, BCDS=rp01786en_US
dc.description.naturelink_to_subscribed_fulltexten_US
dc.identifier.doi10.1145/2364527.2364541en_US
dc.identifier.scopuseid_2-s2.0-84867541134en_US
dc.relation.referenceshttp://www.scopus.com/mlt/select.url?eid=2-s2.0-84867541134&selection=ref&src=s&origin=recordpageen_US
dc.identifier.spage77en_US
dc.identifier.epage88en_US
dc.identifier.scopusauthoridOliveira, BCDS=12239474400en_US
dc.identifier.scopusauthoridCook, WR=11939670900en_US

Export via OAI-PMH Interface in XML Formats


OR


Export to Other Non-XML Formats