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.

Getting Started

History Development stage: 20%
A brief history of the Clojure language.
Installation Development stage: 60%
Learn how to install Clojure on Windows, Linux, and Mac
REPL Development stage: 10%
Learn how to launch the REPL execution system and the classic "Hello World" application

Basics

Basic Syntax Development stage: 00%
Describes the basics in how the applications you write will be interpreted
Coding Conventions Development stage: 70%
Quickly describes the generally accepted conventions for Clojure.
Functional Programming Development stage: 70%
The entities used to store data of various shapes
Namespaces Development stage: 00%
Identifies how to encapsulate a program from other programs
Basic Operations Development stage: 50%
Explains how use essential functions
Data Types Development stage: 90%
Explanation of basic data types in the Clojure language.
Data Structures Development stage: 70%
Explains how to use Clojure hash, list, and array data structures
Meta Data Development stage: 80%
Explaining meta data in the Clojure language.
Special Forms Development stage: 70%
Learn how to use several utility functions to support Clojure
Branching and Monads Development stage: 00%
How to implement imperative style into a functional language
Exception Handling Development stage: 00%
Responding to errors that can occur
Evaluation Development stage: 40%
How expressions are evaluated

Java Integration

Calling Java Development stage: 70%
Learn how to call Java functions from within Clojure
Building Jars Development stage: 00%
Learn how to take Clojure code and create a portable Java executable

Advanced Topics

Macros Development stage: 60%
Learn how to utilize the macro system Clojure uses
Concurrent Programming Development stage: 10%
Learn how to write programs that utilize concurrent execution
Leiningen Development stage: 10%
Learn the perfected Clojure build system
Reader Macros Development stage: 70%
Macros that control the way code is interpreted
Unit Testing Development stage: 00%
Learn how to write unit tests in Clojure

Unsorted sections

Multimethods and polymorphism
Collection functions
Destructuring
Atom Category:Alphabetical/L Category:Book:Learning Clojure#%20 Category:Subject:Lisp programming language#Learning%20Clojure
Category:Subject:Lisp programming language/all books Category:Subject:Computer programming languages/all books Category:Subject:Computer programming/all books Category:Subject:Computer science/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Subject:Computing/all books Category:Subject:Books by subject/all books Category:Book:Learning Clojure#%20 Category:Book:Wikibooks Stacks/Books#Learning%20ClojureCategory:Shelf:Lisp programming language Category:Shelf:Lisp programming language/all books Category:Shelf:Computer programming/all books#Computer%20programming Category:Shelf:Computer programming languages/all books#Computer%20programming%20languages Category:Shelf:Computer science/all books#Computer%20science Category:Department:Computing/all books#Computing Category:Partly developed booksCategory:Books by completion status/all books
Category:Alphabetical/L Category:Book:Learning Clojure Category:Book:Wikibooks Stacks/Books Category:Books by completion status/all books Category:Department:Computing/all books Category:Partly developed books Category:Shelf:Computer programming/all books Category:Shelf:Computer programming languages/all books Category:Shelf:Computer science/all books Category:Shelf:Lisp programming language Category:Shelf:Lisp programming language/all books Category:Subject:Books by subject/all books Category:Subject:Computer programming/all books Category:Subject:Computer programming languages/all books Category:Subject:Computer science/all books Category:Subject:Computing/all books Category:Subject:Lisp programming language Category:Subject:Lisp programming language/all books