CANCEL
Subscription
0
Your Cart
(0 item)
You have no products in your basket yet
Save more on your purchases!
Buy 3-4 products and each title is Mex$164.99
Buy 5+ products and each title is Mex$99.99
Savings automatically calculated. No voucher code required.
Checkout
Account
Sign in
New User?
Create Account
Your Account
Your Orders
Change country
United States
Great Britain
India
Germany
France
Canada
Russia
Spain
Brazil
Australia
South Africa
Thailand
Ukraine
Switzerland
Slovakia
Luxembourg
Hungary
Romania
Denmark
Ireland
Estonia
Belgium
Italy
Finland
Cyprus
Lithuania
Latvia
Malta
Netherlands
Portugal
Slovenia
Sweden
Argentina
Colombia
Ecuador
Indonesia
Mexico
New Zealand
Norway
South Korea
Taiwan
Turkey
Czechia
Austria
Greece
Isle of Man
Bulgaria
Japan
Philippines
Poland
Singapore
Egypt
Chile
Malaysia
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
SALE ENDS IN
0
Days
:
00
Hours
:
00
Minutes
:
00
Seconds
GO TO
TOP
You're reading from
Mastering Functional Programming
Functional techniques for sequential and parallel programming with Scala
Product type
Paperback
Published in
Aug 2018
Publisher
Packt
ISBN-13
9781788620796
Length
380 pages
Edition
1st Edition
Languages
Scala
Concepts
Functional Programming
Table of Contents
(23) Chapters
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
1. The Declarative Programming Style
FREE CHAPTER
Technical requirements
Principles of declarative programming
Declarative versus imperative collections
Declarative programming in other languages
Summary
Questions
2. Functions and Lambdas
Functions as behavior
Functions in functional programming
Higher-order functions
Understanding lambda functions
The concept of functions in different programming languages
Summary
Questions
3. Functional Data Structures
Collections framework
Algebraic approach
Effect types
Data structures in different programming languages
Summary
Questions
Further reading
4. The Problem of Side Effects
Side effects
Mutable states
Pure functions
Generally encountered side effects
But how do we get rid of the side effects?
The pure functional paradigm in different languages
Summary
Questions
5. Effect Types - Abstracting Away Side Effects
Turning effects into data
The sequential combination of effects with Monads
Summary
Questions
6. Effect Types in Practice
Future
Either
Reader
Summary
Questions
7. The Idea of the Type Classes
Rich Wrapper pattern
The Type Class pattern
Interpretation of the Type Class pattern
Type classes in different languages
Summary
Questions
8. Basic Type Classes and Their Usage
A motivation for organizing type classes into systems and libraries
The Cats library for purely functional programming
Type classes
Summary
Questions
9. Libraries for Pure Functional Programming
Cats effect
Server-side programming
Summary
Questions
10. Patterns of Advanced Functional Programming
Monad Transformers
Tagless Final
Type-level programming
Summary
Questions
11. Introduction to the Actor Model
Overview of parallelism solutions
Traditional model synchronization on monitors
The actor model as a replacement for the traditional model
Summary
Questions
12. The Actor Model in Practice
Akka overview
Defining, creating, and messaging actors
Working with actor systems
Summary
Questions
13. Use Case - A Parallel Web Crawler
Problem statement
Sequential solution
A parallel solution with Akka
Summary
1. Introduction to Scala
Motivation for using Scala
Scala infrastructure
Variables and functions
Control structures
Inheritance model
Summary
2. Assessments
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
3. Other Books You May Enjoy
Leave a review - let other readers know what you think
Index
Questions
How are functions interpreted in the context of object-oriented programming?
How are functions interpreted in the context of pure functional programming?
What are higher-order functions?
Why are higher-order functions useful?
The rest of the chapter is locked
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Start free trial
Previous Section
Section 8 of 8
Next Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Sign up now
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Start free trial
Renews at
$15.99/month
. Cancel anytime
Other recommended products
Related to this chapter
Professional Scala
Read more
This book teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You'll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you'll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You'll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the book, you'll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM.
Read more
Jul 2018
6h 12m
Learn Scala Programming
Read more
Today's Scala is quite different from its earlier versions. The second version of the language is more than twelve years old and has undergone multiple changes related to supported features and library implementation. This book addresses both technical and architectural changes by providing a comprehensive guide to the redesigned standard library and collections as well as covering in-depth type system and first-level support for functions. Finally, you will build projects using the knowledge learned previously to build microservices and learn how to implement them with Scala and Lagom framework.
Read more
Oct 2018
16h 36m
Scala Programming Projects
Read more
Scala is a type-safe JVM language that incorporates object-oriented and functional programming (OOP and FP) aspects. This book gets you started with essentials of software development by guiding you through different aspects of Scala programming, helping you bridge the gap between learning and implementing. You will learn the unique features of Scala through diverse applications and experience simple yet powerful approaches for software development.
Read more
Sep 2018
13h 16m
Learning Concurrent Programming in Scala
Read more
Read more
Feb 2017
14h 28m
Learning Functional Data Structures and Algorithms
Read more
Read more
Feb 2017
10h 36m
Learning Scala Programming
Read more
Scala is a general purpose programming language that supports both functional and object-oriented programming paradigms. Due to its concise design and versatility, Scala's applications have been extended to a wide variety of fields such as data science and cluster computing.You will learn to write highly scalable, concurrent, and testable programs to meet everyday software requirements.
Read more
Jan 2018
14h 12m
Functional Kotlin
Read more
Nowadays, writing side effects free programs is very critical. As requirements are becoming complex day by day, Functional Programming can help us in this situation. This book will not only help you learn basics of Functional Programming with Kotlin, but will also show you how to apply them to real-life projects with popular libraries like funkTionale.
Read more
Feb 2018
11h 40m
Scala Design Patterns
Read more
Design patterns make developers' lives easier by helping them write great software that is easy to maintain, runs efficiently, and is valuable to the company or people concerned. In this book, you'll learn about the various features of Scala and will be able to apply well-known, industry-proven design patterns in your work.
Read more
Apr 2018
13h 12m
Functional PHP
Read more
Read more
Feb 2017
11h 24m
Concurrent Patterns and Best Practices
Read more
Selecting the correct concurrency architecture has a significant impact on the design and performance of your applications. Concurrency and parallelism are synonymous to performance and high-end scalability, and this book equips you with all the tools and techniques necessary to achieve those.
Read more
Sep 2018
8h 48m
Build Your Future-Ready Stack!
Every eBook is
Mex$179.99
- master what's next.
SHOP NOW
Personalised recommendations for you
Based on your interests and search pattern
LLVM Code Generation
Read more
LLVM is a key technology for building modern compilers. You'll learn how to use its infrastructure to create and extend backends (X86 and AArch64), and contribute to the LLVM open-source project, equipping you with key skills in compiler design.
Read more
May 2025
20h 16m
Domain-Driven Refactoring
Read more
This book is your exhaustive guide to applying DDD practices for building robust applications. You'll learn key patterns, refine business logic, and solve real-world problems with DDD principles, refactoring, and event-driven architectures.
Read more
May 2025
10h 48m
The Power Platform Playbook for Digital Transformation
Read more
Transform your business with Power Apps, Power Automate, Power BI, and Copilot Studio. This guide covers automation, AI insights, governance, and security, helping leaders, IT pros, and analysts build scalable, low-code enterprise solutions.
Read more
Apr 2025
11h 44m
Microservices with Go
Read more
The book covers Go microservice development, covering the basics for beginners and best practices for structuring Go apps. Novice as well seasoned developers will gain insights into managing and scaling microservices.
Read more
Jun 2025
14h 16m