What advantage does using :refer
in :require
have over using :only
in :use
? Are the following synonymous?
yes, they are equivalent,
:refer
and :require
are the basic operations required to build namespaces. :use
is more convienient
:require
causes classes to be loaded:refer
adds things to the name space which is really just a map (actually a couple of maps):use
is :refer
+ :require
as much is it may look like it, there really is no magic to namespaces
if you make a namespace like this
(ns so.example (:use my.lib))
the equivalent with :require would be:
(ns so.example (:require [my.lib :refer [function1 function2 function3
list every function in example
here and remember to keep it
up to date ]]))