Mastering Functional Programming: Functional techniques for sequential and parallel programming with Scala

Anatolii Kmetiuk

  • 出版商: Packt Publishing
  • 出版日期: 2018-08-31
  • 售價: $2,040
  • 貴賓價: 9.5$1,938
  • 語言: 英文
  • 頁數: 380
  • 裝訂: Paperback
  • ISBN: 1788620798
  • ISBN-13: 9781788620796
  • 相關分類: JVM 語言
  • 下單後立即進貨 (約3~4週)

商品描述

Learn how functional programming can help you in deploying web servers and working with databases in a declarative and pure way

Key Features

  • Learn functional programming from scratch
  • Program applications with side effects in a pure way
  • Gain expertise in working with array tools for functional programming

Book Description

In large projects, it can get difficult keeping track of all the interdependencies of the code base and how its state changes at runtime. Functional Programming helps us solve these problems. It is a paradigm specifically designed to deal with the complexity of software development. This book will show you how the right abstractions can reduce complexity and make your code easy to read and understand.

Mastering Functional Programming begins by touching upon the basics such as what lambdas are and how to write declarative code with the help of functions. It then moves on to more advanced concepts such as pure functions and type classes, the problems they aim to solve, and how to use them in real-world scenarios. You will also explore some of the more advanced patterns in the world of functional programming, such as monad transformers and Tagless Final. In the concluding chapters, you will be introduced to the actor model, implement it in modern functional languages, and explore the subject of parallel programming.

By the end of the book, you will have mastered the concepts entailing functional programming along with object-oriented programming (OOP) to build robust applications.

What you will learn

  • Write reliable and scalable software based on solid foundations
  • Explore the cutting edge of computer science research
  • Effectively solve complex architectural problems in a robust way
  • Avoid unwanted outcomes such as errors or delays and focus on business logic
  • Write parallel programs in a functional style using the actor model
  • Use functional data structures and collections in your day-to-day work

Who this book is for

If you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use.

Table of Contents

  1. Declarative Programming Style
  2. Functions and Lambdas
  3. Functional Data Structures
  4. The Problem of Side Effects
  5. Effect Types: Abstracting Away Side Effects
  6. Effect Types in Practice
  7. The Idea of the Type Classes
  8. Basic Type Classes and Their Usage
  9. Libraries for Pure Functional Programming
  10. Patterns of Advanced Functional Programming
  11. Introduction to the Actor Model
  12. Actor Model in Practice
  13. Use Case: A Parallel Web Crawler
  14. Appendix: Introduction to Scala