SlideShare ist ein Scribd-Unternehmen logo
1 von 101
data made
out of
functions
#ylj2016
@KenScambler
λλλλλ
λλ λλ
λ λ
λ λ
λ λ λ λ
λ λ
λ λ λ λ
λ λλλλ λ
λ λ
λλ λλ
λλλλλ
For faster
monads!
Diogenes of Sinope
412 – 323 BC
Diogenes of Sinope
412 – 323 BC
• Simplest man of all time
• Obnoxious hobo
• Lived in a barrel
I’ve been using this bowl
like a sucker!
Um….
what
"abcd"
IF x THEN y ELSE z
WHILE cond {…}
[a, b, c, d]
BOOL
INT
STRUCT {
fields…
}
λa -> b
IF x THEN y ELSE z
WHILE cond {…}
[a, b, c, d]
BOOL
INT
STRUCT {
fields…
}
λa -> b
Strings are
pretty much
arrays
IF x THEN y ELSE z
[a, b, c, d]
BOOL
INT
STRUCT {
fields…
}
λa -> b
Recursion can
do loops
IF x THEN y ELSE z
[a,b,c,d]
BOOL
INT
STRUCT {
fields…
}
λa -> b
Recursive data
structures can do
lists
IF x THEN y ELSE z
[a,b,c,d]
INT
STRUCT {
fields…
}
λa -> b
Ints can do bools
IF x THEN y ELSE z
[a,b,c,d]
INT
STRUCT {
fields…
}
λa -> b
[a,b,c,d]
STRUCT
λa -> b
Alonzo Church
1903 - 1995
λa -> b
Lambda calculus
λa -> b
Alonzo Church
1903 - 1995
Lambda calculus
We can make any
data structure out of
functions!
Church encoding
Booleans
Bool
Church booleans
resultBool
Church booleans
resultBool
If we define everything you
can do with a structure, isn’t
that the same as defining
the structure itself?
TRUE
FALSE
or
TRUE
FALSE
or
result
“What we do if
it’s true”
“What we do if
it’s false”
TRUE
FALSE
or
result
TRUE
FALSE
or
result
result
result
()
()
result
result
result
result
result
result
r r r
The Church encoding
of a boolean is:
type CBool = forall r. r -> r -> r
cTrue :: CBool
cTrue x y = x
cFalse :: CBool
cFalse x y = y
cNot :: CBool -> CBool
cNot cb = cb cFalse cTrue
cAnd :: CBool -> CBool -> CBool
cAnd cb1 cb2 = cb1 cb2 cFalse
cOr :: CBool -> CBool -> CBool
cOr cb1 cb2 = cb1 cTrue cb2
Natural numbers
0
1
2
3
4
…
Natural numbers
0
0 +1
0 +1 +1
0 +1 +1 +1
0 +1 +1 +1 +1
…
Natural numbers
0
0 +1
0 +1 +1
0 +1 +1 +1
0 +1 +1 +1 +1
…
Giuseppe Peano
1858 - 1932
Natural
numbers form
a data
structure!
Zero
Succ(Nat)
or
Nat =
Natural Peano numbers
Giuseppe Peano
1858 - 1932
or
Nat =
Now lets turn it
into functions!
Zero
Succ(Nat)
Zero
Succ(Nat)
or
result
“If it’s a successor”
or “If it’s zero”
resultZero
Succ(Nat)
result
result
resultor
Zero
Succ(Nat)
Nat
()
result
result
result
Nat result
result
result
Nat result
result
result()
Nat
()
Nat
()
Nat
()
Nat
result
result
result
result
(r r) r
The Church encoding
of natural numbers is:
r
type CNat = forall r. (r -> r) -> r -> r
c0, c1, c2, c3, c4 :: CNat
c0 f z = z
c1 f z = f z
c2 f z = f (f z)
c3 f z = f (f (f z))
c4 f z = f (f (f (f z)))
cSucc :: CNat -> CNat
cSucc cn f = f . cn f
cPlus :: CNat -> CNat -> CNat
cPlus cn1 cn2 f = cn1 f . cn2 f
cMult :: CNat -> CNat -> CNat
cMult cn1 cn2 = cn1 . cn2
type CNat = forall r. (r -> r) -> r -> r
c0, c1, c2, c3, c4 :: CNat
c0 f = id
c1 f = f
c2 f = f . f
c3 f = f . f . f
c4 f = f . f . f . f
cSucc :: CNat -> CNat
cSucc cn f = f . cn f
cPlus :: CNat -> CNat -> CNat
cPlus cn1 cn2 f = cn1 f . cn2 f
cMult :: CNat -> CNat -> CNat
cMult cn1 cn2 = cn1 . cn2
Performance
Native ints Peano numbers Church numbers
addition
print
O(n)
O(n2)
multiplication
O(n) O(n)
O(1)
O(1)
Performance
Native ints Peano numbers Church numbers
addition
print
O(n)
O(n2)
multiplication
O(n) O(n)
O(1)
O(1)
Church encoding cheat sheet
A | B
(A, B)
Singleton
Recursion
(a r) (b r) r
(a r)b r
r
r r
A a r
Nil
Cons(a, List a)
or
List a =
Cons lists
Nil
Cons(a, List a)
or
result
result
result
(a, List a) result
result
result
()
(a, ) result
result
result
result
a result
result
result
result
r r
The Church encoding
of lists is:
r(a ) r
r r
The Church encoding
of lists is:
r(a ) r
AKA: foldr
Functors
a
Functors
f a
a
Functors
f (f a)
They compose!
f a
a
Functors
f (f (f a))
What if we make a
“Church numeral” out of
them?
f (f a)
f a
a
Free monads
f (f (f (f a)))
f (f (f a))
f (f a)
f a
a
Free monad >>=
a
Free monad >>=
a
fmap
Free monad >>=
f a
Free monad >>=
f a
fmap
Free monad >>=
f a
fmap
Free monad >>=
f (f a)
Free monad >>=
f (f a)
fmap
Free monad >>=
f (f a)
fmap
Free monad >>=
f (f a)
fmap
Free monad >>=
f (f (f a))
Free monad >>=
f (f (f a))
fmap
Free monad >>=
f (f (f a))
fmap
Free monad >>=
f (f (f a))
fmap
Free monad >>=
f (f (f a))
fmap
λn  [n+1, n*2]
3
λn  [n+1, n*2]
4 6
λn  [n+1, n*2]
4 6 fmap
λn  [n+1, n*2]
5 8 7 12
λn  [n+1, n*2]
5 8 7 12
fmap
λn  [n+1, n*2]
5 8 7 12 fmap
λn  [n+1, n*2]
6 10 9 16 8 14 13 24
λn  Wrap [Pure (n+1), Pure (n*2)]
3
λn  Wrap [Pure (n+1), Pure (n*2)]
>>=3
4 6
λn  Wrap [Pure (n+1), Pure (n*2)]
4 6
λn  Wrap [Pure (n+1), Pure (n*2)]
>>=
4 6
λn  Wrap [Pure (n+1), Pure (n*2)]
fmap
4 6
λn  Wrap [Pure (n+1), Pure (n*2)]
>>=
λn  Wrap [Pure (n+1), Pure (n*2)]
5 8 7 12
λn  Wrap [Pure (n+1), Pure (n*2)]
5 8 7 12
>>=
λn  Wrap [Pure (n+1), Pure (n*2)]
5 8 7 12
fmap
λn  Wrap [Pure (n+1), Pure (n*2)]
5 8 7 12 >>=
λn  Wrap [Pure (n+1), Pure (n*2)]
5 8 7 12 fmap
λn  Wrap [Pure (n+1), Pure (n*2)]
>>=5 8 7 12
λn  Wrap [Pure (n+1), Pure (n*2)]
6 10 9 16 8 14 13 24
Pure a
Wrap f (Free f a)
or
Free a =
Free monads
Pure a
Wrap f (Free f a)
or
result
result
result
f (Free f a) result
result
result
a
f result
result
result
a
result
r r
The Church encoding
of free monads is:
(f ) rr(a )
r r(f ) rr(a )
>>=
CFree f b
Bind is constant time!
λa -> b
λa -> b
∴
λa -> b
∴

