1. 22-3-2014 Ensayo de Lenguaje
Funcional de Haskell
[Subtítulo del documento]
Nombre: Alejandra Luna Jaimes
DOCENTE: JOSE LUIS LOPEZ TELLO
MATERIA: PROGRAMACION FUNCIONAL Y
LOGICA
CARRERA: ING. SISTEMAS
COMPUTACIONALES
2. INTRODUCCIÓN
Este ensayo es de un lenguaje de programación funcional HASKELL
Que incluye muchas de las últimas innovaciones en el desarrollo de los
lenguajes de programación funcional, como son las funciones de orden
superior, evaluación, tipos polimórficos estáticos, tipos definidos por el
usuario, encaje por patrones, y definiciones de listas por comprensión.
Incorpora, además, otras características interesantes como el
tratamiento sistemático de la sobrecarga, la facilidad en la definición de
tipos abstractos de datos, el sistema de entrada/salida puramente
funcional y la posibilidad de utilización de módulos.
3. INDICE
Tabla de contenido
INTRODUCCIÓN................................................................................. 1
INDICE................................................................................................ 2
DESARROLLO.................................................................................... 3
Definición.......................................................................................... 3
Compiladores ................................................................................... 3
Otras herramientas que utiliza Haskell ............................................. 3
Expresiones, Tipos y Valores ........................................................... 4
INSTALACION DE HASKELL.............................................................. 5
PROGRAMAS EN HASKELL .............................................................. 6
4. DESARROLLO
Definición
Haskell, es un lenguaje puro funcional también se incorpora de entra /
salida tiene una sintaxis expresiva, y una rica variedad de tipos de
datos incorporados, incluyendo números enteros de precisión arbitraria
y racionales, así como el entero más convencional, de punto flotante y
tipos booleanos.
Compiladores
GHC
THE GLASGOW HASKELL COMPILER
ES UN COMPILADOR QUE PRODUCE CÓDIGO NATIVO O C. SE DISTRIBUYE EL CÓDIGO FUENTE
ASÍ COMO VERSIONES ESPECÍFICAS PARA LINUX
WINDOWS Y MACOS X.
HBC
UN COMPILADOR Y ENTORNO INTERACTIVO PARA HASKELL 1.4. LLEVA VARIOS AÑOS SIN
ACTUALIZARSE. SÓLO PARA PLATAFORMAS QUE USAN EL FORMATO DE OBJETO A.OUT.
HUGS98
ES UN PEQUEÑO INTÉRPRETE ESCRITO EN C
MUY PORTABLE
QUE SE RECOMIENDA PARA APRENDER EL LENGUAJE. SE DISTRIBUYEN VERSIONES PARA UNIX
WINDOWS Y MACINTOSH.
Haskell y el usuario puede que se le facilite es del compilador GHC
porque es compatible con los sistemas operativos como Windows,
Linux, Mac OSx.
Otras herramientas que utiliza Haskell
Glasgow Haskell viene con un generador de perfiles que permite
encontrar qué partes de su programa están consumiendo más tiempo y
espacio. Chalmers Haskell tiene una herramienta de perfiles de espacio,
y un simulador de cuasi-paralelo que le permite experimentar con el
funcionamiento de su programa en paralelo.
5. Expresiones, Tipos y Valores
Un programa en lenguaje funcional consiste en definir expresiones que
Computan (o denotan) valores. Hay como los valores, en el mundo “real”
o “matemático”, pertenecen a un conjunto, las expresiones pertenecen
a un tipo.
Funciones, como a! Int, Bool !(Bool !Bool), etc.
Tuplas de cualquier longitud. Por ejemplo, (2 _ 5 +1, 4 >0) es de
tipo
(Int, Bool).
Listas , secuencias ordenadas de elementos de un mismo tipo,
con repeticiones.
[Int] representa el tipo lista de enteros, [Bool] es una lista de booleanos,
etc.
Las expresiones de tipo lista se construyen con [] (que representa la
lista vacía) y: (alas es la lista que empieza con el elemento a y sigue
con la lista as). También pueden escribirse entre corchetes, con los
elementos separados por comas:
[] :: [Bool]
[3] :: [Int]
’a’ : (’b’ : (’c’ : [])) :: [Char]
[2 > 0, False, ’a’ == ’b’] :: [Bool]
6. INSTALACION DE HASKELL
Descargar desde la página http://www.haskell.org/platform/
Bueno esto solo es la instalación del programa Haskell.
8. Para poder utilizar el editor debemos de crear el código en un bloc o
editor y guardarlo como extensión .hs , así como la imagen:
En el escritorio nos aparecerá el archivo así:
9. Entonces para abrir el archivo que generamos en el bloc de notas
damos en el editor de Haskell – File---Load de que me lo abra:
10. De esa manera el programa estará listo para recibir las instrucciones
programadas.
Finalmente para nuestro ejemplo debemos escribir el nombre de la
función principal acompañado del número del cual queremos contar
sus dígitos por ejemplo cont 14893.
Solo este ejemplo cuenta los dígitos de un número entero
Ahora vamos a otro programa que me muestre las edades aquellos
que tiene arriba de los 18 años, solo que muestre los nombre en forma
de lista.
11. En un bloc de notas ponemos nuestro código y así lo abrimos desde
edad.hs directamente te abre la consola:
12. También en este código incluimos otro 2 programas en uno es
parecido al prolog que afirma el hecho si es true o false la instrucción:
El primero es un programa que te multiplica un numero introducido por
el usuario su función doble que es el numero entonces te lo multiplica
por 2.