SlideShare a Scribd company logo
Teach Yourself some
Functional Programming
with Scala
@DamianJureczko
Agenda
What is Functional Programming?
Key concepts of Functional Programming
Functional Programming?
Programming Paradigm
Style
There are others
Imperative
Object-oriented
...
Functional Programming is about
pure functions
no side effects
Imperative vs. Functional
Imperative example ✗
List<User> users = new ArrayList<>();
users.add(new User("John", 35));
users.add(new User("Michael", 27));
int count = 0;
for (User user : users)
{
if (user.getAge() > 30)
{
count += 1;
}
}
Functional example ✓
val users = List(User("John", 35), User("Michael", 27))
val count = users.count(user => user.age > 30)
Referential transparency
“An expression is said to be referentially
transparent if it can be replaced with its
corresponding value without changing
the program's behavior.“
Referentially transparent function
returns the same value for same arguments
has no side effects
The same result for same arguments ✓
def inc(x: Int): Int = x + 1
val two = inc(1)
Result can be different for same arguments ✗
def crazyInc(x: Int): Int = x + Random.nextInt()
val whoKnows = crazyInc(1)
Result depends on some global, mutable state ✗
var userCount = ???
def getUserCount: Int = userCount
Function without side effects
Result: x = 8
def add(x: Int, y: Int): Int = x + y
val x = add(1, 1) * add(2, 2)
We can change it to ✓
Result: x = 8
val x = add(1, 1) * 4
We can change it to ✓
Result: x = 8
val x = 2 * 4
Function with side effects
Result: x = 8, totalSum = 6
var totalSum = 0
def weirdAdd(x: Int, y: Int): Int = {
val sum = x + y
totalSum += sum
sum
}
val x = weirdAdd(1, 1) * weirdAdd(2, 2)
We cannot change it to ✗
Result: x = 8, totalSum = 2
val x = weirdAdd(1, 1) * 4
We cannot change it to ✗
Result: x = 8, totalSum = 0
val x = 2 * 4
Pure functions are referentially
transparent
Functional Programming
What are the benefits?
compositionality
(divide & conquer, generalize, reuse)
code easier to reason about
code easier to parallelize
code easier to optimize (memoization)
code easier to test
First-class functions
We can use functions like we use other types
assign to variable
pass to function (as argument)
return from function
Function type
Int => Int
type Transformation = Int => Int
Function object
Anonymous function
x => x + 1
Assigning function to variable
val inc: Int => Int = x => x + 1
val inc: Transformation = x => x + 1
val two = inc(1)
High-order functions
take other functions as argument
return functions as result
Passing function to high-order function
val count = users.count(user => user.age > 30)
def count(p: User ⇒ Boolean): Int
Returning function from high-order function
def makeUserFilterByAge(threshold: Int): User => Boolean =
user => user.age > threshold
val userOlderThen30: User => Boolean = makeUserFilterByAge(30)
val count = users.count(userOlderThen30)
Summary
Functional programming is here
It simplifies your life
It makes you a better developer
Scala is a good way to start
Thank You
@DamianJureczko

More Related Content

What's hot

3.1 javascript objects_DOM
3.1 javascript objects_DOM3.1 javascript objects_DOM
3.1 javascript objects_DOM
Jalpesh Vasa
 
Classes, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with JavaClasses, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with Java
Radhika Talaviya
 
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...Rishikesh Agrawani
 
Functional Programming 101 for Java 7 Developers
Functional Programming 101 for Java 7 DevelopersFunctional Programming 101 for Java 7 Developers
Functional Programming 101 for Java 7 Developers
Jayaram Sankaranarayanan
 
javascript objects
javascript objectsjavascript objects
javascript objects
Vijay Kalyan
 
Scala functions
Scala functionsScala functions
Scala functions
Knoldus Inc.
 
Principles of functional progrmming in scala
Principles of functional progrmming in scalaPrinciples of functional progrmming in scala
Principles of functional progrmming in scala
ehsoon
 
Templates
TemplatesTemplates
Templates in c++
Templates in c++Templates in c++
Templates in c++
Mayank Bhatt
 
Implicit conversion and parameters
Implicit conversion and parametersImplicit conversion and parameters
Implicit conversion and parameters
Knoldus Inc.
 
