Don't forget gen-interface. In fact, you may want to have just one gen-class with a static factory method, which produces an anonymous implementation of one of the interfaces, which is an abstract factory for making other objects that implement other interfaces. This provides the least coupling between your under the hood implementation and what your callers see as API -- no fixed class names (except the one static factory method's holder) and no constructors, just interfaces, which you can implement with records or deftype.
-- 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