Core FP Concepts
-
Upload
diego-pacheco -
Category
Technology
-
view
214 -
download
4
description
Transcript of Core FP Concepts
Conceitos Funcionais
Functions as 1st Class Citizen
• Syntax Sugar• Abstractions• Simplicity• Utilities• Less Code More things Done• Awesome for Algorithms/calculations
CORE Functional Programing Fundamental Principles
1. Lambda Calculus
2. High Order Functions
3. Immutability
4. No Side Effects
Lambda/Closure/Anonymous Function
• Less Structure• Syntax Sugar• One time Usage• Work with High Order Functions
Lambda/Closure/Anonymous Function
High Order Functions
• Pass Function by Parameter• Return Function
• Ground for:• Lazyness• Composition
High Order Functions
First-class-Function Lazyness
High Order Functions
Composition
<= First-class-Function (oo)
<= High-Order-Function (FP)
Currying
• Lambda Calculus, Parallelism• Optional in several languages not Haskell• Awesome for DSL Creation• Transform: Chained Functions into single Arg
Currying
Monads
• FP way to deal with side effects• Similar to AOP Interceptors• Build Abstractions around your functions• It can encapsulate:• Control Flow (Option)• State Propagation (Io)
Monads
Conceitos Funcionais
Obrigado !!!