SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Functional	Programming		
		
		
		
	K	Kishore
Functional	Paradigm	>
Immutable	vs	Mutable	>
Functions	and	Higher	Order	Functions	>
Pattern	Matching	>
In	This	Talk
What	is	Functional	Programming	?	>
Functional	Programming	language	is	one	which	does	not	have	mutable	
variables,	assignments,	control	structures.	It	enables	the	construction	of	elegant	
programs	that	focus	on	functions.	(FP	has	been	around	for	50	years).	
	
Languages	:	
Lisp,	XQuery,	FP,	Haskell,	Scala,	Clojure,	etc	
Functional	Programming	is	becoming	increasingly	popular	because
it	offers	an	attractive	method	for	exploiting	parallelism	for	multicore
and	cloud	computing.
	
Functional	Paradigm
Need	a	catalyzer,	something	that	sparks	initial	adoption	until	the
other	advantages	become	clear	to	everyone.	
>
Multicore	(=	parallel	programming)	-
Cloud	computing	(=	distributed	programming)	-
Functional	Paradigm	(	Why	?)
Non‑determinism	=	Parallel	processing	+	Mutable	state
	
>
Mutable	State	>
var	age	=	20		-
age	=	age+1	-
To	get	deterministic	processing,	avoid	the	mutable	state	!	
Avoiding	mutable	state	means	programming	functionally.	
>
The	root	of	the	Problem
But	what	about	Objects?	>
So,	should	we	forget	OO	and	all	program	in	functional		programming	
languages?		
-
We	need	to	combine	OO	and	FP			-
New	Object	>
Previously:
	“Objects	are	characterized	by	state,	identity,	and	behavior.”	(Booch)	
-
Now:
Eliminate	or	reduce	mutable	state.
	
-
Objects
Scala	(Scalable	Language)
Prof.		Martin		Odersky
What	is	Immutable	?	>
Examples:	-
val	age	=	18	//	In	Scala	-
final	int	age	=	18	//	Java	-
const	int	age		=	18	//	C	-
What	is	Mutable	>
Examples:	-
var	age	=	20	//In	Scala	-
age	=	18	//Java,	C,	C++	-
Immutable	and	Mutable
val	list	=	List(1,2,3)	(or)	(1	::	2	::	3	::	Nil)	>
Immutable	List	
1	
	2	
3	
Nil
To	Double	the	values	in	the	list	.	i.e.	for	a	list	(1,	2,	3,	4,	5)	the	result	should	be	(2,	4,	
6,	8,	10).	
>
	
Let's	do	in	Java	-
int[	]	numbers	=	new	int[	]	{1,2,3,4,5};		
List<Integer>	doubled	=	new	ArrayList<>();
								for(int	elem	:		numbers)	{
												doubled.add(elem	*	2);
								}
								System.out.println(doubled);		
Immutable	and	Mutable	
Primitive	
Obsession
To	Double	the	values	in	the	list	.	i.e.	for	a	list	(1,2,	3,	4,	5)	the	
result	should	be	(2,	4,	6,	8,	10).	
>
‑	Let's	do	in	Scala		
val	numbers	=	List(1,	2,	3,	4,	5,	6)	
val	result	=	numbers.map(elem	=>	elem	*2)	
val	result	=	numbers.map((elem:	Int)	=>	elem	*2)	
val	result	=	numbers.map(	_	*2)
	
Immutable	and	Mutable
Another	Solution	:	>
val	numbers	=	List(1,2,3,4,5,6)
for(elem									numbers){
	println(elem	*	2)
}	
-
Problem	:	>
If	we	list	all	the	natural	numbers	below	10	that	are	multiples	of	3	or	5,	
we	get	3,	5,	6	and	9.	The	sum	of	these	multiples	is	23.
Find	the	sum	of	all	the	multiples	of	3	or	5	below	1000.	
-
(	1	until	1000).filter(elem	=>	elem	%	3	==0	||	elem	%	5	==0	).sum	-
Immutable	and	Mutable
Functions	are	first	class	Citizens.	A	function	Consists	of	4	
things.	
>
Name	-
Parameters	-
Body	-
Return	Type	-
	
Example:		
		
def	add(x:	Int,	y:	Int):	Int	=	x+y	
	
Functions	
	Function	Keyword	
		
	Name	
		
	Parameters	
	
	Body	
	
	Return	Type
def	add(x:	Int,	y:	Int):	Int	=	x+y	>
Functions	
	
	
	
Name	
Parameters	
Return	
Type	
	Body
A	Function	Without	a	Name	>
Example	:	-
val	sum	=	(x:	Int,		y:	Int)=>x+y	-
println(sum(5,	1))	-
	
	Write	a	Square	function	in	Scala.	i.e.	For	Input	4	the	result	is	16	(4*4)	
Solutions	:	
‑		def	square(x:	Int)	=	x*x	
‑		def	squares(x:	Int):	Int	=	x*x	
‑		val	result	=	(x:	Int)=>	x*x	
	
