Hi, I think, clojure just generates a class with stubs for all methods, which check whether an implementing function exists. If yes, they call it. If no, they pass on to super. If there is no such method in super, they throw a reasonable exception. Eg. I get the following for a class implementing Iterable without defining -iterator: UnsupportedOperationException iterator (foo.Bar/-iterator not defined?) foo.Bar.iterator (:-1)
What might be a problem though, is that your superclass claims to implement a given interface without actually doing so. Then clojure sees the "implemented" methods, but calling them will fail. My gut feeling is, that the abstract class should document, that you have to implement these methods. Having javac point you to such a fact is not good-style, IMHO. Sincerely Meikel -- 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