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