I also ran into this recently - doing the exact same thing (a log4j appender). I was a bit surprised and I wonder if Clojure is effectively generating abstract classes rather than concrete classes? (Do we have no way to specify the difference? Is that only an artifact of the Java compiler, not the JVM bytecode?)
As you say, the fix tends to be easy (read the class API docs and implement the missing methods) but the behavior needs to be clearly documented (on clojure.org) to help people avoid the problem I think... Sean On Sun, May 29, 2011 at 7:04 AM, ckirkendall <ckirkend...@gmail.com> wrote: > I ran into this when creating a log4j appender in Clojure. I extended > the AppenderSkeleton, an abstract class. This abstract class > implements Appender. Appender defines two methods that don't appear > in the AbstractSkeleton (requiresLayout & close). I was able to > compile the Clojure class, without the two methods in question, with > no error. I then threw a runtime exception when I tried to use the > class. The fix was easy but it seems this should probably be checked > at compile time. -- 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