111 Decks Ordered By Applause Count - Highest First - Chse one - invert order

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