Hey there,
Thank you so much for all the feedback, I really appreciate that you took
the time to review you my code!
I have made few changes since then let me address them,
1) I am aware of the bottom up dynamic algorithm for edit distance (using
two dimensional array as a table), I just didn
Hi again,
I see you have implemented your 'search' fn like this:
(defn search [word lst & {:keys [n rank] :or {n 15 rank 2}}]
"Get a list of words based on the minimum distance"
(let [ranked-words (apply hash-map
(mapcat (fn [x] [x (edit-distance word x)]) lst))]
(take n (keys (sort-by val < (fi
Hi Smit,
I hope you don't mind a couple of comments :)
I had a look at your edit-distance implementation and you've not
followed the recommended approach found in various textbooks
(dynamic-programming) and that's probably why you resorted to memoization...
You see, trying your code without
Hey folks,
This is my first post on the mailing list, I would like to introduce
myself. I have been love with Lisp since I started reading SICP, the way
you express problems and decompose them it's just amazing. I always wanted
to build a real world application in Lisp but I never got around it