Weitere ähnliche Inhalte

Was ist angesagt?

20 Steps To Your Life Passion
20 Steps To Your Life Passion20 Steps To Your Life Passion
20 Steps To Your Life PassionBarrie Davenport
 
Six things to remember while writing feedback 2020
Six things to remember while writing feedback 2020Six things to remember while writing feedback 2020
Six things to remember while writing feedback 2020Rajesh Soundararajan
 
25 Need-to-Know Marketing Stats
25 Need-to-Know Marketing Stats25 Need-to-Know Marketing Stats
25 Need-to-Know Marketing Statscontently
 
31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & OfflinePixc
 
Activism x Technology
Activism x TechnologyActivism x Technology
Activism x TechnologyWebVisions
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big DataSeth Familian
 
24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation
24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation
24 Awesome Infographic Ideas to Inspire Your Next Beautiful CreationPiktochart
 
Startups are Hard. Like, Really Hard. @luketucker
Startups are Hard. Like, Really Hard. @luketuckerStartups are Hard. Like, Really Hard. @luketucker
Startups are Hard. Like, Really Hard. @luketuckerEmpowered Presentations
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 
7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games7 Psychological Tactics Used in Games
7 Psychological Tactics Used in GamesDori Adar
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017Carol Smith
 
17 Things Powerful People Say
17 Things Powerful People Say17 Things Powerful People Say
17 Things Powerful People SayGetSmarter
 
