Join Arthur Ulfeldt for an in-depth discussion in this video Explore reference type terminology, part of Up and Running with Clojure.
- View Offline
- I've been spending a lot of time…talking about the wonders of programming…with mutable values and pure functions.…These are very nice.…They make programming simply more fun.…Though if you want a program to do anything…other than raising the ambient…temperature of the room,…then at some point you really do need…to do something that changes the…environment of the program.…Clojure offers four main data types…for working with state that changes over time.…And I would argue that it does a…better job of working with changing state…than even the programming languages…that emphasize changing state everywhere.…
Because Clojur eschews unmonitored state changes.…So we try to avoid systems where…things just change out from under you…while you're working on them or…things change and if that change…breaks something else, no one finds out about it…which is an effect many programs have,…and leads to things like locking, and locked trees…and locked coordination, and all…sorts of fancy rules about who's…allowed to lock which objects in which order.…
Arthur Ulfeldt covers the Leiningen build tool and setting up Clojure to work with the IntelliJ IDEA dev environment. He then reviews the basics of the syntax, including functions, expressions, values, macros, strings, and conditionals. He shows how to structure, compile, and deploy Clojure projects in Leiningen, and pull from Clojure's core library. In the final chapters, Arthur explores references and namespaces and points to resources to learn more about Clojure.
- Installing Leiningen
- Configuring IntelliJ IDEA
- Using REPLs to execute code
- Working with simple and composite values
- Mastering Clojure macros
- Exploring Clojure syntax
- Building a Clojure project with Leiningen
- Mapping, filtering, and reducing
- Binding and destructuring data
- Working with identities