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

# Title Views  
1 Non-strict functions, bottom, and Scala by-name parameters 48  
2 Year when lambda functions were introduced in various languages 171  
3 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 173  
4 De Morgan's Laws are Monoid Homomorphisms 179  
5 Monad as Functor with pair of Natural Transformations 187  
6 Functor Composition 191  
7 Function Composition - forward composition versus backward composition 193  
8 Monad Transformers - Part 1 200  
9 Addendum to `Monads do not Compose` 207  
10 Monads do not Compose 215  
11 Ad hoc Polymorphism using Type Classes and Cats 353  
12 Writer Monad for logging execution of functions 353  
13 State Monad 358  
14 Monoids - Part 2 - With examples using Scalaz and Cats 364  
15 Functional Effects - Part 2 364  
16 Folding Cheat Sheet Series Titles 370  
17 Natural Transformations 371  
18 Sequence and Traverse - Part 2 375  
19 Sequence and Traverse - Part 1 385  
20 Sequence and Traverse - Part 3 387  
21 Monoids - Part 1 - With examples using Scalaz and Cats 393  
22 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 393  
23 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 398  
24 Functional Effects - Part 1 402  
25 Game of Life - Polyglot FP - Haskell and Scala - Part 2 420  
26 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 423  
27 Game of Life - Polyglot FP - Haskell and Scala - Part 3 460  
28 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 462  
29 Monad Fact #5 467  
30 Functor Laws 467  
31 Folding Unfolded - Part 5 467  
32 Applicative Functor - Part 3 468  
33 Function Applicative for Great Good of Palindrome Checker Function 469  
34 Folding Unfolded - Part 4 474  
35 Folding Unfolded - Part 3 482  
36 The aggregate function - from sequential and parallel folds to parallel aggregation 484  
37 Arrive at monads by going from composition of pure functions to composition of effectful functions 486  
38 Monad Fact #2 488  
39 Fusing Transformations of Strict Scala Collections with Views 493  
40 ‘go-to’ general-purpose sequential collections - from Java To Scala 497  
41 Monad Fact #3 498  
42 Sum and Product Types - The Fruit Salad & Fruit Snack Example 498  
43 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 501  
44 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 502  
45 The Uniform Access Principle 506  
46 Monad Fact #6 507  
47 Scala 3 enum for a terser Option Monad Algebraic Data Type 507  
48 A sighting of traverseFilter and foldMap in Practical FP in Scala 514  
49 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 514  
50 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 518  
51 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 524  
52 A sighting of sequence function in Practical FP in Scala 534  
53 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 539  
54 The Monad Fact Series 540  
55 Game of Life - Polyglot FP - Haskell and Scala - Part 1 543  
56 Folding Unfolded - Part 2 545  
57 Applicative Functor - Part 1 547  
58 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 550  
59 Computer Graphics in Java and Scala - Part 1b 558  
60 Monad Fact #4 558  
61 Monad Fact #1 559  
62 From Scala Monadic Effects to Unison Algebraic Effects 562  
63 The Sieve of Eratosthenes - Part 1 564  
64 A sighting of traverse_ in Practical FP in Scala 566  
65 Folding Unfolded - Part 1 567  
66 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 581  
67 Kleisli Composition 582  
68 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 585  
69 Applicative Functor - Part 2 597  
70 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 598  
71 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 601  
72 The Expression Problem Part 2 625  
73 Computer Graphics in Java and Scala - Part 1 626  
74 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 627  
75 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 647  
76 Definitions of Functional Programming 659  
77 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 676  
78 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 685  
79 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 694  
80 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 701  
81 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 710  
82 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 721  
83 Scala Left Fold Parallelisation - Three Approaches 844  
84 The Expression Problem Part 1 855  
85 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 934  
86 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 985  
87 Compositionality and Category Theory 1198  
88 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1244  
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 1299  
90 Hand Rolled Applicative User Validation Code Kata 1330  
91 Tagless Final Encoding - Algebras and Interpreters and also Programs 1420  
92 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 1447  
93 A Sighting of filterA in Typelevel Rite of Passage 1575  
94 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 1601  
95 Folding Cheat Sheet #8 - Folding with monoids 1678  
96 Monad Laws Must Be Checked 1697  
97 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 1702  
98 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 1863  
99 The Functional Programming Triad of map, filter and fold 1865  
100 Folding Cheat Sheet #3 - The universal property of fold 1885  
101 Function Applicative for Great Good of Leap Year Function 1896  
102 Fibonacci Function Gallery - Part 1 1925  
103 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1974  
104 Folding Cheat Sheet #7 - The three duality theorems of fold 2016  
105 Folding Cheat Sheet #6 - Left and right folds and tail recursion 2130  
106 Fibonacci Function Gallery - Part 2 2212  
107 The Open-Closed Principle - Part 1 - The Original Version 2258  
108 N-Queens Combinatorial Puzzle meets Cats 2320  
109 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 2959  
110 Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid 5654