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

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