SlideShare a Scribd company logo
Functional Programming for the Rest of Us in Javascript
FP Concepts Higher Order Functions
Closure
Currying
Lazy Evaluation
Higher Order Functions Functions are First class objects

More Related Content

What's hot (20)

LISP: Introduction to lisp
LISP: Introduction to lisp
DataminingTools Inc
 
Introduction to Programming in LISP
Introduction to Programming in LISP
Knoldus Inc.
 
Lisp
Lisp
Aniruddha Chakrabarti
 
Lisp
Lisp
sonukumar142
 
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
Frank Nielsen
 
Learn a language : LISP
Learn a language : LISP
Devnology
 
Lisp
Lisp
huzaifa ramzan
 
Why fp
Why fp
Антон Плешивцев
 
Quick Select (Decrease and Conquer)
Quick Select (Decrease and Conquer)
Gem WeBlog
 
Lisp
Lisp
Fraboni Ec
 
Lisp Programming Languge
Lisp Programming Languge
Yaser Jaradeh
 
Data structure and algorithm All in One
Data structure and algorithm All in One
jehan1987
 
stack & queue
stack & queue
manju rani
 
Scheme Programming Language
Scheme Programming Language
Reham AlBlehid
 
Chapter 6 ds
Chapter 6 ds
Hanif Durad
 
Gentle Introduction To Lisp
Gentle Introduction To Lisp
Damien Garaud
 
The Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhone
James Long
 
Best,worst,average case .17581556 045
Best,worst,average case .17581556 045
university of Gujrat, pakistan
 
Unit II - LINEAR DATA STRUCTURES
Unit II - LINEAR DATA STRUCTURES
Usha Mahalingam
 
Scheme language
Scheme language
JITENDRA LENKA
 
Introduction to Programming in LISP
Introduction to Programming in LISP
Knoldus Inc.
 
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
(chapter 7) A Concise and Practical Introduction to Programming Algorithms in...
Frank Nielsen
 
Learn a language : LISP
Learn a language : LISP
Devnology
 
Quick Select (Decrease and Conquer)
Quick Select (Decrease and Conquer)
Gem WeBlog
 
Lisp Programming Languge
Lisp Programming Languge
Yaser Jaradeh
 
Data structure and algorithm All in One
Data structure and algorithm All in One
jehan1987
 
Scheme Programming Language
Scheme Programming Language
Reham AlBlehid
 
Gentle Introduction To Lisp
Gentle Introduction To Lisp
Damien Garaud
 
The Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhone
James Long
 
Unit II - LINEAR DATA STRUCTURES
Unit II - LINEAR DATA STRUCTURES
Usha Mahalingam
 

Viewers also liked (6)

From Shit To Fit!
From Shit To Fit!
Tomas Bay
 
Tantravanindia2
Tantravanindia2
Berendbotje00
 
Storytellingdigital 110110082814-phpapp02
Storytellingdigital 110110082814-phpapp02
Joanie McMahon MS,BSN,RN
 
Mercy Medical Center Flood of June 2008-Lessons Learned by Nurse Joanie
Mercy Medical Center Flood of June 2008-Lessons Learned by Nurse Joanie
Joanie McMahon MS,BSN,RN
 
leanne greens evaluation
leanne greens evaluation
leannegreen123
 
From Shit To Fit!
From Shit To Fit!
Tomas Bay
 
Mercy Medical Center Flood of June 2008-Lessons Learned by Nurse Joanie
Mercy Medical Center Flood of June 2008-Lessons Learned by Nurse Joanie
Joanie McMahon MS,BSN,RN
 
leanne greens evaluation
leanne greens evaluation
leannegreen123
 
Ad

Recently uploaded (20)

Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
Ad

Functional Programming for the Rest of Us in Javascript

Editor's Notes

  • #2: *introduction* fp4us is an introduction to fp concepts using javascript which is inherently functional what is functional? fn as first class => fns as args, fns as returns rest of us? => rest of us who dont use the functional power of js or rest of us for whom fn languages are hard to grasp *benefits* (skip) Immutable => final in java, not in js, immutability in haskell, lisp Stateless -> Recursion, No side effects => Easy unit testing, Easy debugging Concurrency => parallelizable High availability
  • #4: HOF fns as args fns that return fn as args example using uppercase, lowercase Closure ex: delta in HOF example Other examples in currying
  • #5: Currying partial application of functions Haskell Curry analogy for curry - precooked js does not have currying built in but its easier to extend bcos fns are first class objects currying left is common in haskell currying right is possible in js Recursion ex: power in currying example
  • #6: Lazy evaluation: fun vs fun() in js fun vs (fun) in Lisp Infinite data structures Infinite sequence, fibonacci generator