万本电子书0元读

万本电子书0元读

顶部广告

Mastering Clojure电子书

售       价:¥

4人正在读 | 0人评论 9.8

作       者:Akhil Wali

出  版  社:Packt Publishing

出版时间:2016-03-28

字       数:134.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Understand the philosophy of the Clojure language and dive into its inner workings to unlock its advanced features, methodologies, and constructs About This Book Learn to handle data using sequences, reducers, and transducers in Clojure Explore the lesser known and more advanced features, constructs, and methodologies of the Clojure language and its ecosystem, such as asynchronous channels, actors, logic programming, and reactive programming Sharpen your Clojure skills through illustrative and comprehensive examples Who This Book Is For If you’re looking to learn more about the core libraries and dive deep into the Clojure language, then this book is ideal for you. Prior knowledge of the Clojure language is required. What You Will Learn Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers Process and manipulate data using sequences, reducers, and transducers in Clojure Modify and add features to the Clojure language using macros Explore the features of category theory and custom data sources for logic programming in Clojure Orchestrate parallelism and concurrency using built-in primitives as well as community libraries in Clojure Handle data with asynchronous and reactive programming methodologies and leverage it using the core.async library Test your code with unit tests, specs, and type checks to write testable code Troubleshoot and style your Clojure code to make it more maintainable In Detail Clojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications. Mastering Clojure gives you an insight into the nitty-gritty details and more advanced features of the Clojure programming language to create more scalable, maintainable, and elegant applications. You’ll start off by learning the details of sequences, concurrency primitives, and macros. Packed with a lot of examples, you’ll get a walkthrough on orchestrating concurrency and parallelism, which will help you understand Clojure reducers, and we’ll walk through composing transducers so you know about functional composition and process transformation inside out. We also explain how reducers and transducers can be used to handle data in a more performant manner. Later on, we describe how Clojure also supports other programming paradigms such as pure functional programming and logic programming. Furthermore, you’ll level up your skills by taking advantage of Clojure's powerful macro system. Parallel, asynchronous, and reactive programming techniques are also described in detail. Lastly, we’ll show you how to test and troubleshoot your code to speed up your development cycles and allow you to deploy the code faster. Style and approach This is an easy-to-follow project-based guide that throws you directly into the excitement of Clojure code. Mastering Clojure is for anyone who is interested in expanding their knowledge of language features and advanced functional programming.
目录展开

Mastering Clojure

Table of Contents

Mastering Clojure

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

Errata

Piracy

Questions

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

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 pools

Summary

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

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

5. Composing Transducers

Understanding transducers

Producing results from transducers

Comparing transducers and reducers

Transducers in action

Managing volatile references

Creating transducers

Summary

6. Exploring Category Theory

Demystifying category theory

Using monoids

Using functors

Using applicative functors

Using monads

Summary

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

8. Leveraging Asynchronous Tasks

Using channels

Customizing channels

Connecting channels

Revisiting 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

9. Reactive Programming

Reactive programming with fibers and dataflow variables

Using Reactive Extensions

Using functional reactive programming

Building reactive user interfaces

Introducing Om

Summary

10. Testing Your Code

Writing tests

Defining unit tests

Using top-down testing

Testing with specs

Generative testing

Testing with types

Summary

11. Troubleshooting and Best Practices

Debugging your code

Using tracing

Using Spyscope

Logging errors in your application

Thinking in Clojure

Summary

A. References

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部