Templates
TemplatesTemplates
Templates
Nilesh Dalvi
 
JavaScript Operators
JavaScript OperatorsJavaScript Operators
JavaScript Operators
Charles Russell
 
JavaScript operators
JavaScript operatorsJavaScript operators
JavaScript operators
Victor Verhaagen
 
Template C++ OOP
Template C++ OOPTemplate C++ OOP
Template C++ OOP
Muhammad khan
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and FunctionsJussi Pohjolainen
 
Data Type Conversion in C++
Data Type Conversion in C++Data Type Conversion in C++
Data Type Conversion in C++Danial Mirza
 
Java method
Java methodJava method
Java method
sunilchute1
 
Anonymous and Inline Functions in MATLAB
Anonymous and Inline Functions in MATLABAnonymous and Inline Functions in MATLAB
Anonymous and Inline Functions in MATLAB
Shameer Ahmed Koya
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
WebStackAcademy
 
Java Foundations: Methods
Java Foundations: MethodsJava Foundations: Methods
Java Foundations: Methods
Svetlin Nakov
 

What's hot (20)

3.1 javascript objects_DOM
3.1 javascript objects_DOM3.1 javascript objects_DOM
3.1 javascript objects_DOM
 
Classes, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with JavaClasses, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with Java
 
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...
C++ Templates_ Program to Swap Two Numbers Using Function Template - The Craz...
 
Functional Programming 101 for Java 7 Developers
Functional Programming 101 for Java 7 DevelopersFunctional Programming 101 for Java 7 Developers
Functional Programming 101 for Java 7 Developers
 
javascript objects
javascript objectsjavascript objects
javascript objects
 
Scala functions
Scala functionsScala functions
Scala functions
 
Principles of functional progrmming in scala
Principles of functional progrmming in scalaPrinciples of functional progrmming in scala
Principles of functional progrmming in scala
 
Templates
TemplatesTemplates
Templates
 
Templates in c++
Templates in c++Templates in c++
Templates in c++
 
Implicit conversion and parameters
Implicit conversion and parametersImplicit conversion and parameters
Implicit conversion and parameters
 
Templates
TemplatesTemplates
Templates
 
JavaScript Operators
JavaScript OperatorsJavaScript Operators
JavaScript Operators
 
JavaScript operators
JavaScript operatorsJavaScript operators
JavaScript operators
 
Template C++ OOP
Template C++ OOPTemplate C++ OOP
Template C++ OOP
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and Functions
 
Data Type Conversion in C++
Data Type Conversion in C++Data Type Conversion in C++
Data Type Conversion in C++
 
Java method
Java methodJava method
Java method
 
Anonymous and Inline Functions in MATLAB
Anonymous and Inline Functions in MATLABAnonymous and Inline Functions in MATLAB
Anonymous and Inline Functions in MATLAB
 
JavaScript - Chapter 6 - Basic Functions
 JavaScript - Chapter 6 - Basic Functions JavaScript - Chapter 6 - Basic Functions
JavaScript - Chapter 6 - Basic Functions
 
Java Foundations: Methods
Java Foundations: MethodsJava Foundations: Methods
Java Foundations: Methods
 

Viewers also liked

Particion disco duro
Particion disco duroParticion disco duro
Particion disco duro
pamela rosero
 
Scala Quick Introduction
Scala Quick IntroductionScala Quick Introduction
Scala Quick Introduction
Damian Jureczko
 
Futbol gaelico
Futbol gaelicoFutbol gaelico
Futbol gaelico
alexanderito
 
Futbol gaelico
Futbol gaelicoFutbol gaelico
Futbol gaelico
alexanderito
 
Mostafa_Maarouf_Al-Assuity
Mostafa_Maarouf_Al-AssuityMostafa_Maarouf_Al-Assuity
Mostafa_Maarouf_Al-Assuitymostafa maarouf
 
Inside architecture
Inside architectureInside architecture
Inside architecture
Zeb Mason
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
Yanier Profe
 
Rhinoplasty in indore
Rhinoplasty in indoreRhinoplasty in indore
Rhinoplasty in indore
Raina marmm
 
LE REGARD DES INTELLECTUELS
LE REGARD DES INTELLECTUELSLE REGARD DES INTELLECTUELS
LE REGARD DES INTELLECTUELS
IIS PAOLO FRISI MILANO MIM
 
