Herramientas de usuario

Herramientas del sitio


algo1:2010-2:haskell-intro

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
algo1:2010-2:haskell-intro [2010/08/16 03:15] – creado mpaganoalgo1:2010-2:haskell-intro [2018/08/10 03:03] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +==== Algunas herramientas para el laboratorio ====
 +
 +
 En algunos de los proyectos necesitaremos consultar sobre la En algunos de los proyectos necesitaremos consultar sobre la
 definición de algunas clases, o sobre la existencia de alguna función definición de algunas clases, o sobre la existencia de alguna función
Línea 14: Línea 17:
  
 Para instalar GHCi en nuestra máquina podemos descargar la Para instalar GHCi en nuestra máquina podemos descargar la
-[[http://hackage.haskell.org/platform/ || plataforma Haskell]], que+[[http://hackage.haskell.org/platform/ | plataforma Haskell]], que
 además del intérprete y del compilador contiene muchas librerías (una además del intérprete y del compilador contiene muchas librerías (una
 librería-mal traducción para el término library- es un conjunto de librería-mal traducción para el término library- es un conjunto de
Línea 27: Línea 30:
 nuestra distribución.  nuestra distribución. 
  
-- Averiguar la definición de una clase:+== Usar el intérprete para averiguar cosas ==
  
-Tanto en Hugs como en GHCi podemos hacer (los puntos suspensivos los +Tanto en Hugs como en GHCi podemos conocer la definición de una clase 
-usamos para no mostrar la salida que obtenemos de un comando cuando +los tipos que forman parte de la misma :
-la misma es muy extensa):+
 <code> <code>
 Hugs> :i Ord Hugs> :i Ord
 ... ...
 </code> </code>
 +Los puntos suspensivos los usamos para no mostrar la salida que obtenemos
 +de un comando cuando la misma es muy extensa.
  
 También podemos usar :i para conocer dónde está definida También podemos usar :i para conocer dónde está definida
Línea 44: Línea 48:
 </code> </code>
  
-- Averiguar el tipo de una expresión:+Para averiguar el tipo de una expresión podemos usar:
 <code> <code>
 Hugs> :t expresion Hugs> :t expresion
 </code> </code>
-3. Cómo interpretar un error al cargar un archivo:+ 
 +== Cómo interpretar un error al cargar un archivo == 
 Supongamos que tenemos el archivo Min.hs Supongamos que tenemos el archivo Min.hs
-user $ cat Min.hs 
 <code haskell> <code haskell>
 minimo :: [a] -> a minimo :: [a] -> a
Línea 57: Línea 62:
 minimo (x:y:xs) = min x (minimo (y:xs)) minimo (x:y:xs) = min x (minimo (y:xs))
 </code> </code>
 +
 Y lo cargamos en Hugs Y lo cargamos en Hugs
 <code> <code>
Línea 99: Línea 105:
 restricción. restricción.
  
-Conocer qué hace una función:+== Conocer qué hace una función ==
  
 Para saber qué hace una función no tenemos un método desde Hugs Para saber qué hace una función no tenemos un método desde Hugs
Línea 106: Línea 112:
  
 El reporte de Haskell es donde se define la sintaxis de los programas El reporte de Haskell es donde se define la sintaxis de los programas
-Haskell y una semántica para los mismos (análogo al capítulo XX del +Haskell y una semántica para los mismos (análogo al capítulo 8, //El modelo  
-libro). En este reporte está definido el llamado preludio (Prelude) +computacional// del libro). En este reporte está definido el llamado  
-que incluye algunas clases, tipos y funciones predefinidas.+preludio (Prelude) que incluye algunas clases, tipos y funciones predefinidas.
  
 Las clases y los tipos predefinidos de Haskell se encuentran  Las clases y los tipos predefinidos de Haskell se encuentran 
 documentados en el [[ documentados en el [[
-http://www.haskell.org/onlinereport/haskell2010/haskellch6.html | capítulo 6]]. +http://www.haskell.org/onlinereport/haskell2010/haskellch6.html | capítulo 6]].En el
- +
-En el+
 [[http://www.haskell.org/onlinereport/haskell2010/haskellch9.html| [[http://www.haskell.org/onlinereport/haskell2010/haskellch9.html|
 capítulo 9]] del reporte está la definición completa del Prelude. capítulo 9]] del reporte está la definición completa del Prelude.
- 
  
 También podemos consultar el contenido del Preludio usando la También podemos consultar el contenido del Preludio usando la
 documentación del mismo en documentación del mismo en
 [[http://haskell.org/ghc/docs/6.12.1/html/libraries/base-4.2.0.0/Prelude.html|Hackage]] [[http://haskell.org/ghc/docs/6.12.1/html/libraries/base-4.2.0.0/Prelude.html|Hackage]]
-(que es un sitio donde se ncuentra la documentación, entre otras+(que es un sitio donde se encuentra la documentación, entre otras
 cosas, de muchas librerías de Haskell). cosas, de muchas librerías de Haskell).
- 
  
 Tal vez sea díficil encontrar la definición de una clase, tipo o Tal vez sea díficil encontrar la definición de una clase, tipo o
Línea 131: Línea 133:
 definiciones de Haskell. definiciones de Haskell.
  
- +== Usando Hoogle ==
-Usando Hoogle.+
 La forma en que vamos a utilizar Hoogle, por el momento, es consultando La forma en que vamos a utilizar Hoogle, por el momento, es consultando
 definiciones en el preludio. Para ello, ingresamos en la caja de texto, definiciones en el preludio. Para ello, ingresamos en la caja de texto,
algo1/2010-2/haskell-intro.1281928503.txt.gz · Última modificación: 2018/08/10 03:03 (editor externo)