Cargando…

Mastering Clojure : understand the philosophy of the Clojure language and dive into its inner workings to unlock its advanced features, methodologies, and constructs /

Annotation

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Wali, Akhil (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2016.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover ; Copyright; Credits; About the Author; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Working with Sequences and Patterns; Defining recursive functions; Thinking in sequences; Using the seq library; Creating sequences; Transforming sequences; Filtering sequences; Lazy sequences; Using zippers; Working with pattern matching; Summary; Chapter 2: Orchestrating Concurrency and Parallelism; Managing concurrent tasks; Using delays; Using futures and promises; Managing state; Using vars; Using refs; Using atoms; Using agents; Executing tasks in parallel
  • Controlling parallelism with thread poolsSummary; Chapter 3: Parallelization Using Reducers; Using reduce to transform collections; What's wrong with sequences?; Introducing reducers; Using fold to parallelize collections; Processing data with reducers; Summary; Chapter 4: Metaprogramming with Macros; Understanding the reader; Reading and evaluating code; Quoting and unquoting code; Transforming code; Expanding macros; Creating macros; Encapsulating patterns in macros; Using reader conditionals; Avoiding macros; Summary; Chapter 5: Composing Transducers; Understanding transducers
  • Producing results from transducersComparing transducers and reducers; Transducers in action; Managing volatile references; Creating transducers; Summary; Chapter 6: Exploring Category Theory; Demystifying category theory; Using monoids; Using functors; Using applicative functors; Using monads; Summary; Chapter 7: Programming with Logic; Diving into logic programming; Solving logical relations; Combining logical relations; Thinking in logical relations; Solving the n-queens problem; Solving a Sudoku puzzle; Summary; Chapter 8: Leveraging Asynchronous Tasks; Using channels; Customizing channels
  • Connecting channelsRevisiting the dining philosophers problem; Using actors; Creating actors; Passing messages between actors; Handling errors with actors; Managing state with actors; Comparing processes and actors; Summary; Chapter 9: Reactive Programming; Reactive programming with fibers and dataflow variables; Using Reactive Extensions; Using functional reactive programming; Building reactive user interfaces; Introducing Om; Summary; Chapter 10: Testing Your Code; Writing tests; Defining unit tests; Using top-down testing; Testing with specs; Generative testing; Testing with types; Summary
  • Chapter 11: Troubleshooting and Best PracticesDebugging your code; Using tracing; Using Spyscope; Logging errors in your application; Thinking in Clojure; Summary; Appendix: References; Index