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

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