Clojure Programming

      Clojure is a dynamic programming language for the JVM.

      Introduction

      People come to Clojure from a variety of backgrounds. The purpose of this book is to help everyone get the most out of the Clojure language. It is not meant as a replacement for the documentation, found at the Clojure site. Please do not copy material from there to here!

      Feel free to post your own code, written in the Clojure language, here. However, please do not post excerpts, patches or other modifications or derivations of the Clojure source itself, as the license of this Wiki is incompatible with the Clojure license. Instead, post such things to the Clojure discussion group.

      ↑Jump back a section

      Implementations

      There are a number of different implementations of the Clojure language:

      ↑Jump back a section

      Getting started

      The Getting started section covers obtaining and installing Clojure as well as basic setup of editors such as Emacs or Vim.

      Other "Getting Started" guides and documentation:

      ↑Jump back a section

      Concepts

      The Concepts section covers Clojure language basics, such as supported datatypes, "mutability" or state in Clojure, functional programming and the concurrency features. Also see the book Learning Clojure.

      ↑Jump back a section

      Tutorials and Tips

      By Example is an introductory look at Clojure that is heavy on examples to introduce the look and meaning of various constructs.

      The Tutorials and Tips section covers differences with other languages and miscellaneous tutorials.

      Learning Clojure gives an examination of Clojure's features.

      The labrepl is an interactive environment for learning Clojure.

      Try Clojure lets you try out Clojure in a browser, with no local installation required.

      4clojure presents a series of small programming problems to help you learn Clojure (web based, no install required)

      clojure-koans is great way for beginners to learn the basic syntax and built in functions of Clojure

      Talking to machines clojure script tutorial for beginners with online repl.

      ↑Jump back a section

      External Articles

      Refer to the curated and categorized listing of External Articles for links to informative Clojure-related articles and blog posts.

      ↑Jump back a section

      API Examples

      This section is for examples using the Clojure API

      ↑Jump back a section

      Cookbook

      A Cookbook of favorite Clojure recipes. :)

      ↑Jump back a section

      Links to further Examples

      Graphics and Image Processing

      • Context Free Art clone [1]
      • ImageJ and Clojure (via Fiji) [2]
      • Port of JOGL OpenGL Gears demo [3]
      • OpenGL Tetrahedron ported from Wikipedia JOGL example [4]
      • Simple SparkLine Generator in Clojure [5]

      Web Programming

      A library stack for web programming would consist of

      • Ring: Ring provides a standard interface to talk to web servers, and a set of libraries for handling things like sessions and file uploads.
      • Framework: These provide a nice high-level interface that is suited for defining the routes and controller logic of a web application.
      • HTML generator: dynamically generate HTML pages.
      • Other libraries, that don't fit into any of the above categories

      Miscellaneous

      ↑Jump back a section

      Read in another language

      This page is available in 2 languages

      Last modified on 24 March 2013, at 11:20