122 Decks Ordered By View Count - Lowest First - Chse one - invert order

# Title Views  
1 Non-strict functions, bottom, and Scala by-name parameters 617  
2 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 688  
3 Year when lambda functions were introduced in various languages 702  
4 De Morgan's Laws are Monoid Homomorphisms 707  
5 Defining filter using (a) recursion (b) folding (c) folding with S, B and I combinators (d) folding with applicative functor and identity function 734  
6 Monad as Functor with pair of Natural Transformations 742  
7 Addendum to `Monads do not Compose` 753  
8 Monad Transformers - Part 1 763  
9 Functor Composition 767  
10 Function Composition - forward composition versus backward composition 781  
11 Monads do not Compose 795  
12 The Functional Programming Triad of fold, scan and iterate 833  
13 Ad hoc Polymorphism using Type Classes and Cats 901  
14 Writer Monad for logging execution of functions 907  
15 Natural Transformations 920  
16 Monoids - Part 2 - With examples using Scalaz and Cats 942  
17 Sequence and Traverse - Part 2 944  
18 State Monad 944  
19 Sequence and Traverse - Part 3 953  
20 Sequence and Traverse - Part 1 955  
21 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 957  
22 Monoids - Part 1 - With examples using Scalaz and Cats 960  
23 Functional Effects - Part 2 961  
24 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 964  
25 Functional Effects - Part 1 986  
26 Game of Life - Polyglot FP - Haskell and Scala - Part 2 989  
27 Monad Fact #2 1005  
28 Game of Life - Polyglot FP - Haskell and Scala - Part 3 1006  
29 Folding Cheat Sheet Series Titles 1013  
30 The aggregate function - from sequential and parallel folds to parallel aggregation 1020  
31 Monad Fact #6 1026  
32 Folding Unfolded - Part 4 1028  
33 Function Applicative for Great Good of Palindrome Checker Function 1031  
34 Fusing Transformations of Strict Scala Collections with Views 1031  
35 Monad Fact #5 1039  
36 Functor Laws 1040  
37 Monad Fact #3 1042  
38 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 1052  
39 Arrive at monads by going from composition of pure functions to composition of effectful functions 1062  
40 Applicative Functor - Part 3 1068  
41 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 1072  
42 Folding Unfolded - Part 3 1073  
43 A sighting of traverseFilter and foldMap in Practical FP in Scala 1073  
44 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 1075  
45 Folding Unfolded - Part 5 1078  
46 The Uniform Access Principle 1079  
47 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 1086  
48 A sighting of sequence function in Practical FP in Scala 1090  
49 ‘go-to’ general-purpose sequential collections - from Java To Scala 1092  
50 Sum and Product Types - The Fruit Salad & Fruit Snack Example 1098  
51 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 1106  
52 Monad Fact #4 1119  
53 The Monad Fact Series 1125  
54 A sighting of traverse_ in Practical FP in Scala 1133  
55 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 1140  
56 Monad Fact #1 1145  
57 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 1168  
58 Applicative Functor - Part 1 1189  
59 Folding Unfolded - Part 2 1195  
60 Kleisli Composition 1213  
61 Folding Unfolded - Part 1 1215  
62 The Sieve of Eratosthenes - Part 1 1226  
63 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 1239  
64 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 1244  
65 Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to Github Copilot Chat - using Scala in IntelliJ IDEA 1249  
66 Computer Graphics in Java and Scala - Part 1b 1260  
67 Definitions of Functional Programming 1262  
68 Game of Life - Polyglot FP - Haskell and Scala - Part 1 1269  
69 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 1272  
70 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 1274  
71 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 1279  
72 Applicative Functor - Part 2 1299  
73 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 1308  
74 Scala 3 enum for a terser Option Monad Algebraic Data Type 1320  
75 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 1352  
76 Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1 1353  
77 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 1357  
78 From Scala Monadic Effects to Unison Algebraic Effects 1359  
79 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 1362  
80 Abstracting over Execution with Higher Kinded Types, and how to remain Purely Functional 1380  
81 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 1390  
82 Computer Graphics in Java and Scala - Part 1 1396  
83 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 1414  
84 The Expression Problem Part 1 1429  
85 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 1447  
86 Scala Left Fold Parallelisation - Three Approaches 1500  
87 Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to AI Coding Tool 'Claude Code' 1570  
88 AI Concepts - MCP Neurons 1593  
89 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 1630  
90 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 1651  
91 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 2 1672  
92 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1752  
93 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1759  
94 Compositionality and Category Theory 1783  
95 The Expression Problem Part 2 1908  
96 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 1932  
97 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1942  
98 Hand Rolled Applicative User Validation Code Kata 2115  
99 Point-free or Die - Tacit Programming in Haskell 2139  
100 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 1 2189  
101 A Sighting of filterA in Typelevel Rite of Passage 2213  
102 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 2216  
103 Tagless Final Encoding - Algebras and Interpreters and also Programs 2260  
104 Folding Cheat Sheet #8 - Folding with monoids 2324  
105 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 2390  
106 Folding Cheat Sheet #3 - The universal property of fold 2537  
107 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 2545  
108 Function Applicative for Great Good of Leap Year Function 2644  
109 The Bowling Game - From Imperative to Functional Programming - Part 1 2645  
110 Fibonacci Function Gallery - Part 1 2650  
111 The Functional Programming Triad of map, filter and fold 2722  
112 Folding Cheat Sheet #7 - The three duality theorems of fold 2740  
113 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 2856  
114 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2934  
115 Fibonacci Function Gallery - Part 2 2985  
116 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3678  
117 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 3856  
118 Monad Laws Must Be Checked 4137  
119 Folding Cheat Sheet #6 - Left and right folds and tail recursion 4741  
120 The Open-Closed Principle - Part 1 - The Original Version 4873  
121 N-Queens Combinatorial Puzzle meets Cats 5520  
122 Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid 10747