Results 1 
7 of
7
Functional programming with structured graphs
 In Proceedings of the 17th ACM SIGPLAN international conference on Functional programming, ICFP ’12
, 2012
"... 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 ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
(Show Context)
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 parametric higherorder abstract syntax. Unlike traditional approaches based on mutable references or node/edge lists, wellformedness 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.
Mixed relations as enriched semiringal categories
 Journal of Universal Computer Science
, 2000
"... Abstract: A study of the classes of nite relations as enriched strict monoidal categories is presented in [CaS91]. The relations there are interpreted as connections in owchart schemes, hence an \angelic " theory of relations is used. Finite relations may be used to model the connections be ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Abstract: A study of the classes of nite relations as enriched strict monoidal categories is presented in [CaS91]. The relations there are interpreted as connections in owchart schemes, hence an \angelic &quot; theory of relations is used. Finite relations may be used to model the connections between the components of data ow networks [BeS98, BrS96], as well. The corresponding algebras are slightly di erent enriched strict monoidal categories modeling a \forwarddemonic &quot; theory of relations. In order to obtain a full model for parallel programs one needs to mix control and reactive parts, hence a richer theory of nite relations is needed. In this paper we (1) de ne a model of such mixed nite relations, (2) introduce enriched (weak) semiringal categories as an abstract algebraic model for these relations, and (3) show that the initial model of the axiomatization (it always exists) is isomorphic to the de ned one of mixed relations. Hence the axioms gives a sound and complete axiomatization for the these relations. Key Words: parallel programs; mixed relations; network algebra; (enriched) semiringal
Structural recursion for querying ordered graphs
 In ICFP 2013
, 2013
"... Structural recursion, in the form of, for example, folds on lists and catamorphisms on algebraic data structures including trees, plays an important role in functional programming, by providing a systematic way for constructing and manipulating functional programs. It is, however, a challenge to de ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Structural recursion, in the form of, for example, folds on lists and catamorphisms on algebraic data structures including trees, plays an important role in functional programming, by providing a systematic way for constructing and manipulating functional programs. It is, however, a challenge to define structural recursions for graph data structures, the most ubiquitous sort of data in computing. This is because unlike lists and trees, graphs are essentially not inductive and cannot be formalized as an initial algebra in general. In this paper, we borrow from the database community the idea of structural recursion on how to restrict recursions on infinite unordered regular trees so that they preserve the finiteness property and become terminating, which are desirable properties for query languages. We propose a new graph transformation language called FG for transforming and querying ordered graphs, based on the welldefined bisimulation relation on ordered graphs with special "edges. The language FG is a higher order graph transformation language that extends the simply typed lambda calculus with graph constructors and more powerful structural recursions, which is extended for transformations on the sibling dimension. It not only gives a general framework for manipulating graphs and reasoning about them, but also provides a solution to the open problem of how to define a structural recursion on ordered graphs, with the help of the bisimilarity for ordered graphs with "edges.
Calculating with Relations for Graph Algorithmics
, 1997
"... Much emphasis has been placed in recent years on deriving or calculating programs rather than proving them correct. Adequate calculational frameworks are needed to support such an approach. The present work explores the use of a calculus of relations to express and reason about graph properties ..."
Abstract
 Add to MetaCart
Much emphasis has been placed in recent years on deriving or calculating programs rather than proving them correct. Adequate calculational frameworks are needed to support such an approach. The present work explores the use of a calculus of relations to express and reason about graph properties in an algorithmic context. We take a generic program that computes a maximal set, over some universe, satisfying some predicate P and calculate two instances of it: the computation of maximal independent sets of vertices in a graph, and the computation of maximal sets of edges without cycles (i.e. maximal forests).
Automata on Patterns and Graphs
"... Magmoids satisfying the 15 fundamental equations of graphs, namely Dmagmoids, are introduced. Automata on directed hypergraphs are defined by virtue of finite relational Dmagmoids. Two different modes of graph recognizability arise, their closure properties are investigated, and a comparison is b ..."
Abstract
 Add to MetaCart
(Show Context)
Magmoids satisfying the 15 fundamental equations of graphs, namely Dmagmoids, are introduced. Automata on directed hypergraphs are defined by virtue of finite relational Dmagmoids. Two different modes of graph recognizability arise, their closure properties are investigated, and a comparison is being made between the two classes. 1
Complete Axiomatization of an Algebraic Construction of Graphs
"... Abstract. This paper presents a complete (infinite) axiomatization for an algebraic construction of graphs, in which a finite fragment denotes the class of graphs with bounded tree width. 1 ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. This paper presents a complete (infinite) axiomatization for an algebraic construction of graphs, in which a finite fragment denotes the class of graphs with bounded tree width. 1
Catamorphic Approach to Program Analysis
, 2003
"... This paper proposes a new framework for program analysis that regards them as maximum marking problems: mark the codes of a program under a certain condition such that the number of marked nodes is maximum. We show that if one can develop an e#cient checking program (in terms of a finite catamorphi ..."
Abstract
 Add to MetaCart
(Show Context)
This paper proposes a new framework for program analysis that regards them as maximum marking problems: mark the codes of a program under a certain condition such that the number of marked nodes is maximum. We show that if one can develop an e#cient checking program (in terms of a finite catamorphism) whether marked programs are correctly marked, then an e#cient and incremental marking algorithm to analyze control flow of structured programs (say in C or Java with limited numbers of gotos) is obtained for free. To describe catamorphisms on control flow graphs, we present an algebraic construction, called SP Term, for graphs with bounded tree width. The transformation to SP Terms is done e#ciently in linear time. We demonstrate that our framework is powerful to describe various kinds of control flow analyses. Especially, for analyses in which some optimality is required (or expected), our approach has a big advantage.