I'm trying to understand the syntax for calling use to load a library:
(use 'clojure.contrib.duck-streams)
Makes sense to me as it applies the quote reader macro to clojure.contrib.duck-streams so that the reader doesn't attempt to evaluate that string.
Now, if I want to use the :only tag to only load reader, why is this correct:
(use '[clojure.contrib.duck-streams :only (reader)])
instead of:
(use '[clojure.contrib.duck-streams :only reader])
I read this to mean pass in this vector of arguments to use but the REPL complains with Don't know how to create ISeq from Symbol. Why the parens around reader?
This is also equivalent to the first line and valid:
(use '[clojure.contrib.duck-streams])
So it seems that 'string are '[string] are equivalent arguments which I don't understand either.