Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Clojure for Java Developers
Table of Contents Clojure for Java Developers Credits About the Author About the Reviewer www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support
Downloading the example code Downloading the color images of this book Piracy Questions
1. Getting Started with Clojure
Getting to know Clojure Installing Leiningen Using a REPL
The nREPL protocol Hello world REPL utilities and conventions
Creating a new project
Project structure Creating a standalone app
Using Cursive Clojure
Installing Cursive Clojure
Getting started with Clojure code and data
Lists in Clojure Operations in Clojure Functions in Clojure
Clojure's data types
Scalars Collection data types
Summary
2. Namespaces, Packages, and Tests
Namespaces in Clojure
Packages in Clojure
The classpath and the classloader
Back to Clojure namespaces
Playing with namespaces
Creating a new namespace Working with namespaces on the REPL
Testing in Clojure
Testing from the command line Testing in IntelliJ
Summary
3. Interacting with Java
Using Maven dependencies Clojure interop syntax
Creating an object Calling an instance method Calling a static method or function Accessing inner classes
Writing a simple image namespace Writing the tests
The let statement
Destructuring in Clojure
Sequential destructuring Associative destructuring
Exposing your code to Java
Testing from Groovy
Proxy and reify Summary
4. Collections and Functional Programming
Basics of functional programming Persistent collections Types of collections in Clojure The sequence abstraction Specific collection types in Clojure
Vectors Lists Maps
Sorted maps and hash maps Common properties
Sets
Sorted sets and hash sets Common properties Union, difference, and intersection
Applying functional programming to collections
The imperative programming model The functional paradigm Functional programming and immutability Laziness
Summary
5. Multimethods and Protocols
Polymorphism in Java Multimethods in Clojure
Keyword hierarchies
isa? parents descendants underive
A la carte dispatch functions
Protocols in Clojure
Records in Clojure
Summary
6. Concurrency
Using your Java knowledge The Clojure model of state and identity Promises
Pulsar and lightweight threads
Futures Software transactional memory and refs Atoms Agents
Validators Watchers
core.async
Why lightweight threads? Goblocks Channels Transducers
Summary
7. Macros in Clojure
Lisp's foundational ideas Macros as code modification tools
Modifying code in Java Modifying code in Groovy
The @ToString annotation The @TupleConstructor annotation The @Slf4j annotation
Writing your first macro Debugging your first macro
Quote, syntax quote, and unquoting Unquote splicing gensym
Macros in the real world References Summary
Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion