115 Decks Ordered By Love Count - Lowest First - Chse one - invert order

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