110 Decks Ordered By Thumbs Up Count - Highest First - Chse one - invert order

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