Introducción a la Programación Funcional en Javascript
Camilo Orrego
Twitter: @acornssn
Github: baldore

Debería aprender programación funcional porque...
Abre la mente a una forma diferente de solucionar problemas
Te ayuda a escribir código mas simple, sólido y sostenible
Te vas a ver como un Popstar!
Pero te puedes sentir como un Noob... al menos inicialmente


Empecemos carajo!
Instalando el repo...
> git clone git@github.com:baldore/fp-introduction.git
> cd fp-introduction
> npm iFunciones
Funciones Puras
Son funciones que, dados ciertos argumentos, devuelven siempre el mismo resultado.
F(x)
1
7
2
6
2
6
6
13
Ventajas
- Memoizable
- Fácil de testear
- Reusable
Funciones Impuras
Son funciones que pueden devolver diferentes valores dados los mismos argumentos.
Funciones como "First Class Citizens"
En javascript, las funciones pueden ser pasadas como argumentos a otras funciones.
Funciones de Alto Orden
También conocidas como "Higher-order functions". Pueden recibir funciones como argumentos y devolver otras funciones.
f(x)
1
1
2
4
3
9
5
25
f(x) = x^2
f(x)=x2
[1, 2, 3, 5]
[1, 4, 9, 25]
MAP
Aplicación Parcial
Cada vez que una función es llamada con un argumento, devuelve una nueva función. Cuando la función recibe todos los argumentos, es llamada.
f(x, y , z) = f(x)(y)(z)
f(x,y,z)=f(x)(y)(z)
Composición!!!!
Con composición, se pueden crear funciones más complejas con pequeños bloques.
(g . f )(x) = g( f(x))
(g.f)(x)=g(f(x))
y... qué más?
Fantasy Land



Elm
Ramda.js
Resources
Introducción a la Programación Funcional en Javascript
By Andres Camilo Orrego Restrepo
Introducción a la Programación Funcional en Javascript
- 741