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

# Title Views  
1 Non-strict functions, bottom, and Scala by-name parameters 347  
2 Year when lambda functions were introduced in various languages 429  
3 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 443  
4 De Morgan's Laws are Monoid Homomorphisms 460  
5 Addendum to `Monads do not Compose` 472  
6 Monad as Functor with pair of Natural Transformations 472  
7 Monad Transformers - Part 1 478  
8 Functor Composition 498  
9 Function Composition - forward composition versus backward composition 503  
10 Monads do not Compose 506  
11 Ad hoc Polymorphism using Type Classes and Cats 610  
12 Writer Monad for logging execution of functions 619  
13 Monoids - Part 2 - With examples using Scalaz and Cats 626  
14 Sequence and Traverse - Part 2 649  
15 State Monad 651  
16 Natural Transformations 660  
17 Sequence and Traverse - Part 1 670  
18 Sequence and Traverse - Part 3 671  
19 Functional Effects - Part 2 673  
20 Monoids - Part 1 - With examples using Scalaz and Cats 674  
21 Folding Cheat Sheet Series Titles 692  
22 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 698  
23 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 699  
24 Game of Life - Polyglot FP - Haskell and Scala - Part 2 709  
25 Functional Effects - Part 1 712  
26 Monad Fact #2 746  
27 Folding Unfolded - Part 5 747  
28 Game of Life - Polyglot FP - Haskell and Scala - Part 3 750  
29 The aggregate function - from sequential and parallel folds to parallel aggregation 759  
30 Monad Fact #5 759  
31 Folding Unfolded - Part 4 759  
32 Folding Unfolded - Part 3 763  
33 Applicative Functor - Part 3 766  
34 Monad Fact #3 769  
35 Functor Laws 773  
36 Function Applicative for Great Good of Palindrome Checker Function 774  
37 Fusing Transformations of Strict Scala Collections with Views 779  
38 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 779  
39 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 780  
40 Arrive at monads by going from composition of pure functions to composition of effectful functions 781  
41 The Uniform Access Principle 784  
42 Monad Fact #6 784  
43 A sighting of traverseFilter and foldMap in Practical FP in Scala 792  
44 Sum and Product Types - The Fruit Salad & Fruit Snack Example 801  
45 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 808  
46 The Monad Fact Series 809  
47 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 812  
48 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 814  
49 ‘go-to’ general-purpose sequential collections - from Java To Scala 816  
50 A sighting of sequence function in Practical FP in Scala 822  
51 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 825  
52 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 827  
53 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 839  
54 Folding Unfolded - Part 2 842  
55 Scala 3 enum for a terser Option Monad Algebraic Data Type 844  
56 Monad Fact #4 857  
57 A sighting of traverse_ in Practical FP in Scala 863  
58 Folding Unfolded - Part 1 864  
59 Applicative Functor - Part 1 869  
60 Computer Graphics in Java and Scala - Part 1b 874  
61 Game of Life - Polyglot FP - Haskell and Scala - Part 1 879  
62 Monad Fact #1 882  
63 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 900  
64 Applicative Functor - Part 2 914  
65 The Sieve of Eratosthenes - Part 1 918  
66 From Scala Monadic Effects to Unison Algebraic Effects 922  
67 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 927  
68 Kleisli Composition 933  
69 The Expression Problem Part 2 939  
70 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 944  
71 AI Concepts - MCP Neurons 954  
72 Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1 967  
73 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 973  
74 Definitions of Functional Programming 973  
75 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 977  
76 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 979  
77 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 987  
78 Computer Graphics in Java and Scala - Part 1 989  
79 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 1017  
80 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 1039  
81 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 1060  
82 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 1068  
83 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 1157  
84 The Expression Problem Part 1 1158  
85 Scala Left Fold Parallelisation - Three Approaches 1183  
86 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 1225  
87 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 2 1227  
88 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1394  
89 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1432  
90 Compositionality and Category Theory 1489  
91 Combinatorial Interview Problems with Backtracking Solutions - from Procedural to Functional Programming - Part 1 1503  
92 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1598  
93 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 1634  
94 Hand Rolled Applicative User Validation Code Kata 1712  
95 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 1761  
96 Point-free or Die - Tacit Programming in Haskell 1789  
97 Tagless Final Encoding - Algebras and Interpreters and also Programs 1812  
98 A Sighting of filterA in Typelevel Rite of Passage 1916  
99 Folding Cheat Sheet #8 - Folding with monoids 2011  
100 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 2012  
101 Folding Cheat Sheet #3 - The universal property of fold 2208  
102 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 2209  
103 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 2254  
104 Function Applicative for Great Good of Leap Year Function 2263  
105 The Functional Programming Triad of map, filter and fold 2300  
106 Fibonacci Function Gallery - Part 1 2307  
107 Folding Cheat Sheet #7 - The three duality theorems of fold 2351  
108 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2510  
109 Fibonacci Function Gallery - Part 2 2609  
110 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 2659  
111 Monad Laws Must Be Checked 2933  
112 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3333  
113 Folding Cheat Sheet #6 - Left and right folds and tail recursion 3348  
114 The Open-Closed Principle - Part 1 - The Original Version 3573  
115 N-Queens Combinatorial Puzzle meets Cats 3746  
116 Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid 8569