Skip to end of metadata
Go to start of metadata

Names for when libraries are promoted to the new contrib. To see a migration guide for "old" contrib, please read Where Did Clojure.Contrib Go.


  • clojure.core.incubator
    • nil safe threading macros -?> and -?>>
    • clojure.contrib.def stuff
    • clojure.contrib.strint
    • throwf helper, better throw?
  • clojure.algo.generic
    • clojure.contrib.generic
  • clojure.algo.monads
    • clojure.contrib.command-line
    • zip-filter =>
    • bean
    • bean introspection
    • into-bean
    • reflective invoke with setAccessible
    • clojure.contrib.sql
    • If there are other approaches to sql, where will they go?
      • SH: make that, then
    • clojure.contrib.jmx
    • clojure.contrib.json
    • clojure.contrib.lazy-xml
    • (new XML features lives in data.xml going forward, not clojure.xml?)
    • clojure.contrib.logging
  1. Apr 19, 2011

    Instead of promoting throwf as is, it may be possible to extend the existing throw, much like how slurp gained super-powers when was promoted. If the first arg is a string, it could apply format to its arguments and wrap it in a RuntimeException.

    Possibly in the future it could be expanded to support DataConveyingExceptions when the argument is a map.

    Just a thought.

  2. Jun 05, 2011

    what is the benefit to pulling ring and enlive into contrib? they both seem to be doing fine adoption wise without being in contrib. moving them seems like it will do nothing but cause uncertainty(where should I be getting this from?) which will cut down on adoption. these two libraries are already recommended all the time to people so they don't seem to require being pulled into one place for discovery. what is the analysis that caused the decision to pull them into contrib?

    1. Jun 06, 2011

      Not a decision. An option. The authors both offered at the Conj last year. So far, nobody has found this important enough to move forward, so you may get what you want by inertia.

      If/when they are pulled in, contrib would become the single home so there would be no confusion.

  3. Jun 05, 2011

    what is with all the incubator namespaces? if you use version control and cut releases then the HEAD is essential an incubator for the next release, having explicit incubation namespaces will deter the use of functions thought to be "not ready for prime time" and so will draw out the shake down period. if candidates are placed in the position they are being evaluated for, their fitness can be determined sooner rather than later.

    1. Jun 06, 2011

      1. How would you mix an untested, pre-alpha quality function into an existing, shipping, post 1.0 namespace?
      2. We need a place to put useful functions from old contrib that are not close to being included in the current release (e.g. some of the IO stuff).

      Your point about lengthening the shakedown period is well taken. If there is a specific scenario where the incubator designation is causing pain, let's discuss on the dev list.

      1. Jun 09, 2011

        1. I would add the function sometime after the last release, test it, then include it in the next release or not at all

        2. I don't understand this.

        I don't have a specific place it is causing pain, it just makes me go "ugh" every time I see it. Seems like some kind of breakdown of process. Do we not have versions? Once we cut a release the people that want a "stable" version can use that and once the new stuff is good it can go in the next release? Do we not have version control? stuff that is not good enough for release can be removed from the release branches but can continue on in HEAD until it is good enough

  4. Jun 23, 2011

    Is there a plan for anything in the new contrib that looks like clojure.contrib.condition?

    1. Jun 23, 2011

  5. Jul 25, 2011

    the list is missing, for clojure.contrib.classpath, and for contrib.find-namespaces

    1. Jun 26, 2013

      It's missing a lot more than that. I plan to overhaul this page once I've made a bit more progress on Where Did Clojure.Contrib Go which does list everything (I believe).