clojure implementation of the paper http://link.springer.com/chapter/10.1007%2FBFb0027016