Exploring Clojure Libraries

Clojure code is packaged in libraries. Each Clojure library belongs to a namespace, which is analogous to a Java package. You can load a Clojure library with require:

 ​(require quoted-namespace-symbol)​

When you require a library named clojure.java.io, Clojure looks for a file named clojure/java/io.clj on the CLASSPATH. Try it:

 ​​user=>​ (require ​'clojure.java.io​)​
 ​-> nil​

The leading single quote () is required, and it quotes the library name (quoting is covered in Reader Macros). The nil returned indicates success. While you are at it, test that you can load the sample code for this chapter, examples.introduction:

 ​​user=>​ (require ​'examples.introduction​)​
 ​-> nil​

The examples.introduction library ...

Get Programming Clojure, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.