This post is a literate Haskell file. To follow along, cut and paste the entire text of this post into a file called StarSemiring.lhs and load it up in GHCi. > module StarSemiring where I would like to introduce you to a very general algorithm that I like to call the Gauss-Jordan-Floyd-Warshall-McNaughton-YamadaGauss-Jordan-Floyd-Warshall-Kleene algorithm. With this simple algorithm (an algorithm