113 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 7010  
2 Folding Cheat Sheet #1 - Folding over recursively defined data structures for natural numbers and lists 3129  
3 N-Queens Combinatorial Puzzle meets Cats 2953  
4 The Open-Closed Principle - Part 1 - The Original Version 2867  
5 Folding Cheat Sheet #6 - Left and right folds and tail recursion 2701  
6 Fibonacci Function Gallery - Part 2 2391  
7 Monad Laws Must Be Checked 2297  
8 List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 2218  
9 Folding Cheat Sheet #7 - The three duality theorems of fold 2169  
10 Fibonacci Function Gallery - Part 1 2088  
11 Function Applicative for Great Good of Leap Year Function 2069  
12 The Functional Programming Triad of map, filter and fold 2049  
13 Folding Cheat Sheet #3 - The universal property of fold 2029  
14 Folding Cheat Sheet #2 - Programmatic and mathematical definitions of right fold and left fold 2022  
15 Lambda Expressions and Java 8 - Lambda Calculus, Lambda Expressions, Syntactic Sugar, First Class Functions 2002  
16 Drawing Heighway’s Dragon - Part 1 - Recursive Function Rewrite - From Imperative Style in Pascal 64 To Functional Style in Scala 3 1977  
17 Folding Cheat Sheet #8 - Folding with monoids 1836  
18 The Open-Closed Principle - Part 2 - The Contemporary Version - An Introduction 1802  
19 A Sighting of filterA in Typelevel Rite of Passage 1733  
20 Tagless Final Encoding - Algebras and Interpreters and also Programs 1578  
21 Point-free or Die - Tacit Programming in Haskell 1526  
22 Hand Rolled Applicative User Validation Code Kata 1507  
23 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 1443  
24 From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism - An Example 1404  
25 Compositionality and Category Theory 1328  
26 ApplicativeError functions handling and recovering from errors: A mnemonic to recall their signatures from their names 1255  
27 Folding Cheat Sheet #9 - List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate' 1199  
28 The Nature of Complexity in John Ousterhout’s Philosophy of Software Design 1182  
29 The Expression Problem Part 1 984  
30 Scala Left Fold Parallelisation - Three Approaches 984  
31 Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation 961  
32 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Java 913  
33 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 1 867  
34 Algebraic Data Types for Data Oriented Programming - From Haskell and Scala to Java 854  
35 Drawing Heighway’s Dragon - Part 3 - Simplification Through Separation of Concerns - Rotation Without Matrix Multiplication 852  
36 Folding Cheat Sheet #5 - Folding a list right and left using Cons and Nil results in the identity and reverse functions 818  
37 Definitions of Functional Programming 794  
38 The Sieve of Eratosthenes - Part 2 - Genuine versus Unfaithful Sieve 794  
39 Drawing Heighway’s Dragon - Part 2 - Recursive Function Simplification - From 2^n Recursive Invocations To n Tail-Recursive Invocations Exploiting Self-Similarity 787  
40 Computer Graphics in Java and Scala - Part 1 782  
41 Kleisli composition, flatMap, join, map, unit - implementation and interrelation - V2 updated for Scala 3 776  
42 The Expression Problem Part 2 750  
43 Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, Adapted to Scala 744  
44 Applicative Functor - Part 2 744  
45 Kleisli Composition 737  
46 The Sieve of Eratosthenes - Part 1 723  
47 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 3 722  
48 Nat, List and Option Monoids - From scratch - Combining and Folding - An example 722  
49 Applicative Functor - Part 1 712  
50 From Scala Monadic Effects to Unison Algebraic Effects 711  
51 Functional Core and Imperative Shell - Game of Life Example - Haskell and Scala 709  
52 A sighting of traverse_ in Practical FP in Scala 706  
53 Folding Unfolded - Part 1 706  
54 Computer Graphics in Java and Scala - Part 1b 694  
55 Monad Fact #4 688  
56 Folding Unfolded - Part 2 687  
57 Game of Life - Polyglot FP - Haskell and Scala - Part 1 684  
58 Monad Fact #1 680  
59 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 2 670  
60 Quicksort - a whistle-stop tour of the algorithm in five languages and four paradigms 662  
61 Scala 3 enum for a terser Option Monad Algebraic Data Type 661  
62 The Monad Fact Series 659  
63 A sighting of sequence function in Practical FP in Scala 655  
64 ‘go-to’ general-purpose sequential collections - from Java To Scala 647  
65 N-Queens Combinatorial Problem - Polyglot FP for Fun and Profit – Haskell and Scala - Part 4 646  
66 Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala 642  
67 Test Doubles - Terminology, Definitions and Illustrations - with Examples - Part 1 641  
68 Side by Side - Scala and Java Adaptations of Martin Fowler’s Javascript Refactoring Example 632  
69 A sighting of traverseFilter and foldMap in Practical FP in Scala 631  
70 Monad Fact #6 625  
71 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 1 624  
72 The Uniform Access Principle 622  
73 Monad Fact #3 620  
74 Fusing Transformations of Strict Scala Collections with Views 618  
75 Sum and Product Types - The Fruit Salad & Fruit Snack Example 617  
76 Applicative Functor - Part 3 609  
77 The aggregate function - from sequential and parallel folds to parallel aggregation 608  
78 Monad Fact #2 607  
79 Folding Unfolded - Part 3 607  
80 Arrive at monads by going from composition of pure functions to composition of effectful functions 607  
81 Function Applicative for Great Good of Palindrome Checker Function 606  
82 Folding Unfolded - Part 4 602  
83 Game of Life - Polyglot FP - Haskell and Scala - Part 3 600  
84 The Functional Programming Triad of Folding, Scanning and Iteration - A first example in Scala and Haskell 598  
85 The Debt Metaphor - Ward Cunningham in his 2009 YouTube video 596  
86 Folding Unfolded - Part 5 590  
87 Monad Fact #5 587  
88 Functor Laws 582  
89 Functional Effects - Part 1 550  
90 Left and Right Folds - Comparison of a mathematical definition and a programmatic one 542  
91 Game of Life - Polyglot FP - Haskell and Scala - Part 2 537  
92 Folding Cheat Sheet Series Titles 531  
93 Scala 3 by Example - Algebraic Data Types for Domain Driven Design - Part 2 522  
94 Monoids - Part 1 - With examples using Scalaz and Cats 522  
95 Sequence and Traverse - Part 1 507  
96 Sequence and Traverse - Part 3 505  
97 Functional Effects - Part 2 503  
98 Sequence and Traverse - Part 2 488  
99 Monoids - Part 2 - With examples using Scalaz and Cats 488  
100 Natural Transformations 486  
101 State Monad 481  
102 Ad hoc Polymorphism using Type Classes and Cats 468  
103 Writer Monad for logging execution of functions 468  
104 Monads do not Compose 341  
105 Addendum to `Monads do not Compose` 325  
106 Monad Transformers - Part 1 322  
107 Monad as Functor with pair of Natural Transformations 317  
108 Functor Composition 313  
109 Function Composition - forward composition versus backward composition 311  
110 De Morgan's Laws are Monoid Homomorphisms 300  
111 Symmetry in the interrelation of flatMap/foldMap/traverse and flatten/fold/sequence 294  
112 Year when lambda functions were introduced in various languages 284  
113 Non-strict functions, bottom, and Scala by-name parameters 183