Relations and graphs: discrete mathematics for computer scientists
Relations and graphs: discrete mathematics for computer scientists
Structuring depth-first search algorithms in Haskell
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Information Processing Letters - Special issue on the calculational method
Functional programming with graphs
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Algorithms from relational specifications
Relational methods in computer science
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Communications of the ACM
The Haskell: The Craft of Functional Programming
The Haskell: The Craft of Functional Programming
Introduction to Functional Programming
Introduction to Functional Programming
Complexity Results for Confluence Problems
MFCS '99 Proceedings of the 24th International Symposium on Mathematical Foundations of Computer Science
Graph Algorithms with a Functional Flavous
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
An Initial-Algebra Approach to Directed Acyclic Graphs
MPC '95 Mathematics of Program Construction
Inductive graphs and functional graph algorithms
Journal of Functional Programming
Implementing Relational Specifications in a Constraint Functional Logic Language
Electronic Notes in Theoretical Computer Science (ENTCS)
On the Evaluation of Large and Sparse Graph Reachability Queries
DEXA '08 Proceedings of the 19th international conference on Database and Expert Systems Applications
Communications of the ACM
RelView: an OBDD-based computer algebra system for relations
CASC'05 Proceedings of the 8th international conference on Computer Algebra in Scientific Computing
Semigroupoid interfaces for relation-algebraic programming in haskell
RelMiCS'06/AKA'06 Proceedings of the 9th international conference on Relational Methods in Computer Science, and 4th international conference on Applications of Kleene Algebra
Towards certifiable implementation of graph transformation via relation categories
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Simple rectangle-based functional programs for computing reflexive-transitive closures
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Using relations to develop a haskell program for computing maximum bipartite matchings
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Hi-index | 0.00 |
We show how formally and systematically to develop a purely functional version of Warshall's algorithm for computing transitive closures by combining the unfold-fold technique, relation-algebra and data refinement. It is based on an implementation of relations by lists of successor lists. The final version can immediately be implemented in Haskell. This resulting Haskell program has the same runtime complexity as the traditional imperative array-based implementation of Warshall's algorithm. We also demonstrate how it can be re-used as component in other functional algorithms.