WW TAIPEI Booklet Stephanie Hsu (1)
WW TAIPEI Booklet Stephanie Hsu (1)WW TAIPEI Booklet Stephanie Hsu (1)
WW TAIPEI Booklet Stephanie Hsu (1)Charlotte Peet
 
National 16 tezisi
National 16 tezisiNational 16 tezisi
Permendesa no 21.2015
Permendesa no 21.2015Permendesa no 21.2015
Permendesa no 21.2015
yuswadi31
 
проект театр образ
проект театр образпроект театр образ
проект театр образ
Vlad Safianov
 
La relacion arrendaticia
La relacion arrendaticiaLa relacion arrendaticia
La relacion arrendaticia
ginvali
 
Arun jose
Arun joseArun jose
Arun jose
ARUN JOSE
 

Viewers also liked (20)

Tics
TicsTics
Tics
 
b_p_T_M_New
b_p_T_M_Newb_p_T_M_New
b_p_T_M_New
 
Particion disco duro
Particion disco duroParticion disco duro
Particion disco duro
 
Scala Quick Introduction
Scala Quick IntroductionScala Quick Introduction
Scala Quick Introduction
 
Futbol gaelico
Futbol gaelicoFutbol gaelico
Futbol gaelico
 
Futbol gaelico
Futbol gaelicoFutbol gaelico
Futbol gaelico
 
Mostafa_Maarouf_Al-Assuity
Mostafa_Maarouf_Al-AssuityMostafa_Maarouf_Al-Assuity
Mostafa_Maarouf_Al-Assuity
 
Inside architecture
Inside architectureInside architecture
Inside architecture
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
 
Rhinoplasty in indore
Rhinoplasty in indoreRhinoplasty in indore
Rhinoplasty in indore
 
LE REGARD DES INTELLECTUELS
LE REGARD DES INTELLECTUELSLE REGARD DES INTELLECTUELS
LE REGARD DES INTELLECTUELS
 
shady samy cv
shady samy cvshady samy cv
shady samy cv
 
WW TAIPEI Booklet Stephanie Hsu (1)
WW TAIPEI Booklet Stephanie Hsu (1)WW TAIPEI Booklet Stephanie Hsu (1)
WW TAIPEI Booklet Stephanie Hsu (1)
 
Rekabentuk mesra OKU
Rekabentuk mesra OKURekabentuk mesra OKU
Rekabentuk mesra OKU
 
National 16 tezisi
National 16 tezisiNational 16 tezisi
National 16 tezisi
 
Permendesa no 21.2015
Permendesa no 21.2015Permendesa no 21.2015
Permendesa no 21.2015
 
проект театр образ
проект театр образпроект театр образ
проект театр образ
 
La relacion arrendaticia
La relacion arrendaticiaLa relacion arrendaticia
La relacion arrendaticia
 
Suicidio
SuicidioSuicidio
Suicidio
 
Arun jose
Arun joseArun jose
Arun jose
 

Similar to Teach Yourself some Functional Programming with Scala

SeneJug java_8_prez_122015
SeneJug java_8_prez_122015SeneJug java_8_prez_122015
SeneJug java_8_prez_122015
senejug
 
uom-2552-what-is-python-presentation.pptx
uom-2552-what-is-python-presentation.pptxuom-2552-what-is-python-presentation.pptx
uom-2552-what-is-python-presentation.pptx
ChetanChauhan203001
 
Intro to python programming (basics) in easy language
Intro to python programming (basics) in easy languageIntro to python programming (basics) in easy language
Intro to python programming (basics) in easy language
MuhammadShahbaz36976
 
uom-2552-what-is-python-presentation (1).pptx
uom-2552-what-is-python-presentation (1).pptxuom-2552-what-is-python-presentation (1).pptx
uom-2552-what-is-python-presentation (1).pptx
Prabha Karan
 
What is Paython.pptx
What is Paython.pptxWhat is Paython.pptx
What is Paython.pptx
Parag Soni
 
what-is-python-presentation.pptx
what-is-python-presentation.pptxwhat-is-python-presentation.pptx
what-is-python-presentation.pptx
Vijay Krishna
 
python-presentation.pptx
python-presentation.pptxpython-presentation.pptx
python-presentation.pptx
Vijay Krishna
 
