Hi Juan,
I have to admit you're a life saver! You didn't say anything that I did
not know but you did make a couple of observations that made me have a
closer look on my code...For example you noticed that the protocol
extension to String was never registered...That is the *real* problem
here
Hi Jim:
I think the problem is that you are actually calling the *getDistance *protocol
function with only 2 arguments in the line in bold below:
(defrecord LevenshteinDistance []
IDistance
(getDistance [_ s1 s2]
*(getDistance s1 s2)) ;; <- Calling a getDistance function with 2 arg
let me explain with an example:
;;in some namespace x
(defprotocol IStemmable
(stem [this token] [this token lang])
(getRoot [this token dictionary]))
(defprotocol IDistance
(getDistance [this s1 s2] [this s1 s2 m-weight]))
;;in some namespace y that refers all vars from x
(extend-type Strin