Learning Clojure
For detailed coverage of Clojure, consult the language and API reference at clojure.org. Also see Clojure Programming.
Clojure (read as closure), is a powerful, lisp-1 programming language designed by Rich Hickey and designed to run on the Java Virtual Machine. This book shall provide a detailed introduction to the constructs of Clojure, and act as a tutorial through the features of the language.
Some paragraphs in [ ] are author notes. They will be removed as the page matures. You should be able to read the text OK if you ignore these notes.
This Book is currently being restructured to better satisfy the wikibooks standard. Until completed, duplicate content may be seen. |
Getting Started
edit- History
- A brief history of the Clojure language.
- Installation
- Learn how to install Clojure on Windows, Linux, and Mac
- REPL
- Learn how to launch the REPL execution system and the classic "Hello World" application
Basics
edit- Basic Syntax
- Describes the basics in how the applications you write will be interpreted
- Coding Conventions
- Quickly describes the generally accepted conventions for Clojure.
- Functional Programming
- The entities used to store data of various shapes
- Namespaces
- Identifies how to encapsulate a program from other programs
- Basic Operations
- Explains how use essential functions
- Data Types
- Explanation of basic data types in the Clojure language.
- Data Structures
- Explains how to use Clojure hash, list, and array data structures
- Meta Data
- Explaining meta data in the Clojure language.
- Special Forms
- Learn how to use several utility functions to support Clojure
- Branching and Monads
- How to implement imperative style into a functional language
- Exception Handling
- Responding to errors that can occur
- Evaluation
- How expressions are evaluated
Java Integration
edit- Calling Java
- Learn how to call Java functions from within Clojure
- Building Jars
- Learn how to take Clojure code and create a portable Java executable
Advanced Topics
edit- Macros
- Learn how to utilize the macro system Clojure uses
- Concurrent Programming
- Learn how to write programs that utilize concurrent execution
- Leiningen
- Learn the perfected Clojure build system
- Reader Macros
- Macros that control the way code is interpreted
- Unit Testing
- Learn how to write unit tests in Clojure