You can override the function require, and, of course, the overriden option can upload files if the namespace it requests is not available in the classpath. Path redefinition :requireworks in forms (ns ...), it is AFAIK, it is impossible at present because of how it is processed ns.
, " require" , ( ), path Clojure (- JVM). clojure.core/add-classpath... , , , , . , , , .
require, foo,
(ns foo
(:refer-clojure :exclude [require])
; other stuff; any :requires here will work as usual!
)
, clojure.core/require, :
(defn require [ns-symbol]
(do-stuff-to-obtain-the-namespace))
clojure.contrib.find-namespaces , . ( the-ns , , clojure.core/require.)
, binding, ((binding [require ...] ...)), , require Var, clojure.core, Vars , clojure ( , Var, Vars ).
(:refer-clojure :exclude [require]) ns require clojure.core/require Var . , clojure.core/require Var, .