Limit search to available items
279 results found. Sorted by relevance | date | title .
Book Cover
E-book
Author Díaz, Eduardo, author

Title Clojure for Java developers : transition smoothly from Java to the most widely used functional JVM-based language - Cloture / Eduardo Díaz
Published Birmingham, UK : Packt Publishing, 2016

Copies

Description 1 online resource (1 volume) : illustrations
Series Community experience distilled
Community experience distilled.
Contents Cover ; Copyright; Credits; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 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; Chapter 2: Namespaces, Packages, and Tests
Namespaces in ClojurePackages 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; Chapter 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 destructuringExposing your code to Java; Testing from Groovy; Proxy and reify; Summary; Chapter 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 immutabilityLaziness; Summary; Chapter 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; Chapter 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
Chapter 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
Notes Includes index
Online resource; title from cover page (Safari, viewed March 11, 2016)
Subject Clojure (Computer program language)
Functional programming languages.
Java (Computer program language)
COMPUTERS -- Programming Languages -- General.
Clojure (Computer program language)
Functional programming languages
Java (Computer program language)
Form Electronic book
ISBN 9781785280412
1785280414