# Free Category
[](http://github.com/coot)
[](https://travis-ci.org/coot/free-category)
This package introduces variouos encodings of free categories in Haskell.
Free categories are useful to model state machines in a simple yet type safe
way and for that purpose `Kleisli` categroies are a very useful target which
allows to include monadic computations. Read more
[here](https://coot.me/posts/finite-state-machines.html) on a simple example of
a finite state machine encoded using a free category using a simple GADT.
Another simple
[example](https://github.com/coot/free-algebras/blob/master/examples/src/Control/Category/Free.hs).