¡Esta es una revisión vieja del documento!
Clase 1
- Introducción al uso de Hugs
- Como escribir programas Haskell
Hugs es un intérprete del lenguaje funcional puro Haskell. Durante este taller vamos a utilizarlo para escribir, probar y utilizar los programas funcionales que se dan en el teórico.
A Hugs se lo invoca desde la línea de comandos o picando sobre el ícono en nuestro entorno gráfico. Una vez que el intérprete esta activo, la pantalla se presenta con un prompt a la espera de expresiones a ser evaluadas o commandos.
[nicolasw@azul Taller]$ hugs __ __ __ __ ____ ___ _________________________________________ || || || || || || ||__ Hugs 98: Based on the Haskell 98 standard ||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005 ||---|| ___|| World Wide Web: http://haskell.org/hugs || || Report bugs to: hugs-bugs@haskell.org || || Version: March 2005 _________________________________________ Haskell 98 mode: Restart with command line option -98 to enable extensions Type :? for help Hugs.Base>
En este modo Hugs se convierte en una calculadora esperando que se introduzca una expresión para luego evaluarla y volver a pedir una expresión (lazo leer-evaluar-imprimir). Gracias al preludio standard tenemos muchas funciones ya definidas.
Hugs.Base> 21+21 42 Hugs.Base> 2*4 == 10 `div` 5 && True False Hugs.Base> [2,3,5,7,11]++[1,2] [2,3,5,7,11,1,2] Hugs.Base> reverse "dabale arroz a la zorra el abad" "daba le arroz al a zorra elabad"
Este ciclo continua indefinidamente hasta que pidamos la salida del intérprete con CTRL-D o con el comando
Hugs.Base> :q [Leaving Hugs] [nicolasw@azul Taller]$
Para poder dar nuevas definiciones y/o funciones necesitamos escribir un programa funcional o script Haskell. Un programa funcional es un archivo con terminación .hs donde se escriben en texto plano todas las definiciones que conforman el programa funcional.
A manera de ejemplo realicemos un ciclo de creación-carga-prueba-modificacion-recarga, con el Ejercicio 8.3 del apunte Extracto del Cálculo de Programas