diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-09-16 21:22:04 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-09-16 21:22:04 +0000 |
commit | dba3b2b263668e273aa7ee06326cbf11f42ce9ce (patch) | |
tree | 9e66447e928035121207849ad2a009f5d416f8bc /clojure.markdown | |
parent | 414f12b134344baee0f5d183551d24b577ec66a5 (diff) |
added markdown doc
Diffstat (limited to 'clojure.markdown')
-rw-r--r-- | clojure.markdown | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/clojure.markdown b/clojure.markdown new file mode 100644 index 00000000..35ffa835 --- /dev/null +++ b/clojure.markdown @@ -0,0 +1,56 @@ +<head> + <title>Clojure</title> + <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"/> + <meta name="description" content="Clojure is a dynamic programming language for the JVM" /> + <meta name="keywords" content="Rich Hickey, Lisp, Java, software transactional memory" + /> + <meta name="author" content="Rich Hickey" /> + <link rel="stylesheet" type="text/css" media="screen" href="clojure.css"> +</head> + +#Clo*j*ure +## A Dynamic Programming Language for the JVM +Copyright (c) Rich Hickey. All rights reserved. + +The use and distribution terms for this software are covered by the Common Public License 1.0, which can be found in the file CPL.TXT at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software. + +##Contents +###Introduction +Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, with the approachability and interactive development of a scripting language and an efficient and robust infrastructure for multithreaded server programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. *Every* feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, and optional typing with type inference, to ensure that calls to Java can avoid reflection. + +Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system that ensures clean, correct, multithreaded designs. + +###[Setup](#setup) +###[Quick Start](#quickstart) +##Features +###[Reader](#reader) +###[Evaluation](#evaluation) +###[Special Forms](#specialforms) +###[Data Structures](#datastructures) +###[Sequences](#sequences) +###[Vars and the Global Environment](#vars) +###[Refs and Transactions](#refs) +###[Access to Java](#java) +###[Differences with other Lisps](#lisp) + + +- Data Structure Syntax +- Macro Characters +- Symbol Syntax +- Comments + +<h2 id="introduction">Introduction</h2> + + + +<h2 id="setup">Setup</h2> +<h2 id="quickstart">Quick Start</h2> +<h2 id="reader">Reader</h2> +<h2 id="evaluation">Evaluation</h2> +<h2 id="specialforms">Special Forms</h2> +<h2 id="datastructures">Data Structures</h2> +<h2 id="sequences">Sequences</h2> +<h2 id="vars">Vars and the Global Environment</h2> +<h2 id="refs">Refs and Transactions</h2> +<h2 id="java">Access to Java</h2> +<h2 id="lisp">Differences with other Lisps</h2> |