111 Decks Ordered By PDF Download Count - Lowest First - Chse one - invert order

# Title Downloads  
1 Non-strict functions, bottom, and Scala by-name parameters 16  
2 Function Composition - forward composition versus backward composition 58  
3 De Morgan's Laws are Monoid Homomorphisms 59  
4 Year when lambda functions were introduced in various languages 60  
5 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 61  
6 Monads do not Compose 71  
7 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 75  
8 Functor Composition 76  
9 Monad Transformers - Part 1 79  
10 Addendum to `Monads do not Compose` 85  
11 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 90  
12 Monad as Functor with pair of Natural Transformations 92  
13 Ad hoc Polymorphism using Type Classes and Cats 92  
14 Folding Cheat Sheet Series Titles 93  
15 Functional Effects - Part 1 100  
16 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 108  
17 Monad Fact #5 110  
18 Sequence and Traverse - Part 2 110  
19 State Monad 110  
20 Natural Transformations 111  
21 Arrive at monads by going from composition of pure functions to composition of effectful functions 111  
22 Monoids - Part 2 - With examples using Scalaz and Cats 112  
23 Function Applicative for Great Good of Palindrome Checker Function 113  
24 Game of Life - Polyglot FP - Haskell and Scala - Part 2 115  
25 Sequence and Traverse - Part 1 117  
26 Writer Monad for logging execution of functions 118  
27 Game of Life - Polyglot FP - Haskell and Scala - Part 1 118  
28 Monoids - Part 1 - With examples using Scalaz and Cats 119  
29 Folding Unfolded - Part 3 119  
30 Functional Effects - Part 2 120  
31 Game of Life - Polyglot FP - Haskell and Scala - Part 3 121  
32 Folding Unfolded - Part 5 122  
33 Sequence and Traverse - Part 3 124  
34 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 125  
35 Folding Unfolded - Part 4 128  
36 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 128  
37 Folding Unfolded - Part 2 130  
38 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 130  
39 The Sieve of Eratosthenes - Part 1 131  
40 Applicative Functor - Part 2 133  
41 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 134  
42 ‘go-to’ general-purpose sequential collections - from Java To Scala 135  
43 Monad Fact #2 136  
44 Monad Fact #6 137  
45 Folding Unfolded - Part 1 137  
46 Scala 3 enum for a terser Option Monad Algebraic Data Type 138  
47 Fusing Transformations of Strict Scala Collections with Views 139  
48 Monad Fact #4 141  
49 A sighting of traverse_ in Practical FP in Scala 141  
50 Monad Fact #3 143  
51 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 144  
52 From Scala Monadic Effects to Unison Algebraic Effects 144  
53 Monad Fact #1 144  
54 The aggregate function - from sequential and parallel folds to parallel aggregation 145  
55 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 148  
56 Functor Laws 148  
57 A sighting of sequence function in Practical FP in Scala 149  
58 The Monad Fact Series 152  
59 Computer Graphics in Java and Scala - Part 1b 153  
60 Applicative Functor - Part 3 154  
61 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 156  
62 The Uniform Access Principle 156  
63 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 157  
64 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 157  
65 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 158  
66 A sighting of traverseFilter and foldMap in Practical FP in Scala 160  
67 Computer Graphics in Java and Scala - Part 1 164  
68 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 165  
69 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 166  
70 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 170  
71 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 186  
72 The Expression Problem Part 1 186  
73 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 186  
74 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 191  
75 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 198  
76 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 202  
77 Definitions of Functional Programming 202  
78 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 204  
79 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 206  
80 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 208  
81 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 214  
82 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 222  
83 Scala Left Fold Parallelisation - Three Approaches 224  
84 Applicative Functor - Part 1 226  
85 Sum and Product Types - The Fruit Salad & Fruit Snack Example 232  
86 Folding Cheat Sheet #8 - Folding with monoids 232  
87 Function Applicative for Great Good of Leap Year Function 233  
88 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 234  
89 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 240  
90 Kleisli Composition 242  
91 Folding Cheat Sheet #4 - For functions that can be defined both as a right fold and as a left fold, one may be more efficient than the other 243  
92 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 249  
93 Fibonacci Function Gallery - Part 1 252  
94 Folding Cheat Sheet #3 - The universal property of fold 259  
95 Hand Rolled Applicative User Validation Code Kata 261  
96 Fibonacci Function Gallery - Part 2 262  
97 Compositionality and Category Theory 264  
98 A Sighting of filterA in Typelevel Rite of Passage 266  
99 The Expression Problem Part 2 269  
100 Monad Laws Must Be Checked 278  
101 Folding Cheat Sheet #7 - The three duality theorems of fold 281  
102 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 284  
103 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 293  
104 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 300  
105 The Functional Programming Triad of map, filter and fold 308  
106 Tagless Final Encoding - Algebras and Interpreters and also Programs 333  
107 Folding Cheat Sheet #6 - Left and right folds and tail recursion 336  
108 N-Queens Combinatorial Puzzle meets Cats 339  
109 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 362  
110 The Open-Closed Principle - Part 1 - The Original Version 395  
111 Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid 770