Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
A completeness theorem for Kleene algebras and the algebra of regular events
Papers presented at the IEEE symposium on Logic in computer science
ACM Transactions on Programming Languages and Systems (TOPLAS)
Relational methods in computer science
Relational methods in computer science
Heterogeneous relation algebra
Relational methods in computer science
Relational methods in computer science
A Technique for Drawing Directed Graphs
IEEE Transactions on Software Engineering
Normal Forms and Reduction for Theories of Binary Relations
RTA '00 Proceedings of the 11th International Conference on Rewriting Techniques and Applications
ACM Transactions on Computational Logic (TOCL)
Relational approach to boolean logic problems
RelMiCS'05 Proceedings of the 8th international conference on Relational Methods in Computer Science, Proceedings of the 3rd international conference on Applications of Kleene Algebra
Implementing Relational Specifications in a Constraint Functional Logic Language
Electronic Notes in Theoretical Computer Science (ENTCS)
A functional, successor list based version of warshall's algorithm with applications
RAMICS'11 Proceedings of the 12th 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
Hi-index | 0.00 |
We present a Haskell interface for manipulating finite binary relations as data in a point-free relation-algebraic programming style that integrates naturally with the current Haskell collection types. This approach enables seamless integration of relation-algebraic formulations to provide elegant solutions of problems that, with different data organisation, are awkward to tackle. Perhaps surprisingly, the mathematical foundations for dealing with finite relations in such a context are not well-established, so we provide an appropriate generalisation of relational categories to semigroupoids to serve as specification for our interface. After having established an appropriate interface for relation-algebraic programming, we also need an efficient implementation; we find this in BDD-based kernel library KURE of recent versions of the Kiel RelView system. We show how this combination enables high-level declarative and efficient relational programming in Haskell.