Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
INDICE
RESUMEN ......................................................................................................................................... 2
INTRODUCCIÓN .............................................................................................................................. 3
PROGRAMACIÓN FUNCIONAL .................................................................................................. 4
Características de la programación funcional ................................................................... 4
Otras características del paradigma funcional son las siguientes: ......................... 5
LENGUAJES DE PROGRAMACIÓN ........................................................................................... 5
HASKELL BROOKS CURRY ........................................................................................................ 6
HASKELL ...................................................................................................................................... 6
TIPOS DE DATOS ........................................................................................................................... 7
LISP .................................................................................................................................................... 7
SCHEME ............................................................................................................................................ 8
CONCLUSIÓN .................................................................................................................................. 9
BIBLIOGRAFÍA. ............................................................................................................................. 10
1
RESUMEN
La base teórica de la programación imperativa fue dada (en Inglaterra) por Alan
Turing en los años treinta. También la teoría de funciones como modelo de
computación proviene de los años veinte y treinta. Los fundadores son, entre otros,
M. Schonfinkel (en Alemania y Rusia), Haskell Curry (en Inglaterra) y Alonzo Church
(en los Estados Unidos). Fue en el comienzo de los años cincuenta cuando a alguien
se le ocurrió usar esta teoría efectivamente, como base de un lenguaje de
programación. El lenguaje Lisp de John McCarthy fue el primer lenguaje de
programación funcional y fue el ´único por muchos años. Debido a la creciente
complejidad de los programas de ordenador, se hizo necesaria una mayor
verificación del programa por parte del ordenador. Por ello el tipado adquirió una
gran importancia. Por eso no es de extrañar que en los años ochenta se crearan un
gran número de lenguajes funcionales tipados. Algunos ejemplos son ML y Scheme
(una adaptación de Lisp).
2
INTRODUCCIÓN
La programación funcional aun siendo fácil de entender y mantener, suele ser más
difícil escribir un programa funcionalmente, sobre todo para los que estamos
acostumbrados a la programación imperativa. La gran variedad de conceptos
complejos sobre todo matemáticos a tener en cuenta hace difícil dominar el lenguaje
y producir buen código.
3
PROGRAMACIÓN FUNCIONAL
4
Otras características del paradigma funcional son las siguientes:
▪ Recursión
▪ Funciones como tipos de datos primitivos
▪ Uso de listas
LENGUAJES DE PROGRAMACIÓN
• PHP
• Ruby
• Python
• Elixir
• Kotling
• Haskell
• Erlang
5
HASKELL BROOKS CURRY
HASKELL
6
TIPOS DE DATOS
El sistema Haskell cuenta con una serie de tipos primitivos predefinidos. Los
más importantes son:
Char indica el conjunto de caracteres con el formato’ a’,’ A’, ’1’,’\ n’, ...
Bool indica valores booleanos. Pueden ser True o False
Int indica enteros con l´ımite. Por ejemplo 123, −456, ...
Integer indica enteros sin l´ımite. Por ejemplo 123123123123, −123456789, ...
Float indica n´umeros en coma flotante. Por ejemplo 12.45, 12e3, ...
() indica el tipo nulo que solamente incluye el valor ()
LISP
▪ Lisp es el primer lenguaje de programación de alto nivel basado en el
paradigma funcional
▪ Creado en 1958 por John McCarthy
▪ Lisp es un lenguaje revolucionario e introduce nuevos conceptos de
programación: funciones como objetos primitivos, funciones de orden
superior, polimorfismo, listas, recursión, símbolos, homogeneidad de datos
y programas, bucle REPL “read-eval-print”
▪ La herencia del Lisp llega a lenguajes derivados de él (Scheme, Golden
Common Lisp) y a nuevos lenguajes de paradigmas no estrictamente
funcionales, como C#, Python, Ruby, Objective-C o Scala
7
Lisp se diseñó con el objetivo de ser un lenguaje de alto nivel capaz de resolver
problemas prácticos de Inteligencia Artificial, no con la idea de ser un lenguaje
formal basado un único modelo de computación.
SCHEME
8
CONCLUSIÓN
9
BIBLIOGRAFÍA.
• Omar Ivan Trejos Programación funcional con raket 2007 ra-ma
• Jose A. Alfonso jimenez Programación funcional 2011-2012 Universidad de
Sevilla.
• B. O’Sullivan, D. Stewart y J. Goerzen Real World Haskell. O’Reilly, 2008. I
Cap. 1: Getting Started.
• B.C. Ruiz, F. Gutiérrez, P. Guerrero y J.E. Gallardo. Razonando con Haskell.
Thompson, 2004. I Cap. 1: Programación funcional.
• S. Thompson. Haskell: The Craft of Functional Programming, Second Edition.
Addison-Wesley, 1999. I Cap. 1: Introducing functional programming.
• Backus, J. Can programming be liberated from the von Neumann style? A
functional style and its algebra of programs, Communications of the ACM,
August 1978, Vol 21 (8).
10