SlideShare a Scribd company logo
1 of 101
Download to read offline
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
∴

More Related Content

What's hot

Search Content vs. Social Content
Search Content vs. Social ContentSearch Content vs. Social Content
Search Content vs. Social ContentSemrush
 
Data Driven Real Estate Instructor Development
Data Driven Real Estate Instructor DevelopmentData Driven Real Estate Instructor Development
Data Driven Real Estate Instructor DevelopmentDoug Devitre
 
This Isn't 'Big Data.' It's Just Bad Data.
This Isn't 'Big Data.' It's Just Bad Data.This Isn't 'Big Data.' It's Just Bad Data.
This Isn't 'Big Data.' It's Just Bad Data.Peter Orszag
 
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization Templates
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization TemplatesUngagged 2015 Las Vegas 17 SEO, Conversion & Monetization Templates
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization TemplatesRoland Frasier
 
Great Speakers Tell Stories
Great Speakers Tell StoriesGreat Speakers Tell Stories
Great Speakers Tell StoriesSlides That Rock
 
How To Create The Perfect Offer
How To Create The Perfect OfferHow To Create The Perfect Offer
How To Create The Perfect OfferPerry Belcher
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalAleyda Solís
 
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsFight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsDigital Surgeons
 
Design for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More FeaturesDesign for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More FeaturesVitaly Golomb
 
14 Tips to Entrepreneurs to start the Right Stuff
14 Tips to Entrepreneurs to start the Right Stuff14 Tips to Entrepreneurs to start the Right Stuff
14 Tips to Entrepreneurs to start the Right StuffPatrick Stähler
 
Startup Ideas and Validation
Startup Ideas and ValidationStartup Ideas and Validation
Startup Ideas and ValidationYevgeniy Brikman
 
Product Development How To Develop A Product Line
Product Development How To Develop A Product LineProduct Development How To Develop A Product Line
Product Development How To Develop A Product LineRoland Frasier
 
The Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipThe Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipRand Fishkin
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsSven Peters
 
Healthcare Napkins All
Healthcare Napkins AllHealthcare Napkins All
Healthcare Napkins AllDan Roam
 
Impact of AI on Business Intelligence
Impact of AI on Business IntelligenceImpact of AI on Business Intelligence
Impact of AI on Business IntelligenceDeesha Mukherjee
 
Build a Kickass team - no pingpong table required
Build a Kickass team  - no pingpong table requiredBuild a Kickass team  - no pingpong table required
Build a Kickass team - no pingpong table requiredFrancois Mazoudier
 
10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a JournalLouis-Xavier Lavallée
 

What's hot (20)

Search Content vs. Social Content
Search Content vs. Social ContentSearch Content vs. Social Content
Search Content vs. Social Content
 
Data Driven Real Estate Instructor Development
Data Driven Real Estate Instructor DevelopmentData Driven Real Estate Instructor Development
Data Driven Real Estate Instructor Development
 
This Isn't 'Big Data.' It's Just Bad Data.
This Isn't 'Big Data.' It's Just Bad Data.This Isn't 'Big Data.' It's Just Bad Data.
This Isn't 'Big Data.' It's Just Bad Data.
 
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization Templates
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization TemplatesUngagged 2015 Las Vegas 17 SEO, Conversion & Monetization Templates
Ungagged 2015 Las Vegas 17 SEO, Conversion & Monetization Templates
 
Great Speakers Tell Stories
Great Speakers Tell StoriesGreat Speakers Tell Stories
Great Speakers Tell Stories
 
How To Create The Perfect Offer
How To Create The Perfect OfferHow To Create The Perfect Offer
How To Create The Perfect Offer
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigital
 
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush PresentationsFight for Yourself: How to Sell Your Ideas and Crush Presentations
Fight for Yourself: How to Sell Your Ideas and Crush Presentations
 
chatgpt dalle.pptx
chatgpt dalle.pptxchatgpt dalle.pptx
chatgpt dalle.pptx
 
Design for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More FeaturesDesign for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More Features
 
14 Tips to Entrepreneurs to start the Right Stuff
14 Tips to Entrepreneurs to start the Right Stuff14 Tips to Entrepreneurs to start the Right Stuff
14 Tips to Entrepreneurs to start the Right Stuff
 
Your Sales Pitch Sucks!
Your Sales Pitch Sucks!Your Sales Pitch Sucks!
Your Sales Pitch Sucks!
 
Startup Ideas and Validation
Startup Ideas and ValidationStartup Ideas and Validation
Startup Ideas and Validation
 
Product Development How To Develop A Product Line
Product Development How To Develop A Product LineProduct Development How To Develop A Product Line
Product Development How To Develop A Product Line
 
The Hard Truths of Entrepreneurship
The Hard Truths of EntrepreneurshipThe Hard Truths of Entrepreneurship
The Hard Truths of Entrepreneurship
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful Teams
 
Healthcare Napkins All
Healthcare Napkins AllHealthcare Napkins All
Healthcare Napkins All
 
Impact of AI on Business Intelligence
Impact of AI on Business IntelligenceImpact of AI on Business Intelligence
Impact of AI on Business Intelligence
 
Build a Kickass team - no pingpong table required
Build a Kickass team  - no pingpong table requiredBuild a Kickass team  - no pingpong table required
Build a Kickass team - no pingpong table required
 
10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal10 Reasons Why Successful Leaders Are Keeping a Journal
10 Reasons Why Successful Leaders Are Keeping a Journal
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
DATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etcDATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etclalithasri22
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaManalVerma4
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfblazblazml
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...Jack Cole
 
Rithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfRithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfrahulyadav957181
 
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdf
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdfWorld Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdf
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdfsimulationsindia
 
knowledge representation in artificial intelligence
knowledge representation in artificial intelligenceknowledge representation in artificial intelligence
knowledge representation in artificial intelligencePriyadharshiniG41
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...Dr Arash Najmaei ( Phd., MBA, BSc)
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Boston Institute of Analytics
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectBoston Institute of Analytics
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformationAnnie Melnic
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfNon Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfPratikPatil591646
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Boston Institute of Analytics
 
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...boychatmate1
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfNicoChristianSunaryo
 

Recently uploaded (20)

FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use2023 Survey Shows Dip in High School E-Cigarette Use
2023 Survey Shows Dip in High School E-Cigarette Use
 
DATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etcDATA ANALYSIS using various data sets like shoping data set etc
DATA ANALYSIS using various data sets like shoping data set etc
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in India
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
 
Rithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdfRithik Kumar Singh codealpha pythohn.pdf
Rithik Kumar Singh codealpha pythohn.pdf
 
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdf
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdfWorld Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdf
World Economic Forum Metaverse Ecosystem By Utpal Chakraborty.pdf
 
Insurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis ProjectInsurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis Project
 
knowledge representation in artificial intelligence
knowledge representation in artificial intelligenceknowledge representation in artificial intelligence
knowledge representation in artificial intelligence
 
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
6 Tips for Interpretable Topic Models _ by Nicha Ruchirawat _ Towards Data Sc...
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis Project
 
Role of Consumer Insights in business transformation
Role of Consumer Insights in business transformationRole of Consumer Insights in business transformation
Role of Consumer Insights in business transformation
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdfNon Text Magic Studio Magic Design for Presentations L&P.pdf
Non Text Magic Studio Magic Design for Presentations L&P.pdf
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
 
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
 
Digital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdfDigital Indonesia Report 2024 by We Are Social .pdf
Digital Indonesia Report 2024 by We Are Social .pdf
 

Data Made Out of Functions