popular algorithms implemented in clojure