Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist
View gist:3125082
1 2 3 4 5 6 7 8 9 10 11 12 13 14
(fn [{:keys [states start accepts transitions]}]
((fn words [queue]
(lazy-seq
(when (seq queue)
(let [[state path] (peek queue)
more-results (words (into (pop queue)
(for [[letter state] (transitions state)]
[state (conj path letter)])))]
(if (accepts state)
(cons (apply str path)
more-results)
more-results)))))
(conj clojure.lang.PersistentQueue/EMPTY
[start []])))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.