On 28/02/13 17:29, David Nolen wrote:
Your run protocol defines three arities, you do not implement all three.

what's wrong with that? protocols, unlike interfaces let you do that...

Did you try limiting the definition of the run protocol to the two arity case that you are actually implementing?

funny you should mention that though cos I had 2 arities at first but now there is a library that defines a void 'execute' method that I need to hook on to so I added another 1-arg arity to cover that.


In any case I think I found the culprit...it's the last line in this extend-type form:

(defn extend-gate []
(extend-type gate.Executable
IComponent
(run
([this]
(do
  (.execute this)
(.getAnnotations ^gate.Document (.getDocument ^gate.creole.AbstractLanguageAnalyser this))))
([this _]
 (run this)) )
(link [this pos other]
  (help/linkage this pos other)) )
(extend-type gate.creole.SerialAnalyserController
IWorkflow
(deploy [this] (run this))) ) ;;HERE!


Different namespace and of course different line...for some reason when I coded it I thought that since SerialAnalyserController implements Executable I can delegate to its IComponent extension previously defined .These are characteristic of the problems inheritance introduces in Java. I had similar problems with stanforNLP and I did post here (protocol granularity was the name of the post).


Jim

--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to