123 Decks Ordered By Love Count - Highest First - Chse one - invert order

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