114 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 7754  
2 N-Queens Combinatorial Puzzle meets Cats 3360  
3 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3232  
4 The Open-Closed Principle - Part 1 - The Original Version 3208  
5 Folding Cheat Sheet #6 - Left and right folds and tail recursion 3018  
6 Monad Laws Must Be Checked 2608  
7 Fibonacci Function Gallery - Part 2 2508  
8 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2372  
9 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 2308  
10 Folding Cheat Sheet #7 - The three duality theorems of fold 2264  
11 Fibonacci Function Gallery - Part 1 2209  
12 The Functional Programming Triad of map, filter and fold 2188  
13 Function Applicative for Great Good of Leap Year Function 2183  
14 Folding Cheat Sheet #3 - The universal property of fold 2131  
15 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 2121  
16 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 2119  
17 Folding Cheat Sheet #8 - Folding with monoids 1934  
18 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 1927  
19 A Sighting of filterA in Typelevel Rite of Passage 1827  
20 Tagless Final Encoding - Algebras and Interpreters and also Programs 1704  
21 Point-free or Die - Tacit Programming in Haskell 1666  
22 Hand Rolled Applicative User Validation Code Kata 1634  
23 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 1589  
24 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 1547  
25 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1509  
26 Compositionality and Category Theory 1422  
27 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1333  
28 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1285  
29 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 1 1222  
30 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 1096  
31 Scala Left Fold Parallelisation - Three Approaches 1090  
32 The Expression Problem Part 1 1078  
33 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 1052  
34 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 988  
35 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 965  
36 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 964  
37 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 927  
38 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 904  
39 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 897  
40 Definitions of Functional Programming 894  
41 Computer Graphics in Java and Scala - Part 1 894  
42 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 889  
43 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 887  
44 The Expression Problem Part 2 860  
45 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 856  
46 Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1 853  
47 The Sieve of Eratosthenes - Part 1 849  
48 Kleisli Composition 848  
49 Applicative Functor - Part 2 848  
50 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 830  
51 From Scala Monadic Effects to Unison Algebraic Effects 830  
52 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 822  
53 Applicative Functor - Part 1 805  
54 Folding Unfolded - Part 1 794  
55 A sighting of traverse_ in Practical FP in Scala 792  
56 Monad Fact #4 789  
57 Computer Graphics in Java and Scala - Part 1b 789  
58 Monad Fact #1 783  
59 Game of Life - Polyglot FP - Haskell and Scala - Part 1 778  
60 Folding Unfolded - Part 2 775  
61 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 769  
62 Scala 3 enum for a terser Option Monad Algebraic Data Type 765  
63 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 758  
64 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 749  
65 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 746  
66 A sighting of sequence function in Practical FP in Scala 745  
67 ‘go-to’ general-purpose sequential collections - from Java To Scala 744  
68 The Monad Fact Series 741  
69 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 732  
70 The Uniform Access Principle 725  
71 A sighting of traverseFilter and foldMap in Practical FP in Scala 715  
72 Sum and Product Types - The Fruit Salad & Fruit Snack Example 715  
73 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 714  
74 Monad Fact #6 711  
75 Fusing Transformations of Strict Scala Collections with Views 709  
76 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 709  
77 Applicative Functor - Part 3 704  
78 Monad Fact #3 704  
79 Arrive at monads by going from composition of pure functions to composition of effectful functions 699  
80 Function Applicative for Great Good of Palindrome Checker Function 699  
81 Functor Laws 698  
82 Folding Unfolded - Part 4 694  
83 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 693  
84 Game of Life - Polyglot FP - Haskell and Scala - Part 3 692  
85 Folding Unfolded - Part 3 691  
86 Monad Fact #2 690  
87 The aggregate function - from sequential and parallel folds to parallel aggregation 687  
88 Folding Unfolded - Part 5 682  
89 Monad Fact #5 672  
90 Functional Effects - Part 1 641  
91 Game of Life - Polyglot FP - Haskell and Scala - Part 2 634  
92 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 631  
93 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 620  
94 Folding Cheat Sheet Series Titles 620  
95 Monoids - Part 1 - With examples using Scalaz and Cats 604  
96 Functional Effects - Part 2 602  
97 Sequence and Traverse - Part 3 598  
98 Sequence and Traverse - Part 1 595  
99 Natural Transformations 589  
100 Sequence and Traverse - Part 2 585  
101 State Monad 580  
102 Monoids - Part 2 - With examples using Scalaz and Cats 563  
103 Writer Monad for logging execution of functions 551  
104 Ad hoc Polymorphism using Type Classes and Cats 548  
105 Monads do not Compose 434  
106 Functor Composition 428  
107 Function Composition - forward composition versus backward composition 418  
108 Monad Transformers - Part 1 408  
109 Addendum to `Monads do not Compose` 407  
110 Monad as Functor with pair of Natural Transformations 396  
111 De Morgan's Laws are Monoid Homomorphisms 392  
112 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 376  
113 Year when lambda functions were introduced in various languages 367  
114 Non-strict functions, bottom, and Scala by-name parameters 271