I'm a big fan of Haskell. I also spend some of my time thinking about graphical models. This is my attempt at combining the two. It's only my first attempt, so expect the code to be quite slow.
A monad is just a monoid in the category of endofunctors. This makes Haskell perfectly suited for working with graphical structures.