@InProceedings{Kahl-2006a, author = {Wolfram Kahl}, title = {Semigroupoid Interfaces for Programming with Relations in {Haskell}}, crossref = {RelMiCS2006}, pages = {235--250}, bibliographies = {RelMiCS, WK}, abstract = {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 \emph{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 \textsf{RelView} system. We show how this combination enables high-level declarative and efficient relational programming in Haskell.} } @Proceedings{RelMiCS2006, title = {Relations and {Kleene} Algebra in Computer Science, {RelMiCS/AKA 2006}}, booktitle = {Relations and {Kleene} Algebra in Computer Science, {RelMiCS/AKA 2006}}, year = {2006}, editor = {Renate Schmidt and Georg Struth}, series = LNCS, volume = {4136}, publisher = Springer, bibliographies = {RelMiCS}, URL = {http://link.springer.de/link/service/series/0558/tocs/t4136.htm} }