Anonymous	Function
Funtions	that	takes	other	functions	has	parameters	or	returning	a	function	
is	called	Higher	Order	Function.	
>
Example	:	>
					val	priceList	=	List(5,	10,	15,	17,	20,	25,	28,	30,		35,	40)		
						Goal	:	To	sum	all	the	prices	
								def	sumPrices(priceList:	List[Int]):	Int	=	{
						var	sum	=	0
													for(price									priceList)	{		sum	+=price	}			
												sum	
}	
Higher	Order	Functions
Goal	:	To	sum	all	the	prices	Under	25	>
def	sumPricesUnder25(prices:	List[Int]):	Int	=	{
	var	sum	=	0
								for(price									prices)	{
		if(price<25)	sum+=price
	}	
	sum
}		
Goal	:	To	sum	all	the	prices	Over	25,	Under	30,	etc	>
	How	will	You	Solve	this	Problem	?	
	Key	:	We	need	generic	function	i.e.	Single	function	to	compute	sum	of	all	
prices	Over	25,	Under	30,	etc	
Higher	Order	Functions
Solution	:	>
def	sumPrices(prices:	List[Int],	cond:	Int	=>	Boolean):	Int	=	{
		var	sum	=	0
				for(price									prices)	{
						if(cond(price))	sum+=price
				}
		sum
}				
Alterantive	Solution:	>
def	sumPrices(prices:	List[Int],	cond:	Int	=>	Boolean):	Int	=	
prices.filter(cond).sum
	
Higher	Order	Functions
Problem	:	To	Test	Yes/No	>
def	test(number:	Int):	String	=	number	match	{	
case	0	=>	"No"		
case	1	=>	"Yes"		
case	_	=>	"Error"	
}	
Pattern	Matching
To	sum	all	the	values	in	the	list.	i.e	List(1,	2,	3,	4,	5)	=>	15	>
def	sum(list:	List[Int]):	Int	=	list	match	{	
case	Nil	=>	0	
case	x	::	xs	=>	x	+	sum(xs)	
}	
	
	
	
	
Pattern	Matching	
	1 	2 	3 	4 	5 	Nil
x 	xs
To	Print	Hello	World	N	times	>
	
def	ntimes(n:	Int)	=	for(i						n)	println("Hello	World")		
	
Sum	of	Odd	elements	in	a	List	>
	
def	oddSum(list:	List[Int]):	Int	=	list.filter(elem	=>	elem%2!=0).sum	
Problems
Find	length	of	the	list	without	using	length	function	>
	
def	length(list:	List[Int]):	Int	=	list.map(elem	=>	1).sum	
	
def	length(list:	List[Int]):	Int	=	list	match	{	
case	Nil	=>	0	
case	x	::	xs	=>	1	+	length(xs)	
}	
Problems
Define	head,	tail,	init	and	last		methods	for	list		>
	
	
Problems	
1	 	2	 3	 4	 5	 	12
	
	21
	
56
	
45
	
head	 last	
tail	
	init
twitter.github.com/scala_school		>
twitter.github.io/effectivescala/	>
Coursera	Scala	course	(50K	students	last	year)	>
Scala	made	easy	>
Programming	Scala	>
How	to	Learn
https://www.coursera.org/	>
http://www.udacity.com/	>
https://www.edx.org/	>
http://www.learnstreet.com/	>
http://teamtreehouse.com	>
http://nptel.iitm.ac.in/	>
Resources
Functional programming scala_mod

Contenu connexe

En vedette

The neverendingstory adtech_final
The neverendingstory adtech_finalThe neverendingstory adtech_final
The neverendingstory adtech_finalMaura Tuohy
 
Slideshare 5 marketing trends not to ignore.young bloods
Slideshare 5 marketing trends not to ignore.young bloodsSlideshare 5 marketing trends not to ignore.young bloods
Slideshare 5 marketing trends not to ignore.young bloodsMaura Tuohy
 
Freedom rf 2007_english
Freedom rf 2007_englishFreedom rf 2007_english
Freedom rf 2007_englishLUISA BLANES
 
Comparative adjectives
Comparative adjectivesComparative adjectives
Comparative adjectivesLUISA BLANES
 
0113 cm crochet_bags_relaunch_01
0113 cm crochet_bags_relaunch_010113 cm crochet_bags_relaunch_01
0113 cm crochet_bags_relaunch_01LUISA BLANES
 
Ivo Devijver | Brandveiligheid brussel
Ivo Devijver | Brandveiligheid brusselIvo Devijver | Brandveiligheid brussel
Ivo Devijver | Brandveiligheid brusselIvo Devijver
 
11 baby crochet cocoon patterns
11 baby crochet cocoon patterns11 baby crochet cocoon patterns
11 baby crochet cocoon patternsLUISA BLANES
 
8 adorable crochet amigurumi patterns
8 adorable crochet amigurumi patterns8 adorable crochet amigurumi patterns
8 adorable crochet amigurumi patternsLUISA BLANES
 
