- What is functional composition?
- Functional composition has a property that is usually associated with mathematical operations. What is it?
- How can you turn an add function with two parameters into two functions with one parameter?
- How can you write a C++ function that comprises two single argument functions?
- What are the advantages of functional composition?
- What are the potential disadvantages of implementing operations on functions?
Hands-On Functional Programming with C++
By :
Hands-On Functional Programming with C++
By:
Overview of this book
Functional programming enables you to divide your software into smaller, reusable components that are easy to write, debug, and maintain. Combined with the power of C++, you can develop scalable and functional applications for modern software requirements. This book will help you discover the functional features in C++ 17 and C++ 20 to build enterprise-level applications.
Starting with the fundamental building blocks of functional programming and how to use them in C++, you’ll explore functions, currying, and lambdas. As you advance, you’ll learn how to improve cohesion and delve into test-driven development, which will enable you in designing better software. In addition to this, the book covers architectural patterns such as event sourcing to help you get to grips with the importance of immutability for data storage. You’ll even understand how to “think in functions” and implement design patterns in a functional way.
By the end of this book, you’ll be able to write faster and cleaner production code in C++ with the help of functional programming.
Table of Contents (23 chapters)
Preface
Free Chapter
Section 1: Functional Building Blocks in C++
An Introduction to Functional Programming
Understanding Pure Functions
Deep Dive into Lambdas
The Idea of Functional Composition
Partial Application and Currying
Section 2: Design with Functions
Thinking in Functions - from Data in to Data out
Removing Duplication with Functional Operations
Improving Cohesion Using Classes
Test-Driven Development for Functional Programming
Section 3: Reaping the Benefits of Functional Programming
Performance Optimization
Property-Based Testing
Refactoring to and through Pure Functions
Immutability and Architecture - Event Sourcing
Section 4: The Present and Future of Functional Programming in C++
Lazy Evaluation Using the Ranges Library
STL Support and Proposals
Standard Language Support and Proposals
Other Books You May Enjoy
Customer Reviews