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