2. Example
Give me a list of numbers from 1 to 100.
Tell me how ? Tell me what ?
3. What?
Functional programming is a programming paradigm
that treats computation as the evaluation of
mathematical functions and avoids state and mutable
data.
y = f (x)
A function is a transformation. It transforms one or more inputs into exactly
one output.
4. Why?
Succinct & simpler programs
Small code base, low dev/maintenance cost.
A number of powerful new ways to structure and
reason about programs.
Immutability
High order function
Pattern Matching
…
5. How?
Immutability
Type Inference
Recursion
High Order Functions
Partial Application
Pattern Matching
Unit of Measure
10. High order Function
Functions as First Class Member
Functions that accept a function as a parameter or
returns a function
11. High Order Function
Map
Fold
Zip
Filter
Pipeline
Function Composition
Partial Application
12. Pattern Match
Compare data with a logical structure
Decompose data into its constituent parts
Extract information from constructs in various
ways
13. Unit of Measure
Floating point and signed integer values in F# can
have associated units of measure.
Compile time checking.
14. Functional Programming in Real World
Erlang developed in Ericsson widely used in T-
Mobile, Facebook....
Industry
Communication
Finance industry
Scientific computation
AI
Languages support FP
Haskell
Scala
Python
Clojure
…
15. Resources
The F# Survival Guide
Functional Programming for the Real World