# Introduction

**Clojure** is dynamic, modern and functional dialect of Lisp on the Java platform. Clojure has a Lisp macro system. Just like the other Lisps, code is treated as data.

Clojure supports immutable data structures and immutability. It does encourage programmers to be explicit about managing identity and its states. It's intended to facilitate developing more robust, especially concurrent programs that are fast and simple.

Commercial support for Clojure is provided by Cognitect.

Clojure was developed because the creator wanted kinda modern Lisp for functional programming, designed for concurrency and symbiotic with the Java platform.

> File extensions for Clojure code are .clj .cljs .cljc and .edn
