# Summary * [Chapter 01: What Ever Are We Doing?](ch01.md) * [Introductions](ch01.md#introductions) * [A Brief Encounter](ch01.md#a-brief-encounter) * [Chapter 02: First Class Functions](ch02.md) * [A Quick Review](ch02.md#a-quick-review) * [Why Favor First Class?](ch02.md#why-favor-first-class) * [Chapter 03: Pure Happiness with Pure Functions](ch03.md) * [Oh to Be Pure Again](ch03.md#oh-to-be-pure-again) * [Side Effects May Include...](ch03.md#side-effects-may-include) * [8th Grade Math](ch03.md#8th-grade-math) * [The Case for Purity](ch03.md#the-case-for-purity) * [In Summary](ch03.md#in-summary) * [Chapter 04: Currying](ch04.md) * [Can't Live If Livin' Is without You](ch04.md#cant-live-if-livin-is-without-you) * [More Than a Pun / Special Sauce](ch04.md#more-than-a-pun--special-sauce) * [In Summary](ch04.md#in-summary) * [Exercises](ch04.md#exercises) * [Chapter 05: Coding by Composing](ch05.md) * [Functional Husbandry](ch05.md#functional-husbandry) * [Pointfree](ch05.md#pointfree) * [Debugging](ch05.md#debugging) * [Category Theory](ch05.md#category-theory) * [In Summary](ch05.md#in-summary) * [Exercises](ch05.md#exercises) * [Chapter 06: Example Application](ch06.md) * [Declarative Coding](ch06.md#declarative-coding) * [A Flickr of Functional Programming](ch06.md#a-flickr-of-functional-programming) * [A Principled Refactor](ch06.md#a-principled-refactor) * [In Summary](ch06.md#in-summary) * [Chapter 07: Hindley-Milner and Me](ch07.md) * [What's Your Type?](ch07.md#whats-your-type) * [Tales from the Cryptic](ch07.md#tales-from-the-cryptic) * [Narrowing the Possibility](ch07.md#narrowing-the-possibility) * [Free as in Theorem](ch07.md#free-as-in-theorem) * [Constraints](ch07.md#constraints) * [In Summary](ch07.md#in-summary) * [Chapter 08: Tupperware](ch08.md) * [The Mighty Container](ch08.md#the-mighty-container) * [My First Functor](ch08.md#my-first-functor) * [Schrödinger's Maybe](ch08.md#schrödingers-maybe) * [Use Cases](ch08.md#use-cases) * [Releasing the Value](ch08.md#releasing-the-value) * [Pure Error Handling](ch08.md#pure-error-handling) * [Old McDonald Had Effects...](ch08.md#old-mcdonald-had-effects) * [Asynchronous Tasks](ch08.md#asynchronous-tasks) * [A Spot of Theory](ch08.md#a-spot-of-theory) * [In Summary](ch08.md#in-summary) * [Exercises](ch08.md#exercises) * [Chapter 09: Monadic Onions](ch09.md) * [Pointy Functor Factory](ch09.md#pointy-functor-factory) * [Mixing Metaphors](ch09.md#mixing-metaphors) * [My Chain Hits My Chest](ch09.md#my-chain-hits-my-chest) * [Power Trip](ch09.md#power-trip) * [Theory](ch09.md#theory) * [In Summary](ch09.md#in-summary) * [Exercises](ch09.md#exercises) * [Chapter 10: Applicative Functors](ch10.md) * [Applying Applicatives](ch10.md#applying-applicatives) * [Ships in Bottles](ch10.md#ships-in-bottles) * [Coordination Motivation](ch10.md#coordination-motivation) * [Bro, Do You Even Lift?](ch10.md#bro-do-you-even-lift) * [Operators](ch10.md#operators) * [Free Can Openers](ch10.md#free-can-openers) * [Laws](ch10.md#laws) * [In Summary](ch10.md#in-summary) * [Exercises](ch10.md#exercises) * [Chapter 11: Transform Again, Naturally](ch11.md) * [Curse This Nest](ch11.md#curse-this-nest) * [A Situational Comedy](ch11.md#a-situational-comedy) * [All Natural](ch11.md#all-natural) * [Principled Type Conversions](ch11.md#principled-type-conversions) * [Feature Envy](ch11.md#feature-envy) * [Isomorphic JavaScript](ch11.md#isomorphic-javascript) * [A Broader Definition](ch11.md#a-broader-definition) * [One Nesting Solution](ch11.md#one-nesting-solution) * [In Summary](ch11.md#in-summary) * [Exercises](ch11.md#exercises) * [Chapter 12: Traversing the Stone](ch12.md) * [Types n' Types](ch12.md#types-n-types) * [Type Feng Shui](ch12.md#type-feng-shui) * [Effect Assortment](ch12.md#effect-assortment) * [Waltz of the Types](ch12.md#waltz-of-the-types) * [No Law and Order](ch12.md#no-law-and-order) * [In Summary](ch12.md#in-summary) * [Exercises](ch12.md#exercises) * [Chapter 13: Monoids bring it all together](ch13.md) * [Wild combination](ch13.md#wild-combination) * [Abstracting addition](ch13.md#abstracting-addition) * [All my favourite functors are semigroups.](ch13.md#all-my-favourite-functors-are-semigroups) * [Monoids for nothing](ch13.md#monoids-for-nothing) * [Folding down the house](ch13.md#folding-down-the-house) * [Not quite a monoid](ch13.md#not-quite-a-monoid) * [Grand unifying theory](ch13.md#grand-unifying-theory) * [Group theory or Category theory?](ch13.md#group-theory-or-category-theory) * [In summary](ch13.md#in-summary) * [Exercises](ch13.md#exercises) * [Appendix A: Essential Functions Support](appendix_a.md) * [always](appendix_a.md#always) * [compose](appendix_a.md#compose) * [curry](appendix_a.md#curry) * [either](appendix_a.md#either) * [identity](appendix_a.md#identity) * [inspect](appendix_a.md#inspect) * [left](appendix_a.md#left) * [liftA2](appendix_a.md#lifta2) * [liftA3](appendix_a.md#lifta3) * [maybe](appendix_a.md#maybe) * [nothing](appendix_a.md#nothing) * [reject](appendix_a.md#reject) * [Appendix B: Algebraic Structures Support](appendix_b.md) * [Compose](appendix_b.md#compose) * [Either](appendix_b.md#either) * [Identity](appendix_b.md#identity) * [IO](appendix_b.md#io) * [List](appendix_b.md#list) * [Map](appendix_b.md#map) * [Maybe](appendix_b.md#maybe) * [Task](appendix_b.md#task) * [Appendix C: Pointfree Utilities](appendix_c.md) * [add](appendix_c.md#add) * [append](appendix_c.md#append) * [chain](appendix_c.md#chain) * [concat](appendix_c.md#concat) * [eq](appendix_c.md#eq) * [filter](appendix_c.md#filter) * [flip](appendix_c.md#flip) * [forEach](appendix_c.md#foreach) * [head](appendix_c.md#head) * [intercalate](appendix_c.md#intercalate) * [join](appendix_c.md#join) * [last](appendix_c.md#last) * [map](appendix_c.md#map) * [match](appendix_c.md#match) * [prop](appendix_c.md#prop) * [reduce](appendix_c.md#reduce) * [replace](appendix_c.md#replace) * [reverse](appendix_c.md#reverse) * [safeHead](appendix_c.md#safehead) * [safeLast](appendix_c.md#safelast) * [safeProp](appendix_c.md#safeprop) * [sequence](appendix_c.md#sequence) * [sortBy](appendix_c.md#sortby) * [split](appendix_c.md#split) * [take](appendix_c.md#take) * [toLowerCase](appendix_c.md#tolowercase) * [toString](appendix_c.md#tostring) * [toUpperCase](appendix_c.md#touppercase) * [traverse](appendix_c.md#traverse) * [unsafePerformIO](appendix_c.md#unsafeperformio)