Chapter 2. ClojureScript Language Fundamentals
ClojureScript provides the developer with great expressive power, thanks to its elegant semantics and its bias toward functional programming-both artifacts of its heritage as a Lisp language.
It also encourages the use of a minimal set of pragmatic and efficient data structures that make it possible to productively write data-oriented programs that are bound by a set of unified operations, typically conforming to the powerful seq
abstraction.
In this chapter, we are going to explore these semantics and data structures so that we can gain a deep knowledge of the ClojureScript language basics. We'll delve into its basic scalar types and collections, understand how expression evaluation and variable scoping work, study the seq
abstraction along with the concept of laziness, and show how interoperability with JavaScript works. We'll be covering the following topics:
- Understanding ClojureScript functions
- ClojureScript data structures...