Clojure language
Since Clojure is so different from many mainstream programming languages, we'll place more emphasis on the basics of Clojure than for other languages in this book. Here are the basics we'll discuss:
- Syntax
- Expressions
- Defining variables
- Defining functions
- Data structures (numerals, strings, and collections)
- Iteration over arrays and loops
- Conditions
Syntax
Lisp and Clojure both adhere to the code is data and data is code principle. This property of Lisp is called homoiconicity, which means that a language's syntax is similar to its program structure. Among Lisp's built-in datatypes is a list. This list type is used when writing code. After you define a list, you can add expressions to it. An expression contains a function reference and its parameters. When closing a list, the list is evaluated dynamically at runtime. Basically, entire programs are represented by Clojure's internal data structures. Clojure has a process, called the reader, that reads and evaluates each entry in the...