Instalación y primeros pasos en Haskell inet uruguay montevideo matematica x edu
































































































































Matemática Discreta usando el computador 2011
Profesorado de Informática - INET – CFE
Haskell
Instalación y primeros pasos en Haskell
Para poder trabajar con Haskell, en primer lugar debemos descargar el
programa que nos permite ejecutarlo, para esto ingresamos a:
http://hackage.haskell.org/platform/ y allí elegimos el sistema operativo que
corresponde.
Para Windows descargamos el archivo HaskellPlatform-2011.2.0.0-setup.exe.
Una vez descargado instalamos la aplicación haciendo doble clic sobre el
archivo. Esto hará que se instale Haskell en su computador.
Al hacer doble clic sobre el ícono en la barra Inicio/Todos los
programas/winGHCi se ejecutará lo que denominaremos de ahora en más el
intérprete de Haskell.

La línea : Prelude> denominada intérprete de comandos de Haskell es la que
aparece cuando no hay nada definido por el usuario cargado en el ambiente de
Haskell.
Para salir del intérprete se puede usar la opción del menú, o escribir :quit o :q en
el intérprete de comandos.
Página 1 de 4
Para comenzar con Haskell, empezaremos a utilizarlo como si fuera una
calculadora:
Escriba en la línea de comandos, de a una en una las siguientes expresiones en
WinGHCi, y cada vez pulse la tecla ENTER.
1) 20*33
2) 2^18
3) 24*(67-111)
4) 2^(6+3)
5) 73/5
6) div 73 5
7) mod 73 5
8) mod (-20) 3
9) div (-20) 3
10) Deduzca el comportamiento de las funciones div y mod, predefinidas*
en Haskell
11) Pruebe sus propios ejemplos
Esto significa que WinGHCi interpreta expresiones aritméticas y computa su
resultado.
Se denominan *predefinidos los elementos del lenguaje que están
disponibles para su uso cada vez que ejecutamos Haskell. Funciones,
operadores, tipos, colecciones de objetos, palabras reservadas. Estos
elementos están definidos en un archivo de Haskell especial que se denomina
PRELUDE
En Haskell hay muchas funciones (u operadores) predefinidas, ejemplos div,
mod. Veamos algunas otras:
Escriba y ejecute las siguientes expresiones en WinGHCi.
1) max 7 9
2) min 2 (-8)
En WinGHCi no se pueden realizar definiciones en línea de comandos, para ello
se deberá utilizar un archivo .hs.
Pruebe ejecutar la siguiente línea en WinGHCi
y = x+1
El error que devuelve WinGHCi es debido a que se están intentando definir las
variables x e y en línea de comandos.
Probemos la solución correcta: Cree un archivo en la carpeta Mis Documentos
de su disco denominándolo primero.hs
Copie las siguientes líneas en su archivo y guarde.
y = x+1
x = 2*3
Página 2 de 4
Ejecutar en WinGHCi File/Load/ y luego busque primero.hs y selecciónelo.
Escriba x en la línea de comandos y dé enter, lo mismo con y.
Tipos simples predefinidos en Haskell
A continuación estudiaremos los principales tipos de datos predefinidos y las
funciones asociadas a éstos.
Si bien es un concepto que no tiene una definición formal como para
introducir en este nivel, manejaremos el término tipo de datos como el
equivalente a un conjunto de elementos, que puede ser finito o infinito.
El tipo Bool
Los valores de este tipo representan expresiones lógicas, cuyo resultado de
evaluación puede ser verdadero o falso.
En Haskell sólo hay dos constantes para este tipo {True, False} y deben
escribirse exactamente así. Estas son las dos constantes que representan los dos
resultados posibles de evaluar una expresión que tenga (o que pertenezca a ) el
tipo Bool.
Funciones y operadores del tipo Bool
&& - Conjunción lógica
&&: BoolxBool → Bool
*Notación currificada:
&&: Bool → Bool → Bool
|| - Disyunción lógica
||: BoolxBool → Bool
Notación currificada:
||: Bool → Bool → Bool
Los operadores && y || utilizan notación infija
Más adelante estudiaremos lo que significa *notación currificada para
funciones y operadores
not – Negación lógica
not : Bool → Bool
El operador not utiliza notación prefija
otherwise - Función constante que devuelve el valor True
otherwise : Bool
Página 3 de 4
Calcular en Haskell:
1) (8>2) || (4>1)
2) (8>2) && (4>1)
3) (8>2) && (4<1)
4) Escribir y probar en WinGHCi sus propias expresiones utilizando los
operadores lógicos introducidos.
Operadores de igualdad y orden
Para todos los tipos básicos (aún los que todavía no hemos visto) están
definidos los siguientes operadores binarios, las expresiones que utilizan estos
operadores evalúan a algún elemento del conjunto Bool, por lo tanto se
denominan expresiones booleanas.
> Mayor que >= Mayor o igual que
< Menor que <= Menor o igual que
== Igual a /= Distinto de
Observación: el tipo de los dos argumentos (u operandos) para cualquier
aplicación de los operadores anteriores debe ser el mismo. No se pueden
comparar valores de tipos distintos.
Escriba y evalúe las siguientes expresiones en WinGHCi.
1) 7<0
2) 8>2
3) div 8 4 == 2
4) div 4 3 == 0
5) mod 8 4 == 0
6) not (mod 8 4 == 7)
7) 4 /=4
8) div 8 9 /= 20
9) mod 50 10 <= 0
10) div 50 10 >= 6
11) Agregue sus propias expresiones booleanas en WinGHCi y evalúelas
Página 4 de 4








Comments