2010/6/3 Rich Hickey <richhic...@gmail.com>

>  [...]
> I don't have a means to prevent this at present, but I'd like to
> suggest this policy moving forward:
>
> If a protocol comes with Clojure itself, avoid extending it to types
> you don't own, especially e.g. java.lang.String and other core Java
> interfaces. Rest assured if a protocol should extend to it, it will,
> else lobby for it.
>
>
Another concern I have is when using multiple libraries from separate
"vendors", with potentially long chains of transitive dependencies. I can
force myself into respecting the above mentioned rules and laws. Much harder
to be sure that every library I'll use does that too. I would like to have a
way to be "warned" that something wrong may happen. It doesn't bother me if
this happens at runtime (worst case if all the libraries I use are already
compiled and I don't own the source code) : when the libraries are
"referred", I would like to be able to spot warning messages if a
redefinition of a protocol on a type is done in more than one namespace ("in
more than one namespace", so that working interactively in the REPL would
not trigger the warnings).

-- 
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

Reply via email to