0% encontró este documento útil (0 votos)
185 vistas3 páginas

Haskell y ALGOL68: Historia y Uso

El lenguaje de programación Haskell surgió en 1987 cuando un comité internacional fue formado para diseñar un lenguaje funcional puro de propósito general. Haskell fue diseñado para tener características como funciones de orden superior, evaluación perezosa, listas intencionales y programación literaria. Una de sus ventajas clave es el manejo de tipos de datos a través de la introducción de clases de tipos.

Cargado por

ErikaMiranda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
185 vistas3 páginas

Haskell y ALGOL68: Historia y Uso

El lenguaje de programación Haskell surgió en 1987 cuando un comité internacional fue formado para diseñar un lenguaje funcional puro de propósito general. Haskell fue diseñado para tener características como funciones de orden superior, evaluación perezosa, listas intencionales y programación literaria. Una de sus ventajas clave es el manejo de tipos de datos a través de la introducción de clases de tipos.

Cargado por

ErikaMiranda
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Lenguajes de programacin

Haskell
Historia:
A comienzos de los ochenta surgieron una gran cantidad de lenguajes funcionales debido a los
avances en las tcnicas de implementacin, de los cuales se destacan: Hope, LML, Orwell, Erlang,
FEL, Alfl. Esta gran cantidad de lenguajes perjudicaba el desarrollo del paradigma funcional. En
septiembre de 1987, se celebr la conferencia FPCA en la que se decidi formar un comit
internacional que disease un nuevo lenguaje puramente funcional de propsito general denominado
Haskell. Al disear el lenguaje se observ que no exista un tratamiento sistemtico de la sobrecarga
con lo cual se construy una nueva solucin conocida como las clases de tipos.
Caractersticas:
o
o
o
o

Funciones de orden superior


Evaluacin perezosa
Listas intencionales
Programacin literaria

Ventajas:

Brevedad
Facilidad para comprender
Manejo de los tipos de datos
Reutilizacin de cdigo y polimorfismo
Evaluacin perezosa y programas modulares
Abstracciones poderosas y funciones como valores de primera clase
Recoleccin de basura

Desventajas:

Ineficiencia en la ejecucin de los lenguajes funcionales. Debido a su naturaleza dinmica,


estos lenguajes siempre han sido interpretados ms que compilados, resultando en una
prdida sustancial en velocidad de ejecucin.

Aplicaciones:
o Fran (Functional Reactive Animations) es una biblioteca para realizar animaciones
usando Haskell.

o Pan es una biblioteca para generar imgenes usando Haskell.


o Haskore es una biblioteca para generar msica usando Haskell.
Incluir un pequeo ejemplo (esto es con la finalidad de que revisen su sintaxis).
Ordena los dgitos de un nmero de manera ascendente:
inv::Integer->Integer->Integer
inv n a |n<10=n
|otherwise=(mod n 10)*(10^(a+1))+ inv (div n 10) (a+1)
may::Integer->Integer
may n |n<10=n
| (mod n 10)<=(mod (div n 10) 10)=may (((div n 100)*10)+(mod n 10))
|otherwise=(may (div n 10))
ord::Integer->String
ord 0=""
ord n |mod n 10==may n=show(mod n 10)++ord (div n 10)
|otherwise=ord (inv n 0)

Lenguajes de Programacin
Algol68
ALGOL (ALGOritmic Language), es un lenguaje algortmico de alto nivel (los cuales se caracterizan
por ser lenguajes con sintaxis desarrollada de acuerdo a la capacidad cognitiva del humano) cuyo
propsito es el permitir una eficiente ejecucin de algoritmos en diferentes arquitecturas, fue
diseado a finales de los aos 50s, con el propsito de aplicarlo a clculos cientficos. Inicialmente
titulado ALGOL 58, posteriormente avanz en sus revisiones dando como resultado ALGOL68. Este
lenguaje influy bastante en el desarrollo de varios lenguajes.
ALGOL68 utiliz la notacin VWF (para definir su sintaxis e ingls semi-formal para especificar su
semntica).

ALGOL 68 tambin tena algunas caractersticas que no siempre se han recogido en lenguajes
posteriores, como las declaraciones own (similares a las variables static de C) o las expresiones
switch (muy diferentes a las estructuras de control switch de C.1
En ALGOL68 aparecen por primera vez conceptos como:

Variables locales a un bloque de cdigo.


Declaracin explcita de tipo para todos los identificadores
Estructuras iterativas ms generales
Recursividad
Paso de parmetros por valor y por referencia.

ALGOL fue el primer lenguaje descrito con la notacin BNF(Backus-Naur Form), notacin formal
para definir la sintaxis de un lenguaje.
ALGOL no tena sentencias de E/S por tener independencia de la arquitectura
Este es un ejemplo de la sintaxis de un programa de ALGOL68:

Mesografa:
1.- http://aprendehaskell.es/content/Empezando.html
2.- http://labsys.frc.utn.edu.ar/ppr-2011/Unidad%20IV%20-%20Paradigma%20funcional/Unidad%20V
%20-%20Paradigma%20Funcional.pdf
3.- http://www.x.edu.uy/inet/ppt%20haskell.pdf
4.- http://program.webcindario.com/codigos/haskell.html

1 http://fransiner.galeon.com/VER.HTML

También podría gustarte