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

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