Programaci´n Funcional          o                                   Micro-Introducci´n                                    ...
Programaci´n Funcional                                             o                                     Daniel Molina Weg...
Tabla de Contenidos1   Caracter´            ısticas2   Generalidades3   Aspectos Te´ricos               o4   Implementacio...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
Caracter´                                            ısticasCaracter´        ısticas       ¿Como se diferencian los lengua...
GeneralidadesGeneralidades      Fuerte Base Te´rica                     o      C´lculo Lambda, Combinatoria, Reducciones F...
GeneralidadesGeneralidades      Fuerte Base Te´rica                     o      C´lculo Lambda, Combinatoria, Reducciones F...
GeneralidadesGeneralidades      Fuerte Base Te´rica                     o      C´lculo Lambda, Combinatoria, Reducciones F...
Aspectos Te´ricos                                              oAspectos Te´ricos           o      M´todos Formales, contr...
Aspectos Te´ricos                                              oAspectos Te´ricos           o      M´todos Formales, contr...
Aspectos Te´ricos                                              oAspectos Te´ricos           o      M´todos Formales, contr...
ImplementacionImplementacion      Abstracciones      Funci´n           o      Funci´n An´nima           o    o      Closur...
ImplementacionImplementacion      Abstracciones      Funci´n           o      Funci´n An´nima           o    o      Closur...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
AbstraccionesAbstracciones      Funci´n           o      Como evaluaci´n de una expresi´n                   o             ...
¿FIN?¿FIN?                                   Preparado con LTEX                                                  A        ...
Upcoming SlideShare
Loading in …5
×

Micro-Introducción a la Programacion Funcional

558 views
515 views

Published on

