anchor.diff:  This example imports the `Date` and `UUID` class from the `java.util` package and the `File` class from the `java.io` package.
   
   
  -
  -
  
positive.code: The `:require` class corresponds to the `require` function which specifies one or more namespaces to load that this namespace depends on. For each namespace, `require` can do several things:
  
  * Load (or reload) the namespace
  * Optionally assign an *alias* that can be used to refer to vars from the loaded namespace only in the scope of this namespace
  * Optionally *refer* vars from the loaded namespace for use by unqualified name in this namespace
  
  The last two parts are all about making names easier to use. While vars can always be referred to by their fully-qualified name, we rarely want to type fully-qualified names in our code. Aliases let us use shorter versions of longer fully-qualified aliases. Refer allows us to use names without a namespace qualifier at all.
  
  
negative.code: 
  Vars are associations between a name (a symbol) and a value. Vars in a namespace have a fully-qualified name that is the combination of the namespace name and the var name. For example, `clojure.string/join` is a fully-qualified var name where `clojure.string` refers to the namespace and `join` refers to the var inside the namespace. All vars are globally accessible via their fully-qualified name. By convention vars have lower case names with `-` separating words, although this is also not required. Var names may contain most non-whitespace characters.
  
  Vars are created using `def` and other special forms or macros that start with `def`, like `defn`. Vars are created in the "current" namespace. The Clojure runtime tracks the current namespace in the var `pass:[clojure.core/*ns*]`. The current namespace can be changed using the `in-ns` function.
  
  === Loading
  
  