Jump to content

Learning Clojure

25% developed
From Wikibooks, open books for an open world

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

[edit | edit source]
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

[edit | edit source]
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

[edit | edit source]
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

[edit | edit source]
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

[edit | edit source]
Multimethods and polymorphism
Collection functions
Destructuring
Atom