How People Are Leveraging ChatGPT
How People Are Leveraging ChatGPTHow People Are Leveraging ChatGPT
How People Are Leveraging ChatGPTRoy Ahuja
 
Top Productivity Working Hacks by Jan Rezab
Top Productivity Working Hacks by Jan RezabTop Productivity Working Hacks by Jan Rezab
Top Productivity Working Hacks by Jan RezabJan Rezab
 
Mind-Blowing Facts About National Parks
Mind-Blowing Facts About National ParksMind-Blowing Facts About National Parks
Mind-Blowing Facts About National ParksEthos3
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10Robin Yjord
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeawaysHavas
 
The power of creative collaboration
The power of creative collaborationThe power of creative collaboration
The power of creative collaborationTable19
 

Was ist angesagt? (20)

20 Steps To Your Life Passion
20 Steps To Your Life Passion20 Steps To Your Life Passion
20 Steps To Your Life Passion
 
Six things to remember while writing feedback 2020
Six things to remember while writing feedback 2020Six things to remember while writing feedback 2020
Six things to remember while writing feedback 2020
 
25 Need-to-Know Marketing Stats
25 Need-to-Know Marketing Stats25 Need-to-Know Marketing Stats
25 Need-to-Know Marketing Stats
 
31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline
 
Activism x Technology
Activism x TechnologyActivism x Technology
Activism x Technology
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big Data
 
24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation
24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation
24 Awesome Infographic Ideas to Inspire Your Next Beautiful Creation
 
Startups are Hard. Like, Really Hard. @luketucker
Startups are Hard. Like, Really Hard. @luketuckerStartups are Hard. Like, Really Hard. @luketucker
Startups are Hard. Like, Really Hard. @luketucker
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games7 Psychological Tactics Used in Games
7 Psychological Tactics Used in Games
 
How to Use Photography for Great Presentations
How to Use Photography for Great PresentationsHow to Use Photography for Great Presentations
How to Use Photography for Great Presentations
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 
17 Things Powerful People Say
17 Things Powerful People Say17 Things Powerful People Say
17 Things Powerful People Say
 
How People Are Leveraging ChatGPT
How People Are Leveraging ChatGPTHow People Are Leveraging ChatGPT
How People Are Leveraging ChatGPT
 
Top Productivity Working Hacks by Jan Rezab
Top Productivity Working Hacks by Jan RezabTop Productivity Working Hacks by Jan Rezab
Top Productivity Working Hacks by Jan Rezab
 
