Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. Overview of Concepts in Functional Programming

    2. Functional Programming and Concurrency

    3. Conclusion

  2. Chapter 2 First-Class Functions

    1. Introduction to XXY

    2. Functions as Objects

    3. Anonymous Functions

    4. Higher-Order Functions

    5. Refactoring get Functions by Using Groovy

    6. Conclusion

  3. Chapter 3 Pure Functions

    1. Output Depends on Input

    2. Purifying Our Functions

    3. Side Effects

    4. Conclusion

  4. Chapter 4 Immutable Variables

    1. Mutability

    2. Immutability

    3. Conclusion

  5. Chapter 5 Recursion

    1. An Introduction to Recursion

    2. Recursion

    3. Tail Recursion

    4. Refactoring Our countEnabledCustomersWithNoEnabledContacts Function

    5. Conclusion

  6. Chapter 6 Strict and Nonstrict Evaluations

    1. Strict Evaluation

    2. Nonstrict (Lazy) Evaluation

    3. Laziness Can Create Problems

    4. Conclusion

  7. Chapter 7 Statements

    1. Taking the Plunge

    2. Simple Statements

    3. Block Statements

    4. Everything Is a Statement

    5. Conclusion

  8. Chapter 8 Pattern Matching

    1. Simple Matches

    2. Simple Patterns

    3. Extracting Lists

    4. Extracting Objects

    5. Converting to Pattern Matches

    6. Conclusion

  9. Chapter 9 Functional OOP

    1. Static Encapsulation

    2. Objects As Containers

    3. Code as Data

    4. Conclusion

  10. Chapter 10 Conclusion

    1. From Imperative to Functional

    2. New Design Patterns

    3. Putting It All Together

    4. Conclusion