Micro-Introduction to Functional Programming, a conceptual approach to what does means Functional Programming and how it is used and implemented in various languages.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
558
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Micro-Introducción a la Programacion Funcional

  1. 1. Programaci´n Funcional o Micro-Introducci´n o a la λ Programaci´n o λ FuncionalDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 1/9
  2. 2. Programaci´n Funcional o Daniel Molina Wegener http://coder.cl/ @damowe en twitter Copyright c 2011 Daniel Molina WegenerDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 2/9
  3. 3. Tabla de Contenidos1 Caracter´ ısticas2 Generalidades3 Aspectos Te´ricos o4 Implementacion5 Abstracciones6 ¿FIN?Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 3/9
  4. 4. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  5. 5. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  6. 6. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o ¿Puede pasar funciones como par´metros? a Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  7. 7. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o ¿Puede pasar funciones como par´metros? a ¿Tiene funciones an´nimas? o Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  8. 8. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o ¿Puede pasar funciones como par´metros? a ¿Tiene funciones an´nimas? o ¿Soporta recursividad? Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  9. 9. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o ¿Puede pasar funciones como par´metros? a ¿Tiene funciones an´nimas? o ¿Soporta recursividad? ¿Tiene Clases de Tipo (Funcional)? Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  10. 10. Caracter´ ısticasCaracter´ ısticas ¿Como se diferencian los lenguajes funcionales? ¿Puede retornar una funci´n? o ¿Puede asignar una funci´n a una variable? o ¿Puede pasar funciones como par´metros? a ¿Tiene funciones an´nimas? o ¿Soporta recursividad? ¿Tiene Clases de Tipo (Funcional)? Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 4/9
  11. 11. GeneralidadesGeneralidades Fuerte Base Te´rica o C´lculo Lambda, Combinatoria, Reducciones Formales a Teor´ de Categor´ y Sistemas de Tipos ıa ıas Entre otros... Funciones como Abstraccion Funciones como habitantes de Primera Clase Funciones de Alto Orden Closures, Monoids, Functors y MonadsDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 5/9
  12. 12. GeneralidadesGeneralidades Fuerte Base Te´rica o C´lculo Lambda, Combinatoria, Reducciones Formales a Teor´ de Categor´ y Sistemas de Tipos ıa ıas Entre otros... Funciones como Abstraccion Funciones como habitantes de Primera Clase Funciones de Alto Orden Closures, Monoids, Functors y Monads El conflicto de la Pureza I/O y Datos ExternosDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 5/9
  13. 13. GeneralidadesGeneralidades Fuerte Base Te´rica o C´lculo Lambda, Combinatoria, Reducciones Formales a Teor´ de Categor´ y Sistemas de Tipos ıa ıas Entre otros... Funciones como Abstraccion Funciones como habitantes de Primera Clase Funciones de Alto Orden Closures, Monoids, Functors y Monads El conflicto de la Pureza I/O y Datos ExternosDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 5/9
  14. 14. Aspectos Te´ricos oAspectos Te´ricos o M´todos Formales, contribuci´n de Alonzo Church e o C´lculo Lambda a Tesis Church-Turing (computabilidad) M´todos Formales e Reducciones Formales Verificaci´n L´gica o oDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 6/9
  15. 15. Aspectos Te´ricos oAspectos Te´ricos o M´todos Formales, contribuci´n de Alonzo Church e o C´lculo Lambda a Tesis Church-Turing (computabilidad) M´todos Formales e Reducciones Formales Verificaci´n L´gica o o Ejemplos de Combinadores Conocidos I = λx.x (identity) T = λxy .x (true) F = λxy .y (false) S = λxyz.xz(yz) (successor) Y = λf .(λx.f (xx))(λx.f (xx))) (y-combinator)Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 6/9
  16. 16. Aspectos Te´ricos oAspectos Te´ricos o M´todos Formales, contribuci´n de Alonzo Church e o C´lculo Lambda a Tesis Church-Turing (computabilidad) M´todos Formales e Reducciones Formales Verificaci´n L´gica o o Ejemplos de Combinadores Conocidos I = λx.x (identity) T = λxy .x (true) F = λxy .y (false) S = λxyz.xz(yz) (successor) Y = λf .(λx.f (xx))(λx.f (xx))) (y-combinator)Daniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 6/9
  17. 17. ImplementacionImplementacion Abstracciones Funci´n o Funci´n An´nima o o Closure Monoid Functor Monad Tipificaci´n o Calculo Lambda Tipificado Sistemas de Tipos Teor´ de Categorias ıaDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 7/9
  18. 18. ImplementacionImplementacion Abstracciones Funci´n o Funci´n An´nima o o Closure Monoid Functor Monad Tipificaci´n o Calculo Lambda Tipificado Sistemas de Tipos Teor´ de Categorias ıaDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 7/9
  19. 19. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamientoDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  20. 20. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamiento Closure Funci´n con Datos (opuesto a Objeto, datos con funciones) oDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  21. 21. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamiento Closure Funci´n con Datos (opuesto a Objeto, datos con funciones) o Monoid Abstracci´n de Operador (aplicado a elementos de un tipo) oDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  22. 22. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamiento Closure Funci´n con Datos (opuesto a Objeto, datos con funciones) o Monoid Abstracci´n de Operador (aplicado a elementos de un tipo) o Functor Funci´n Aplicada a un Tipo oDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  23. 23. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamiento Closure Funci´n con Datos (opuesto a Objeto, datos con funciones) o Monoid Abstracci´n de Operador (aplicado a elementos de un tipo) o Functor Funci´n Aplicada a un Tipo o Monad Cadena de Functors aplicados a un TipoDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  24. 24. AbstraccionesAbstracciones Funci´n o Como evaluaci´n de una expresi´n o o Funci´n An´nima o o Habitante de primera clase, con el mismo tratamiento Closure Funci´n con Datos (opuesto a Objeto, datos con funciones) o Monoid Abstracci´n de Operador (aplicado a elementos de un tipo) o Functor Funci´n Aplicada a un Tipo o Monad Cadena de Functors aplicados a un TipoDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 8/9
  25. 25. ¿FIN?¿FIN? Preparado con LTEX A Compilado el 24 de julio de 2011 Coyright c 2011 Daniel Molina WegenerDaniel Molina Wegener (coder.cl) Programaci´n Funcional o 24 de julio de 2011 9/9

×