Mind-Blowing Facts About National Parks
Mind-Blowing Facts About National ParksMind-Blowing Facts About National Parks
Mind-Blowing Facts About National Parks
 
What happens online every 60 seconds
What happens online every 60 seconds What happens online every 60 seconds
What happens online every 60 seconds
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeaways
 
The power of creative collaboration
The power of creative collaborationThe power of creative collaboration
The power of creative collaboration
 

Andere mochten auch

Presentation on Medicated Chewing Gums
Presentation on Medicated Chewing GumsPresentation on Medicated Chewing Gums
Presentation on Medicated Chewing GumsManoj Kumar Tekuri
 
The Deep Web - How the Deep Web Works
The Deep Web - How the Deep Web WorksThe Deep Web - How the Deep Web Works
The Deep Web - How the Deep Web WorksOmar Samy
 
Japan - An Emerging Civilization
Japan - An Emerging CivilizationJapan - An Emerging Civilization
Japan - An Emerging CivilizationEleven
 
Impossible Is Nothing
Impossible Is NothingImpossible Is Nothing
Impossible Is NothingRichard Dedor
 
Dos and Don'ts of an Engineering Statement of Purpose
Dos and Don'ts of an Engineering Statement of PurposeDos and Don'ts of an Engineering Statement of Purpose
Dos and Don'ts of an Engineering Statement of PurposeSOP Writing
 
Nobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthi
Nobel Peace Prize 2014: Malala Yousafzai and Kailash SatyarthiNobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthi
Nobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthimaditabalnco
 
Clean and green hydrocarbons ignite publish
Clean and green hydrocarbons ignite publishClean and green hydrocarbons ignite publish
Clean and green hydrocarbons ignite publishKrzysztof (Kris) Palka
 
Sustainable Innovation Day
Sustainable Innovation DaySustainable Innovation Day
Sustainable Innovation DayPeter Bertels
 
10 Practical Ways to Be More Efficient at Work
10 Practical Ways to Be More Efficient at Work10 Practical Ways to Be More Efficient at Work
10 Practical Ways to Be More Efficient at WorkWeekdone.com
 
iOS Scroll Performance
iOS Scroll PerformanceiOS Scroll Performance
iOS Scroll PerformanceKyle Sherman
 

Andere mochten auch (20)

Presentation on Medicated Chewing Gums
Presentation on Medicated Chewing GumsPresentation on Medicated Chewing Gums
Presentation on Medicated Chewing Gums
 
The Deep Web - How the Deep Web Works
The Deep Web - How the Deep Web WorksThe Deep Web - How the Deep Web Works
The Deep Web - How the Deep Web Works
 
Deep Web - what to do and what not to do
Deep Web - what to do and what not to do	Deep Web - what to do and what not to do
Deep Web - what to do and what not to do
 
Deep Web
Deep WebDeep Web
Deep Web
 
The Journey
The JourneyThe Journey
The Journey
 
Human Body
Human BodyHuman Body
Human Body
 
Japan - An Emerging Civilization
Japan - An Emerging CivilizationJapan - An Emerging Civilization
Japan - An Emerging Civilization
 
Bubble gum
Bubble gumBubble gum
Bubble gum
 
Impossible Is Nothing
Impossible Is NothingImpossible Is Nothing
Impossible Is Nothing
 
Dos and Don'ts of an Engineering Statement of Purpose
Dos and Don'ts of an Engineering Statement of PurposeDos and Don'ts of an Engineering Statement of Purpose
Dos and Don'ts of an Engineering Statement of Purpose
 
Impossible is Nothing?
Impossible is Nothing?Impossible is Nothing?
Impossible is Nothing?
 
10 facts about japan
10 facts about japan10 facts about japan
10 facts about japan
 
Nobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthi
Nobel Peace Prize 2014: Malala Yousafzai and Kailash SatyarthiNobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthi
Nobel Peace Prize 2014: Malala Yousafzai and Kailash Satyarthi
 
