118 Decks Ordered By View Count - Highest First - Chse one - invert order

# Title Views  
1 Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid 9637  
2 N-Queens Combinatorial Puzzle meets Cats 4405  
3 The Open-Closed Principle - Part 1 - The Original Version 4201  
4 Folding Cheat Sheet #6 - Left and right folds and tail recursion 4071  
5 Monad Laws Must Be Checked 3516  
6 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3509  
7 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 3232  
8 Fibonacci Function Gallery - Part 2 2792  
9 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2727  
10 Folding Cheat Sheet #7 - The three duality theorems of fold 2572  
11 The Functional Programming Triad of map, filter and fold 2498  
12 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 2495  
13 Function Applicative for Great Good of Leap Year Function 2491  
14 Fibonacci Function Gallery - Part 1 2479  
15 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 2376  
16 Folding Cheat Sheet #3 - The universal property of fold 2346  
17 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 2209  
18 Folding Cheat Sheet #8 - Folding with monoids 2162  
19 A Sighting of filterA in Typelevel Rite of Passage 2068  
20 Tagless Final Encoding - Algebras and Interpreters and also Programs 2064  
21 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 2013  
22 Point-free or Die - Tacit Programming in Haskell 1969  
23 Hand Rolled Applicative User Validation Code Kata 1927  
24 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 1 1863  
25 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 1779  
26 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1753  
27 Compositionality and Category Theory 1627  
28 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1604  
29 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1553  
30 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 2 1463  
31 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 1448  
32 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 1425  
33 The Expression Problem Part 2 1365  
34 Scala Left Fold Parallelisation - Three Approaches 1344  
35 AI Concepts - MCP Neurons 1322  
36 Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to AI Coding Tool 'Claude Code' 1310  
37 The Expression Problem Part 1 1293  
38 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 1287  
39 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 1238  
40 Computer Graphics in Java and Scala - Part 1 1226  
41 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 1225  
42 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 1193  
43 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 1186  
44 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 1172  
45 Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1 1160  
46 From Scala Monadic Effects to Unison Algebraic Effects 1139  
47 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 1139  
48 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 1128  
49 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 1126  
50 Applicative Functor - Part 2 1117  
51 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 1115  
52 Definitions of Functional Programming 1113  
53 Scala 3 enum for a terser Option Monad Algebraic Data Type 1106  
54 Computer Graphics in Java and Scala - Part 1b 1103  
55 Game of Life - Polyglot FP - Haskell and Scala - Part 1 1090  
56 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 1087  
57 Kleisli Composition 1074  
58 The Sieve of Eratosthenes - Part 1 1072  
59 Folding Unfolded - Part 1 1058  
60 Folding Unfolded - Part 2 1049  
61 Applicative Functor - Part 1 1017  
62 Monad Fact #1 1015  
63 A sighting of traverse_ in Practical FP in Scala 1000  
64 The Monad Fact Series 990  
65 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 988  
66 Monad Fact #4 973  
67 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 971  
68 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 963  
69 A sighting of sequence function in Practical FP in Scala 963  
70 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 953  
71 Sum and Product Types - The Fruit Salad & Fruit Snack Example 945  
72 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 945  
73 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 944  
74 ‘go-to’ general-purpose sequential collections - from Java To Scala 936  
75 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 934  
76 A sighting of traverseFilter and foldMap in Practical FP in Scala 928  
77 Folding Unfolded - Part 5 927  
78 The Uniform Access Principle 921  
79 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 915  
80 Applicative Functor - Part 3 912  
81 Arrive at monads by going from composition of pure functions to composition of effectful functions 911  
82 Monad Fact #6 905  
83 Fusing Transformations of Strict Scala Collections with Views 903  
84 Monad Fact #3 903  
85 Function Applicative for Great Good of Palindrome Checker Function 902  
86 Folding Unfolded - Part 3 901  
87 The aggregate function - from sequential and parallel folds to parallel aggregation 894  
88 Functor Laws 893  
89 Monad Fact #5 892  
90 Folding Unfolded - Part 4 890  
91 Game of Life - Polyglot FP - Haskell and Scala - Part 3 872  
92 Monad Fact #2 866  
93 Folding Cheat Sheet Series Titles 859  
94 Game of Life - Polyglot FP - Haskell and Scala - Part 2 849  
95 Functional Effects - Part 1 842  
96 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 830  
97 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 817  
98 Monoids - Part 1 - With examples using Scalaz and Cats 807  
99 Sequence and Traverse - Part 1 805  
100 Functional Effects - Part 2 797  
101 Sequence and Traverse - Part 3 796  
102 Natural Transformations 796  
103 State Monad 788  
104 Monoids - Part 2 - With examples using Scalaz and Cats 781  
105 Sequence and Traverse - Part 2 780  
106 Ad hoc Polymorphism using Type Classes and Cats 761  
107 Writer Monad for logging execution of functions 756  
108 Imperative Bowling Kata - 20 Years On - Delegating Menial Tasks to Github Copilot Chat - using Scala in IntelliJ IDEA 676  
109 Monads do not Compose 642  
110 Function Composition - forward composition versus backward composition 642  
111 Functor Composition 625  
112 Monad Transformers - Part 1 609  
113 Addendum to `Monads do not Compose` 602  
114 Monad as Functor with pair of Natural Transformations 598  
115 De Morgan's Laws are Monoid Homomorphisms 593  
116 Year when lambda functions were introduced in various languages 573  
117 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 573  
118 Non-strict functions, bottom, and Scala by-name parameters 469