Skip to content

@amalloy /gist:3125082
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
(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.