On Sunday, December 17, 2017 at 4:17:00 PM UTC-6, Jim foo.bar wrote: > > Hi all, > > This is mainly a question for the Clojure core dev team. I'm trying really > hard to understand the thinking behind the new IAtom2 interface. My train > of thought is detailed below, but you don't have to read the full thing. > The core question is "How come the existing IAtom didn't grow, given the > fact that you guys *own* the interface?" >
Many of the Clojure interfaces are also implemented by external libraries (IAtom is known to be one of these). Adding new methods to an interface breaks existing implementors. The proper way to "grow" here was to add a new interface which external implementors can extend to when they are ready. This allows all existing implementations continue to work if they compile against Clojure 1.9. -- 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/d/optout.