Foreword
Preface
- Mission
Chapter 1: Why Functional Programming?
- At a Glance
- Confidence
- Communication
- Readability
- Perspective
- How to Find Balance
- Resources
- Summary
Chapter 2: The Nature Of Functions
- What Is a Function?
- Function Input
- Note
- Tip
- Tip
- Named Arguments
- Tip
- Function Output
- Tip
- Note
- Functions of Functions
- Warning
- Note
- Tip
- Syntax
- Note
- What’s This?
- Note
- Note
- Summary
Chapter 3: Managing Function Inputs
- All for One
- Note
- Tip
- Warning
- Adapting Arguments to Parameters
- Note
- Note
- Some Now, Some Later
- Tip
- Note
- One at a Time
- Note
- Note
- Warning
- Order Matters
- Tip
- Tip
- Note
- No Points
- Warning
- Warning
- Note
- Summary
Chapter 4: Composing Functions
- Output to Input
- Note
- Note
- General Composition
- Warning
- Note
- Note
- Note
- Reordered Composition
- Abstraction
- Revisiting Points
- Note
- Tip
- Summary
Chapter 5: Reducing Side Effects
- Effects on the Side, Please
- Note
- Note
- Note
- Once Is Enough, Thanks
- Pure Bliss
- Note
- Note
- Note
- Note
- There or Not
- Purifying
- Note
- Warning
- Note
- Summary
Chapter 6: Value Immutability
- Primitive Immutability
- Value to Value
- Reassignment
- Performance
- Treatment
- Summary
Chapter 7: Closure vs. Object
- The Same Page
- Look Alike
- Note
- Two Roads Diverged in a Wood…
- Note
- Note
- Note
- Summary
Chapter 8: Recursion
- Definition
- Warning
- Note
- Note
- Declarative Recursion
- Tip
- Stack
- Note
- Note
- Rearranging Recursion
- Note
- Warning
- Summary
Chapter 9: List Operations
- Note
- Non-FP List Processing
- Map
- Note
- Note
- Filter
- Reduce
- Warning
- Note
- Note
- Advanced List Operations
- Note
- Note
- Note
- Note
- Note
- Tip
- Method vs. Standalone
- Note
- Note
- Looking for Lists
- Fusion
- Beyond Lists
- Note
- Note
- Note
- Summary
Chapter 10: Functional Async
- Time as State
- Eager vs. Lazy
- Note
- Reactive FP
- Note
- Note
- Note
- Summary
- Tip
Chapter 11: Putting It All Together
- Setup
- Note
- Note
- Stock Events
- Stock Ticker UI
- Note
- Summary
Appendix A: Transducing
- Why, First
- How, Next
- Note
- What, Finally
- Note
- Summary
Appendix B: The Humble Monad
- Type
- Loose Interface
- Just a Monad
- Note
- Maybe
- Note
- Humble
- Summary
Appendix C: FP Libraries
- Stuff to Investigate
- Ramda (0.23.0)
- Lodash/fp (4.17.4)
- Mori (0.3.2)
- Bonus: FPO
- Bonus #2: fasy
- Summary

