Lenguajes en el paradigma de
la programación funcional
Definicion
Entendemos por programación funcional un lenguaje de
programación declarativo donde el programador especifica
lo que quiere hacer, en lugar de lidiar con el estado de los
objetos.
Tipos
HASKELL
Haskell es un lenguaje de programación
de código abierto. Obtuvo su nombre
gracias a Haskell Brooks, cuyo trabajo
ha servido para la base de los
lenguajes de programación.
Beneficios
Aumenta la
productividad del
programador.
El código es más
corto y claro
Reduce el número
de errores.
Características
funcional,
polimórfico, de
tipado estático y
perezoso.
OCALM
es un lenguaje de programación avanzado de la
familia de los lenguajes ML(Meta Lenguaje),
desarrollado y distribuido por el Inria en Francia.
Ocaml admite los paradigmas
de programación imperativa,
programación funcional y
programación orientada a
objetos.
Característcas
El código fuente en Ocaml se
compila en código para una
máquina virtual
Cuenta con un sistema
de tipos fuerte
La distribución básica incluye diversas
librerías portables para manejo de
estructuras de datos
Tipos
ocalm, ocamlc,
ocamlrun,
ocamlopt
ERLANG
Es un lenguaje de programación funcional de alto
nivel, que se ubica también dentro del paradigma
de Programación Declarativa, diseñado para
escribir aplicaciones concurrentes y distribuidas
de funcionamiento ininterrumpido.
Procesos
Erlang usa procesos concurrentes
para estructurar la aplicación. Estos
procesos no comparten memoria y
se comunican de forma asincrónica
mediante el paso de mensajes.
Características
Lenguaje de alto
nivel basado en
procesos
Acoplamiento de
patrones
Organización de memoria
automática
Acoplamiento de
patrones
Organización de
memoria automática
LISP
es un lenguaje de programación
que fue diseñado para una fácil
manipulación de cadenas de
datos.
En LISP, todos los cálculos se
expresan en función de al menos
un objeto. Los objetos pueden ser
otras funciones, elementos de
datos (como constantes o
variables) o estructuras de datos.
Con Lisp, el código son datos (listas) y los datos
pueden ser códigos. Es un lenguaje de software
programable. Las funciones pueden pasar como
variables y procesarse en otra parte del código o
procesarse directamente como funciones.