Sciweavers

ICFP
2012
ACM

Functional programming with structured graphs

11 years 6 months ago
Functional programming with structured graphs
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 paraigher-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. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Functional Languages...
Bruno C. d. S. Oliveira, William R. Cook
Added 29 Sep 2012
Updated 29 Sep 2012
Type Journal
Year 2012
Where ICFP
Authors Bruno C. d. S. Oliveira, William R. Cook
Comments (0)