Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
A comonad for graph decompositions #22
Thanks for another great article. These are really helping me ground my intuitions in Category Theory and its application to programming. Btw. exploring co-monads does help shed a lot of light on what Monads are.
Since you are working with graphs, you may be interested in the semantic web which is based completely on graphs (and named graphs). The graphs need not be connected as they seem to have to be with Quiver. The key intuition one needs to develop there is one of semantics that stems from logic, ie notions of meaning and reference, etc... (it has many echoes in philosophy) . The aim there is to create a global distributed database on-top of the web. There are a couple of talks online on the banana-rdf wiki including one I gave in December 2014 at Scala eXchange, which develops a use case for the semantic web, with scala examples.
Since you are coming at this from a Category Theory perspective I think you will enjoy Benjamin Braatz's thesis "Formal Modelling and Application of Graph Transformations in the Resource Description Framework". I was trying to read this two years ago but got stuck at the time on pullbacks and pushouts, as I could not form a good intuition of those concepts. I think I should give it a shot again, as I feel I have a much better grip on CT now, after reading your articles, learning Haskell, etc. ... A later and easier to read 2010 paper of his might help motivate the category theory based approach "How to Modify on the Semantic Web? - A Web Application Architecture for Algebraic Graph Transformations on RDF" as it compares his theory to other standards such as SPARQL update. (To be honest I don't quite get the advantage of his position yet, but the parallels are very helpful).
Excellent illustrations by the way :-)