Introduction of python Introduction of python Introduction of python
Introduction of python Introduction of python Introduction of pythonIntroduction of python Introduction of python Introduction of python
Introduction of python Introduction of python Introduction of python
GandaraEyao
 
Functional programming 101
Functional programming 101Functional programming 101
Functional programming 101
Maneesh Chaturvedi
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in Swift
Saugat Gautam
 
Python Lecture 4
Python Lecture 4Python Lecture 4
Python Lecture 4
Inzamam Baig
 
Functional go
Functional goFunctional go
Functional go
Geison Goes
 
Let Us Learn Lambda Using C# 3.0
Let Us Learn Lambda Using C# 3.0Let Us Learn Lambda Using C# 3.0
Let Us Learn Lambda Using C# 3.0
Sheik Uduman Ali
 
VIT351 Software Development VI Unit1
VIT351 Software Development VI Unit1VIT351 Software Development VI Unit1
VIT351 Software Development VI Unit1
YOGESH SINGH
 
Functional Swift
Functional SwiftFunctional Swift
Functional Swift
Geison Goes
 
Monads in Swift
Monads in SwiftMonads in Swift
Monads in Swift
Vincent Pradeilles
 
Twins: Object Oriented Programming and Functional Programming
Twins: Object Oriented Programming and Functional ProgrammingTwins: Object Oriented Programming and Functional Programming
Twins: Object Oriented Programming and Functional Programming
RichardWarburton
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
UMA PARAMESWARI
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Pranali Chaudhari
 
Functional Programming with C#
Functional Programming with C#Functional Programming with C#
Functional Programming with C#
EastBanc Tachnologies
 

Similar to Teach Yourself some Functional Programming with Scala (20)

SeneJug java_8_prez_122015
SeneJug java_8_prez_122015SeneJug java_8_prez_122015
SeneJug java_8_prez_122015
 
uom-2552-what-is-python-presentation.pptx
uom-2552-what-is-python-presentation.pptxuom-2552-what-is-python-presentation.pptx
uom-2552-what-is-python-presentation.pptx
 
Intro to python programming (basics) in easy language
Intro to python programming (basics) in easy languageIntro to python programming (basics) in easy language
Intro to python programming (basics) in easy language
 
uom-2552-what-is-python-presentation (1).pptx
uom-2552-what-is-python-presentation (1).pptxuom-2552-what-is-python-presentation (1).pptx
uom-2552-what-is-python-presentation (1).pptx
 
What is Paython.pptx
What is Paython.pptxWhat is Paython.pptx
What is Paython.pptx
 
what-is-python-presentation.pptx
what-is-python-presentation.pptxwhat-is-python-presentation.pptx
what-is-python-presentation.pptx
 
python-presentation.pptx
python-presentation.pptxpython-presentation.pptx
python-presentation.pptx
 
Introduction of python Introduction of python Introduction of python
Introduction of python Introduction of python Introduction of pythonIntroduction of python Introduction of python Introduction of python
Introduction of python Introduction of python Introduction of python
 
Functional programming 101
Functional programming 101Functional programming 101
Functional programming 101
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in Swift
 
Python Lecture 4
Python Lecture 4Python Lecture 4
Python Lecture 4
 
Functional go
Functional goFunctional go
Functional go
 
Let Us Learn Lambda Using C# 3.0
Let Us Learn Lambda Using C# 3.0Let Us Learn Lambda Using C# 3.0
Let Us Learn Lambda Using C# 3.0
 
VIT351 Software Development VI Unit1
VIT351 Software Development VI Unit1VIT351 Software Development VI Unit1
VIT351 Software Development VI Unit1
 
Functional Swift
Functional SwiftFunctional Swift
Functional Swift
 
Monads in Swift
Monads in SwiftMonads in Swift
Monads in Swift
 
Twins: Object Oriented Programming and Functional Programming
Twins: Object Oriented Programming and Functional ProgrammingTwins: Object Oriented Programming and Functional Programming
Twins: Object Oriented Programming and Functional Programming
 
Functions struct&union
Functions struct&unionFunctions struct&union
Functions struct&union
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Functional Programming with C#
Functional Programming with C#Functional Programming with C#
Functional Programming with C#
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 

Teach Yourself some Functional Programming with Scala