Details
-
Type:
Defect
-
Status:
Closed
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
Too many people are doing crazy stuff with conditional loading just to support both 1.1 and 1.2 simultaneously. This way lies madness.
To avoid this, lets forward-port all the 1.1 namespaces that were removed or renamed in master, e.g. duck-streams, seq-utils, str-utils, etc. Just copy the old files from the 1.1 branch, so that no behavior changes.
Add a printed deprecation warning at the top-level of each of the old namespaces, like
(println "The foo namespace is deprecated, please use bar instead.")
Post 1.2 release we can remove the deprecated namespaces.
cemerick said: FWIW, the various signature and fn name changes between 1.1 and 1.2 still need to be unraveled by any codebase that wants to target both, and choosing which impl to use is still easiest by eagerly loading whereever the new impls are in a try/catch. I'm not arguing against restoring the old namespaces (at the moment!
, just pointing out that doing so doesn't impact 1.1/1.2 compat.