Nuevo testamento en quechua
Nuevo testamento en quechuaNuevo testamento en quechua
Nuevo testamento en quechuaLUISA BLANES
 
A.communicative.grammar.of.english
 A.communicative.grammar.of.english A.communicative.grammar.of.english
A.communicative.grammar.of.englishLUISA BLANES
 
Trash to treasure 28 recycled crafts
Trash to treasure 28 recycled craftsTrash to treasure 28 recycled crafts
Trash to treasure 28 recycled craftsLUISA BLANES
 

En vedette (12)

The neverendingstory adtech_final
The neverendingstory adtech_finalThe neverendingstory adtech_final
The neverendingstory adtech_final
 
Slideshare 5 marketing trends not to ignore.young bloods
Slideshare 5 marketing trends not to ignore.young bloodsSlideshare 5 marketing trends not to ignore.young bloods
Slideshare 5 marketing trends not to ignore.young bloods
 
Freedom rf 2007_english
Freedom rf 2007_englishFreedom rf 2007_english
Freedom rf 2007_english
 
Comparative adjectives
Comparative adjectivesComparative adjectives
Comparative adjectives
 
The romans
The romansThe romans
The romans
 
0113 cm crochet_bags_relaunch_01
0113 cm crochet_bags_relaunch_010113 cm crochet_bags_relaunch_01
0113 cm crochet_bags_relaunch_01
 
Ivo Devijver | Brandveiligheid brussel
Ivo Devijver | Brandveiligheid brusselIvo Devijver | Brandveiligheid brussel
Ivo Devijver | Brandveiligheid brussel
 
11 baby crochet cocoon patterns
11 baby crochet cocoon patterns11 baby crochet cocoon patterns
11 baby crochet cocoon patterns
 
8 adorable crochet amigurumi patterns
8 adorable crochet amigurumi patterns8 adorable crochet amigurumi patterns
8 adorable crochet amigurumi patterns
 
Nuevo testamento en quechua
Nuevo testamento en quechuaNuevo testamento en quechua
Nuevo testamento en quechua
 
A.communicative.grammar.of.english
 A.communicative.grammar.of.english A.communicative.grammar.of.english
A.communicative.grammar.of.english
 
Trash to treasure 28 recycled crafts
Trash to treasure 28 recycled craftsTrash to treasure 28 recycled crafts
Trash to treasure 28 recycled crafts
 

Similaire à Functional programming scala_mod

Why functional programming in C# & F#
Why functional programming in C# & F#Why functional programming in C# & F#
Why functional programming in C# & F#Riccardo Terrell
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programmingKonrad Szydlo
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementationBilal Maqbool ツ
 
Functional programming is the most extreme programming
Functional programming is the most extreme programmingFunctional programming is the most extreme programming
Functional programming is the most extreme programmingsamthemonad
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programmingThang Mai
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
 
Functional Programming in PHP
Functional Programming in PHPFunctional Programming in PHP
Functional Programming in PHPAurimas Niekis
 
Functional programming
Functional programmingFunctional programming
Functional programmingPiumiPerera7
 
Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)Calvin Cheng
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesMarkus Voelter
 
Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmerShawn Button
 
Introduction to Clojure
Introduction to ClojureIntroduction to Clojure
Introduction to ClojureRenzo Borgatti
 
OOP Comparative Study
OOP Comparative StudyOOP Comparative Study
OOP Comparative StudyDarren Tan
 
Functional Programming in JavaScript & ESNext
Functional Programming in JavaScript & ESNextFunctional Programming in JavaScript & ESNext
Functional Programming in JavaScript & ESNextUnfold UI
 

Similaire à Functional programming scala_mod (20)

Why functional programming in C# & F#
Why functional programming in C# & F#Why functional programming in C# & F#
Why functional programming in C# & F#
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programming
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementation
 
Functional programming is the most extreme programming
Functional programming is the most extreme programmingFunctional programming is the most extreme programming
Functional programming is the most extreme programming
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programming
 
PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminaries
 
Functional Programming in PHP
Functional Programming in PHPFunctional Programming in PHP
Functional Programming in PHP
 
PARADIGM IT.pptx
PARADIGM IT.pptxPARADIGM IT.pptx
PARADIGM IT.pptx
 
Unit 1
Unit 1Unit 1
Unit 1
 
JAVA
JAVAJAVA
JAVA
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)Functional Programming for OO Programmers (part 1)
Functional Programming for OO Programmers (part 1)
 
Prgramming paradigms
Prgramming paradigmsPrgramming paradigms
Prgramming paradigms
 
Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
 
Oop.pptx
Oop.pptxOop.pptx
Oop.pptx
 
Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmer
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Introduction to Clojure
Introduction to ClojureIntroduction to Clojure
Introduction to Clojure
 
OOP Comparative Study
OOP Comparative StudyOOP Comparative Study
OOP Comparative Study
 
Functional Programming in JavaScript & ESNext
Functional Programming in JavaScript & ESNextFunctional Programming in JavaScript & ESNext
Functional Programming in JavaScript & ESNext
 

Dernier

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Functional programming scala_mod