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