Vcsn is a platform dedicated to the computation of, and with, finite state machines. It provides an efficient C++ library, a Python interface, and a graphical user interface on top of IPython.
Here finite state machines is to be understood in the broadest possible sense: finite automata with multiple tapes — often called transducers then — or even more generally finite automata with multiplicity, that is, automata that not only accept sequences of symbols but compute for such sequence a "value" that is associated with it and which can be taken in any semiring.
Indeed, our framework is the set of automata with multiplicity over any semiring: a general algorithm is written just once and can be instantiated to any particular kind of automaton. As a result, we obtain efficient code from algorithms written in an abstract way.
To start this container :
docker run -d -p 8888:8888 lrde/vcsn