Nobel prize
Nobel prizeNobel prize
Nobel prize
 
Deep web
Deep webDeep web
Deep web
 
Clean and green hydrocarbons ignite publish
Clean and green hydrocarbons ignite publishClean and green hydrocarbons ignite publish
Clean and green hydrocarbons ignite publish
 
Sustainable Innovation Day
Sustainable Innovation DaySustainable Innovation Day
Sustainable Innovation Day
 
10 Practical Ways to Be More Efficient at Work
10 Practical Ways to Be More Efficient at Work10 Practical Ways to Be More Efficient at Work
10 Practical Ways to Be More Efficient at Work
 
iOS Scroll Performance
iOS Scroll PerformanceiOS Scroll Performance
iOS Scroll Performance
 
Testing at Spotify
Testing at SpotifyTesting at Spotify
Testing at Spotify
 

Ähnlich wie Data Made Out of Functions

Datamadeoutoffunctions 160201105803
Datamadeoutoffunctions 160201105803Datamadeoutoffunctions 160201105803
Datamadeoutoffunctions 160201105803FIKRI VIZAY
 
CMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of FunctionsCMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of Functionsallyn joy calcaben
 
Binomial Theorem
Binomial TheoremBinomial Theorem
Binomial Theoremitutor
 
Strong functional programming
Strong functional programmingStrong functional programming
Strong functional programmingEric Torreborre
 
RxJava In Baby Steps
RxJava In Baby StepsRxJava In Baby Steps
RxJava In Baby StepsAnnyce Davis
 
Stressen's matrix multiplication
Stressen's matrix multiplicationStressen's matrix multiplication
Stressen's matrix multiplicationKumar
 
Cinemàtica directa e inversa de manipulador
Cinemàtica directa e inversa de manipuladorCinemàtica directa e inversa de manipulador
Cinemàtica directa e inversa de manipuladorc3stor
 
Math resources trigonometric_formulas
Math resources trigonometric_formulasMath resources trigonometric_formulas
Math resources trigonometric_formulasEr Deepak Sharma
 
Math resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thMath resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thDeepak Kumar
 
Top school in delhi ncr
Top school in delhi ncrTop school in delhi ncr
Top school in delhi ncrEdhole.com
 
Joel Spencer – Finding Needles in Exponential Haystacks
Joel Spencer – Finding Needles in Exponential Haystacks Joel Spencer – Finding Needles in Exponential Haystacks
Joel Spencer – Finding Needles in Exponential Haystacks Yandex
 

Ähnlich wie Data Made Out of Functions (20)

Datamadeoutoffunctions 160201105803
Datamadeoutoffunctions 160201105803Datamadeoutoffunctions 160201105803
Datamadeoutoffunctions 160201105803
 
1506 binomial-coefficients
1506 binomial-coefficients1506 binomial-coefficients
1506 binomial-coefficients
 
Siphon
SiphonSiphon
Siphon
 
CMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of FunctionsCMSC 56 | Lecture 8: Growth of Functions
CMSC 56 | Lecture 8: Growth of Functions
 
Binomial Theorem
Binomial TheoremBinomial Theorem
Binomial Theorem
 
Strong functional programming
Strong functional programmingStrong functional programming
Strong functional programming
 
RxJava In Baby Steps
RxJava In Baby StepsRxJava In Baby Steps
RxJava In Baby Steps
 
Binomial theorem
Binomial theorem Binomial theorem
Binomial theorem
 
Stressen's matrix multiplication
Stressen's matrix multiplicationStressen's matrix multiplication
Stressen's matrix multiplication
 
Graph Algebra
Graph AlgebraGraph Algebra
Graph Algebra
 
economics
economicseconomics
economics
 
Cinemàtica directa e inversa de manipulador
Cinemàtica directa e inversa de manipuladorCinemàtica directa e inversa de manipulador
Cinemàtica directa e inversa de manipulador
 
Math resources trigonometric_formulas
Math resources trigonometric_formulasMath resources trigonometric_formulas
Math resources trigonometric_formulas
 
