SlideShare a Scribd company logo
All I needed for FP I
learned in High
School Algebra
Eric Normand
1 2 3 4 5 6
•Sum up all the rocks for the year
•Average # of rocks per day
•Biggest week
•Smallest month
For the video and transcript
of this presentation,
click here:
https://lispcast.com/all-i-needed-for-fp-i-learned-in-high-s
chool-algebra/
What makes numbers,
an abstract idea, so
useful for modeling real
piles of rocks?
Correspondence
of
Properties
Information System
Distributed and Concurrent
Parallelization/
Distributed work
In distributed/parallel work, work comes
back out of order
Order doesn’t matter
4
a
2
b+
6
a b+
2
b
4
a+
6
b a+
a + b = b + a
(f a b)
(f a b)
(f b a)
(= (f a b)
(f b a))
(f a)
(g (f a))
(g (f a))
(g a)
(g (f a))
(f (g a))
(= (g (f a))
(f (g a)))
Parallelization/
Distributed work
Need to break up task to give to workers
Need to combine groups of answers
Needs to be cheap to break up and recombine groups
Grouping doesn’t matter
15 3
a b c+ +
6 3
(a + b) c+
9
a + b + c
15 3
a b c+ +
5 4
a (b + c)+
9
a + b + c
(a + b) + c = a + (b + c)
a b c
a b c
(f a b) c
a b c
(f a b) c
a (f b c)
(f (f a b) c)
(f a (f b c))
(f (f a b) c)
(f a (f b c))
(= (f (f a b) c)
(f a (f b c)))
Types
return value of f and its two
arguments need to be the same type
(= (f (f a b) c)
(f a (f b c)))
Whole Values
Combining two piles makes a new pile
Concatenating two lists makes a new list
Self-contained
(defn average [a b]
(/ (+ a b) 2))
(= (average a b) (average b a))
a = 10, b = 4
Order doesn’t
matter
(average 10 4) => 7
(average 4 10) => 7
(= (average (average a b) c)
(average a (average b c)))
a = 10, b = 4, c = 6
(average 10 4) => 7
(average 7 6) => 6.5
(average 4 6) => 5
(average 10 5) => 7.5
Does grouping matter?
function average(numbers) {
var sum = 0;
var count = 0;
for(i = 0; i < numbers.length; i++) {
sum += numbers[i];
count += 1;
}
if(count === 0) {
return null;
}
return sum / count;
}
function average(numbers) {
var sum = 0;
var count = 0;
for(i = 0; i < numbers.length; i++) {
sum += numbers[i];
count += 1;
}
if(count === 0) {
return null;
}
return sum / count;
}
(defn combine [[sum1 count1] [sum2 count2]]
[(+ sum1 sum2) (+ count1 count2)])
(defn ->average [number]
[number 1])
(defn average [numbers]
(reduce combine (map ->average numbers)))?
Where do you start a computation?
a + 0 = a
(f a i)
(= (f a i) a)
(defn combine [[sum1 count1] [sum2 count2]]
[(+ sum1 sum2) (+ count1 count2)])
(defn ->average [number]
[number 1])
(defn average [numbers]
(reduce combine (map ->average numbers)))?
function average(numbers) {
var sum = 0;
var count = 0;
for(i = 0; i < numbers.length; i++) {
sum += numbers[i];
count += 1;
}
if(count === 0) {
return null;
}
return sum / count;
}
(defn combine [[sum1 count1] [sum2 count2]]
[(+ sum1 sum2) (+ count1 count2)])
(defn ->average [number]
[number 1])
(defn average [numbers]
(reduce combine [0 0] (map ->average numbers)))
Going back and forth matters
Great for moving into a new space, doing
a calculation, then moving back
{:name “Eric”
:birthday #inst “1981-07-18”}
"{:name ”Eric”,…}"
pr-str
send
"{:name ”Eric”,…}"
{:name “Eric”
:birthday #inst “1981-07-18”}
read-string
(f a)
(g (f a))
(= (g (f a)) a)
(defn combine [[sum1 count1] [sum2 count2]]
[(+ sum1 sum2) (+ count1 count2)])
(defn ->average [number]
[number 1])
(defn average [numbers]
(reduce combine [0 0]
(map ->average numbers)))
(defn combine [[sum1 count1] [sum2 count2]]
[(+ sum1 sum2) (+ count1 count2)])
(defn ->average [number]
[number 1])
(defn average-> [[sum count]]
(/ sum count))
(defn average [numbers]
(->> numbers
(map ->average)
(reduce combine [0 0])
average->))
Distributed
Messages arrive one or more times
Distributed
Independent workers have to coordinate to avoid
duplicate work
Duplicates don’t matter
(= (-> m
(assoc :a “hello”)
(assoc :a “hello”))
(-> m
(assoc :a “hello”))
(= (f a)
(f a))
(= (f (f a))
(f a))
(def button-state (atom {}))
(defn press! [button-id]
(swap! button-state assoc button-id true))
…
(press! :3rd-floor-north-up)
(press! :3rd-floor-north-up)
(press! :3rd-floor-north-up)
Nothing else matters
Know when to end
Circuit-breaking
a * b * c * 0 * d * e * f
a * 0 = 0
(f a z)
(= (f a z) z)
Splitting up work and recombining it matters
Great for arranging and rearranging work in a pipeline
Composing transducers
(= (->> cars
(map add-back-wheel)
(map add-front-wheel))
(->> cars
(map (comp
add-front-wheel
add-back-wheel))))
(= (map identity a) a)
(= (map identity a) a)
(map g a)
(= (map identity a) a)
(map f (map g a))
(= (map identity a) a)
(map f (map g a))
(comp f g)
(= (map identity a) a)
(map f (map g a))
(map (comp f g) a)
(= (map identity a) a)
(= (map f (map g a))
(map (comp f g) a))
Conclusions
Commutative Order doesn’t matter (= (f a b) (f b a))
Associative Grouping doesn’t matter
(= (f (f a b) c)
(f a (f b c)))
Identity value Where to start (= (f a i) a)
Zero value When to stop (= (f a z) z)
Idempotence Duplicates don’t matter (= (f (f a)) (f a))
Reversibility Going back and forth (= (g (f a)) a)
Structure
Preservation
Rearranging work
(= (m identity a) a)
(= (m (comp f g) a) (m f (m g
a)))
These properties are
what allow us to do
our work
(= (f a b)
(f b a)))
(prop/for-all [a S
b S]
(= (f a b)
(f b a)))
(prop/for-all [a gen/int
b gen/int]
(= (* a b)
(* b a)))
Algebraic properties
make great
test.check
properties
Eric Normand
Follow Eric on:
Eric Normand @EricNormand
eric@lispcast.comlispcast.com

More Related Content

What's hot

Ruby talk
Ruby talkRuby talk
Ruby talk
Lifeparticle
 
Ch07 13
Ch07 13Ch07 13
Ch07 13
schibu20
 
ロマンティックな9つの数 #ロマ数ボーイズ
ロマンティックな9つの数 #ロマ数ボーイズロマンティックな9つの数 #ロマ数ボーイズ
ロマンティックな9つの数 #ロマ数ボーイズ
Junpei Tsuji
 
Ejemplograficar
EjemplograficarEjemplograficar
Ejemplograficar
GirolamoSopranis
 
20130108 ast signature based boolean matching in the presence of don’t cares_...
20130108 ast signature based boolean matching in the presence of don’t cares_...20130108 ast signature based boolean matching in the presence of don’t cares_...
20130108 ast signature based boolean matching in the presence of don’t cares_...
Hanson Chi
 
C++ Programming - 14th Study
C++ Programming - 14th StudyC++ Programming - 14th Study
C++ Programming - 14th Study
Chris Ohk
 
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
Parhamsagharchi
 
Gate level minimization (2nd update)
Gate level minimization (2nd update)Gate level minimization (2nd update)
Gate level minimization (2nd update)
Aravir Rose
 
Higher Order Procedures (in Ruby)
Higher Order Procedures (in Ruby)Higher Order Procedures (in Ruby)
Higher Order Procedures (in Ruby)
Nate Murray
 
2.2 stack applications Infix to Postfix & Evaluation of Post Fix
2.2 stack applications Infix to Postfix & Evaluation of Post Fix2.2 stack applications Infix to Postfix & Evaluation of Post Fix
2.2 stack applications Infix to Postfix & Evaluation of Post Fix
P. Subathra Kishore, KAMARAJ College of Engineering and Technology, Madurai
 
Introduction to programming - class 11
Introduction to programming - class 11Introduction to programming - class 11
Introduction to programming - class 11
Paul Brebner
 
Python Tidbits
Python TidbitsPython Tidbits
Python Tidbits
Mitchell Vitez
 
Ch18 18
Ch18 18Ch18 18
Ch18 18
schibu20
 
CAML考古学
CAML考古学CAML考古学
CAML考古学
dico_leque
 
From Javascript To Haskell
From Javascript To HaskellFrom Javascript To Haskell
From Javascript To Haskell
ujihisa
 
Graph Algebra
Graph AlgebraGraph Algebra
Graph Algebra
Roi Lipman
 
Data made out of functions
Data made out of functionsData made out of functions
Data made out of functions
kenbot
 
Chpt13 laplacetransformsmatlab
Chpt13 laplacetransformsmatlabChpt13 laplacetransformsmatlab
Chpt13 laplacetransformsmatlab
Jason Harvey
 
Eq 1º grau
Eq 1º grauEq 1º grau
Gate level minimization (1st update)
Gate level minimization (1st update)Gate level minimization (1st update)
Gate level minimization (1st update)
Aravir Rose
 

What's hot (20)

Ruby talk
Ruby talkRuby talk
Ruby talk
 
Ch07 13
Ch07 13Ch07 13
Ch07 13
 
ロマンティックな9つの数 #ロマ数ボーイズ
ロマンティックな9つの数 #ロマ数ボーイズロマンティックな9つの数 #ロマ数ボーイズ
ロマンティックな9つの数 #ロマ数ボーイズ
 
Ejemplograficar
EjemplograficarEjemplograficar
Ejemplograficar
 
20130108 ast signature based boolean matching in the presence of don’t cares_...
20130108 ast signature based boolean matching in the presence of don’t cares_...20130108 ast signature based boolean matching in the presence of don’t cares_...
20130108 ast signature based boolean matching in the presence of don’t cares_...
 
C++ Programming - 14th Study
C++ Programming - 14th StudyC++ Programming - 14th Study
C++ Programming - 14th Study
 
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
NUMERICAL METHODS WITH MATLAB : bisection,mueller's,newton-raphson,false poin...
 
Gate level minimization (2nd update)
Gate level minimization (2nd update)Gate level minimization (2nd update)
Gate level minimization (2nd update)
 
Higher Order Procedures (in Ruby)
Higher Order Procedures (in Ruby)Higher Order Procedures (in Ruby)
Higher Order Procedures (in Ruby)
 
2.2 stack applications Infix to Postfix & Evaluation of Post Fix
2.2 stack applications Infix to Postfix & Evaluation of Post Fix2.2 stack applications Infix to Postfix & Evaluation of Post Fix
2.2 stack applications Infix to Postfix & Evaluation of Post Fix
 
Introduction to programming - class 11
Introduction to programming - class 11Introduction to programming - class 11
Introduction to programming - class 11
 
Python Tidbits
Python TidbitsPython Tidbits
Python Tidbits
 
Ch18 18
Ch18 18Ch18 18
Ch18 18
 
CAML考古学
CAML考古学CAML考古学
CAML考古学
 
From Javascript To Haskell
From Javascript To HaskellFrom Javascript To Haskell
From Javascript To Haskell
 
Graph Algebra
Graph AlgebraGraph Algebra
Graph Algebra
 
Data made out of functions
Data made out of functionsData made out of functions
Data made out of functions
 
Chpt13 laplacetransformsmatlab
Chpt13 laplacetransformsmatlabChpt13 laplacetransformsmatlab
Chpt13 laplacetransformsmatlab
 
Eq 1º grau
Eq 1º grauEq 1º grau
Eq 1º grau
 
Gate level minimization (1st update)
Gate level minimization (1st update)Gate level minimization (1st update)
Gate level minimization (1st update)
 

Similar to All I Needed for Functional Programming I Learned in High School Algebra

Basics
BasicsBasics
Cpl
CplCpl
Functional programming in ruby
Functional programming in rubyFunctional programming in ruby
Functional programming in ruby
Koen Handekyn
 
Haskellで学ぶ関数型言語
Haskellで学ぶ関数型言語Haskellで学ぶ関数型言語
Haskellで学ぶ関数型言語
ikdysfm
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
Siva Arunachalam
 
Rainer Grimm, “Functional Programming in C++11”
Rainer Grimm, “Functional Programming in C++11”Rainer Grimm, “Functional Programming in C++11”
Rainer Grimm, “Functional Programming in C++11”
Platonov Sergey
 
Ai4 heuristic2
Ai4 heuristic2Ai4 heuristic2
Ai4 heuristic2
Mohammad Faizan
 
Integers And Order of Operations
Integers And Order of OperationsIntegers And Order of Operations
Integers And Order of Operations
nickromero76
 
Python Puzzlers
Python PuzzlersPython Puzzlers
Python Puzzlers
Tendayi Mawushe
 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
Arturo Herrero
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph Databases
Max De Marzi
 
C Programming Interview Questions
C Programming Interview QuestionsC Programming Interview Questions
C Programming Interview Questions
Gradeup
 
Basic R Data Manipulation
Basic R Data ManipulationBasic R Data Manipulation
Basic R Data Manipulation
Chu An
 
Rumus matematik examonline spa
Rumus matematik examonline spaRumus matematik examonline spa
Rumus matematik examonline spa
Mohammad Hafiz Bin Hamzah, M. Sc.
 
Useful javascript
Useful javascriptUseful javascript
Useful javascript
Lei Kang
 
Ruby 1.9
Ruby 1.9Ruby 1.9
Ruby 1.9
guestaef7ea
 
10b- Rabin Karp String Matching Problem.pptx
10b- Rabin Karp String Matching Problem.pptx10b- Rabin Karp String Matching Problem.pptx
10b- Rabin Karp String Matching Problem.pptx
AOUNHAIDER7
 
LalitBDA2015V3
LalitBDA2015V3LalitBDA2015V3
LalitBDA2015V3
Lalit Kumar
 
Functional perl
Functional perlFunctional perl
Functional perl
Errorific
 
Day 5 multiplying and dividing integers
Day 5 multiplying and dividing integersDay 5 multiplying and dividing integers
Day 5 multiplying and dividing integers
Erik Tjersland
 

Similar to All I Needed for Functional Programming I Learned in High School Algebra (20)

Basics
BasicsBasics
Basics
 
Cpl
CplCpl
Cpl
 
Functional programming in ruby
Functional programming in rubyFunctional programming in ruby
Functional programming in ruby
 
Haskellで学ぶ関数型言語
Haskellで学ぶ関数型言語Haskellで学ぶ関数型言語
Haskellで学ぶ関数型言語
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
 
Rainer Grimm, “Functional Programming in C++11”
Rainer Grimm, “Functional Programming in C++11”Rainer Grimm, “Functional Programming in C++11”
Rainer Grimm, “Functional Programming in C++11”
 
Ai4 heuristic2
Ai4 heuristic2Ai4 heuristic2
Ai4 heuristic2
 
Integers And Order of Operations
Integers And Order of OperationsIntegers And Order of Operations
Integers And Order of Operations
 
Python Puzzlers
Python PuzzlersPython Puzzlers
Python Puzzlers
 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph Databases
 
C Programming Interview Questions
C Programming Interview QuestionsC Programming Interview Questions
C Programming Interview Questions
 
Basic R Data Manipulation
Basic R Data ManipulationBasic R Data Manipulation
Basic R Data Manipulation
 
Rumus matematik examonline spa
Rumus matematik examonline spaRumus matematik examonline spa
Rumus matematik examonline spa
 
Useful javascript
Useful javascriptUseful javascript
Useful javascript
 
Ruby 1.9
Ruby 1.9Ruby 1.9
Ruby 1.9
 
10b- Rabin Karp String Matching Problem.pptx
10b- Rabin Karp String Matching Problem.pptx10b- Rabin Karp String Matching Problem.pptx
10b- Rabin Karp String Matching Problem.pptx
 
LalitBDA2015V3
LalitBDA2015V3LalitBDA2015V3
LalitBDA2015V3
 
Functional perl
Functional perlFunctional perl
Functional perl
 
Day 5 multiplying and dividing integers
Day 5 multiplying and dividing integersDay 5 multiplying and dividing integers
Day 5 multiplying and dividing integers
 

More from Eric Normand

You are in a maze of deeply nested maps, all alike
You are in a maze of deeply nested maps, all alikeYou are in a maze of deeply nested maps, all alike
You are in a maze of deeply nested maps, all alike
Eric Normand
 
The elements of a functional mindset
The elements of a functional mindsetThe elements of a functional mindset
The elements of a functional mindset
Eric Normand
 
Lies My OO Teacher Told Me
Lies My OO Teacher Told MeLies My OO Teacher Told Me
Lies My OO Teacher Told Me
Eric Normand
 
What is Functional Programming?
What is Functional Programming?What is Functional Programming?
What is Functional Programming?
Eric Normand
 
Functional Programming for Business
Functional Programming for BusinessFunctional Programming for Business
Functional Programming for Business
Eric Normand
 
A Theory of Functional Programming LambdUp
A Theory of Functional Programming LambdUpA Theory of Functional Programming LambdUp
A Theory of Functional Programming LambdUp
Eric Normand
 
Testing stateful, concurrent, and async systems using test.check
Testing stateful, concurrent, and async systems using test.checkTesting stateful, concurrent, and async systems using test.check
Testing stateful, concurrent, and async systems using test.check
Eric Normand
 
Building Composable Abstractions
Building Composable AbstractionsBuilding Composable Abstractions
Building Composable Abstractions
Eric Normand
 
ClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScriptClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScript
Eric Normand
 

More from Eric Normand (9)

You are in a maze of deeply nested maps, all alike
You are in a maze of deeply nested maps, all alikeYou are in a maze of deeply nested maps, all alike
You are in a maze of deeply nested maps, all alike
 
The elements of a functional mindset
The elements of a functional mindsetThe elements of a functional mindset
The elements of a functional mindset
 
Lies My OO Teacher Told Me
Lies My OO Teacher Told MeLies My OO Teacher Told Me
Lies My OO Teacher Told Me
 
What is Functional Programming?
What is Functional Programming?What is Functional Programming?
What is Functional Programming?
 
Functional Programming for Business
Functional Programming for BusinessFunctional Programming for Business
Functional Programming for Business
 
A Theory of Functional Programming LambdUp
A Theory of Functional Programming LambdUpA Theory of Functional Programming LambdUp
A Theory of Functional Programming LambdUp
 
Testing stateful, concurrent, and async systems using test.check
Testing stateful, concurrent, and async systems using test.checkTesting stateful, concurrent, and async systems using test.check
Testing stateful, concurrent, and async systems using test.check
 
Building Composable Abstractions
Building Composable AbstractionsBuilding Composable Abstractions
Building Composable Abstractions
 
ClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScriptClojureScript: I can't believe this is JavaScript
ClojureScript: I can't believe this is JavaScript
 

Recently uploaded

ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
RadiNasr
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
Madhumitha Jayaram
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 

Recently uploaded (20)

ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 

All I Needed for Functional Programming I Learned in High School Algebra