116 Decks Ordered By PDF Download Count - Highest First - Chse one - invert order

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