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.

Reply via email to