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

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