The RATH project strives to provide Haskell libraries for relation-algebraic treatment of relations and related structures, and for explorations in the meta-theory of relation algebras and related abstractions.
Data.Map
in Haskell
do not give rise to a category:
On infinite types, like Integer
,
there is no identity,
which would have to be a total map of type Map Integer Integer.
An appropriate mathematical generalisation of categories
are semigroupoids;
I am currently working on a library of semigroupoid interfaces to
relational datatypes in Haskell, see
[Kahl-2006a_Semigroupoids].