Motivation

Clojure (1.3.0/2.0) has included new features around marking vars dynamic. This is done via metadata on the var. If a dynamic var is detected and no metadata is provided on the var, it will print a warning message when the namespace is loaded that looks like the following:

Var *log-factory* not marked :dynamic true, setting to :dynamic. You should fix this before next release!

While these warnings are trivial to fix when declaring a var with def it isn't currently possible to mark a var dynamic if it is declared via declare.

Obstacles

Use Cases