Perhaps some new sort of :deprecated metadata can be added such that
when someone uses the old API, a error is printed (similar to what
happens with the ^ reader macro). Such warnings could be turned off via
something ling *deprecation-warnings* or the like.
The main idea is to minimise breakage during the 1.[01]->1.2 transition,
but make it clear that in the future (1.3 or 1.4) the deprecated APIs
will be removed.
These are just some thoughts. I am not sure this would solve Chas
Emerick's problem, but it would definitely be helpful once 1.2 is
released.
Sincerely,
Daniel Solano Gómez
Rich has pretty strong opinions on this, which I will attempt to channel here:
(1) Clojure itself has done well by being Java-like, in that things don't just go away on you.
(2) While contrib is not a stdlib, we have hurt contrib users by having things just disappear during the 1.2 alpha phase.
(3) There will be a joint 1.2 release of clojure and contrib.
(4) In the joint 1.2 release, we want to break people who never left 1.1 as little as possible. This probably means rehydrating some contrib namespaces (e.g. duck-streams) that have vanished. Where that doesn't work, a clear error message is the second best bet.
(5) We do not want to design and implement a language-level deprecation feature at this time.
Putting my own hat back on, and disagreeing slightly with the straw man Rich I just created :-) I am on the fence between rehydrating the old namespaces and just adding the exceptions. The real question to me: will the pain of the latter push people forward, or away?
Stu
Well, it's not just a matter of var immigration -- there have been a bunch of signature changes, and potentially changes to semantics (the proposed PrintWriter => Writer change for c.c.io/writer being one that comes to mind from another recent thread).
(FWIW, I'm personally not concerned with 1.1 compatibility; that's mostly a concession to the requirements of other open source projects that I help out with, and in those circumstances, the eager/simple try-catch approach has been good enough so far...along with a couple of tweaks to accommodate the aforementioned signature changes.)
To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.
--
You received this message because you are subscribed to the Google Groups "Clojure Dev" group.
To post to this group, send email to cloju...@googlegroups.com.
To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.
--
You received this message because you are subscribed to the Google Groups "Clojure Dev" group.
To post to this group, send email to cloju...@googlegroups.com.
To unsubscribe from this group, send email to clojure-dev...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/clojure-dev?hl=en.