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