Math resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thMath resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12th
 
Top school in delhi ncr
Top school in delhi ncrTop school in delhi ncr
Top school in delhi ncr
 
Cs262 2006 lecture6
Cs262 2006 lecture6Cs262 2006 lecture6
Cs262 2006 lecture6
 
Joel Spencer – Finding Needles in Exponential Haystacks
Joel Spencer – Finding Needles in Exponential Haystacks Joel Spencer – Finding Needles in Exponential Haystacks
Joel Spencer – Finding Needles in Exponential Haystacks
 
kmaps
 kmaps kmaps
kmaps
 
Chapter0
Chapter0Chapter0
Chapter0
 
Mergesort
MergesortMergesort
Mergesort
 

Mehr von kenbot

Grow your own tech leads
Grow your own tech leadsGrow your own tech leads
Grow your own tech leadskenbot
 
Applied category theory: the emerging science of compositionality
Applied category theory: the emerging science of compositionalityApplied category theory: the emerging science of compositionality
Applied category theory: the emerging science of compositionalitykenbot
 
Responsible DI: Ditch the Frameworks
Responsible DI: Ditch the FrameworksResponsible DI: Ditch the Frameworks
Responsible DI: Ditch the Frameworkskenbot
 
FP adoption at REA
FP adoption at REAFP adoption at REA
FP adoption at REAkenbot
 
Lenses for the masses - introducing Goggles
Lenses for the masses - introducing GogglesLenses for the masses - introducing Goggles
Lenses for the masses - introducing Goggleskenbot
 
Good functional programming is good programming
Good functional programming is good programmingGood functional programming is good programming
Good functional programming is good programmingkenbot
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mockskenbot
 
2 Years of Real World FP at REA
2 Years of Real World FP at REA2 Years of Real World FP at REA
2 Years of Real World FP at REAkenbot
 
Your data structures are made of maths!
Your data structures are made of maths!Your data structures are made of maths!
Your data structures are made of maths!kenbot
 
Category theory for beginners
Category theory for beginnersCategory theory for beginners
Category theory for beginnerskenbot
 
The disaster of mutable state
The disaster of mutable stateThe disaster of mutable state
The disaster of mutable statekenbot
 
Running Free with the Monads
Running Free with the MonadsRunning Free with the Monads
Running Free with the Monadskenbot
 

Mehr von kenbot (12)

Grow your own tech leads
Grow your own tech leadsGrow your own tech leads
Grow your own tech leads
 
Applied category theory: the emerging science of compositionality
Applied category theory: the emerging science of compositionalityApplied category theory: the emerging science of compositionality
Applied category theory: the emerging science of compositionality
 
Responsible DI: Ditch the Frameworks
Responsible DI: Ditch the FrameworksResponsible DI: Ditch the Frameworks
Responsible DI: Ditch the Frameworks
 
FP adoption at REA
FP adoption at REAFP adoption at REA
FP adoption at REA
 
Lenses for the masses - introducing Goggles
Lenses for the masses - introducing GogglesLenses for the masses - introducing Goggles
Lenses for the masses - introducing Goggles
 
Good functional programming is good programming
Good functional programming is good programmingGood functional programming is good programming
Good functional programming is good programming
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mocks
 
2 Years of Real World FP at REA
2 Years of Real World FP at REA2 Years of Real World FP at REA
2 Years of Real World FP at REA
 
Your data structures are made of maths!
Your data structures are made of maths!Your data structures are made of maths!
Your data structures are made of maths!
 
Category theory for beginners
Category theory for beginnersCategory theory for beginners
Category theory for beginners
 
The disaster of mutable state
The disaster of mutable stateThe disaster of mutable state
The disaster of mutable state
 
Running Free with the Monads
Running Free with the MonadsRunning Free with the Monads
Running Free with the Monads
 

Kürzlich hochgeladen

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxUnduhUnggah1
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Cantervoginip
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 

Kürzlich hochgeladen (20)

INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docx
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Canter
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制南十字星大学毕业证(SCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 

Data Made Out of Functions