HASKELL BASICO

Páginas: 84 (20824 palabras) Publicado: 26 de junio de 2013
1 Introducción
El propósito al escribir este tutorial no es enseñar programación, ni siquiera la programación funcional. Por el contrario, el objetivo es servir como un suplemento al informe de Haskell (the Haskell Report) [4] (en lo sucesivo, simplemente el Informe), que es, por otro lado, una densa exposición técnica. Nuestro objetivo es proporcionar una introducción "agradable" a Haskellpara aquellos que tienen experiencia con al menos otro lenguaje, preferiblemente funcional (o "casi-funcional, como ML o Scheme). Si el lector desea aprender más sobre el estilo funcional, recomendamos la lectura del texto de Bird Introduction to Functional Programming [1], o el libro de Davie An Introduction to Functional Programming Systems Using Haskell [2]. Un estudio pormenorizado de loslenguajes para la programación funcional y sus técnicas, incluyendo algunos principios de diseño utilizados en Haskell, puede verse en [3].
El lenguaje Haskell ha evolucionado de forma significativa desde su nacimiento en 1987. Este tutorial está enfocado al Haskell 98. Las versiones anteriores han quedado obsoletas por lo que recomendamos a los usuarios de Haskell a que usen Haskell 98. Existen variasextensiones de Haskell 98 que han sido implementadas eficientemente. Estas no forman parte formalmente de Haskell 98 y no serán tratadas en este tutorial.
Nuestra estrategia general para introducir las características del lenguaje son: motivar la idea, definir algunos términos, dar ejemplos, y dar referencias precisas al Informe para más detalles. Sin embargo, sugerimos que el lector ignoreabsolutamente los detalles hasta completar la lectura de ésta introducción. Por otro lado, el Prelude estándar de Haskell (véase el Apéndice A del Informe) y las librerías estándarizadas (localizables en el Informe de librerías (Library Report)[5]) contiene numerosos ejemplos útiles de código Haskell; recomendamos una lectura cuidadosa de estos ejemplos una vez completada la lectura del tutorial. Conello observará la sensación agradable del código real de Haskell, y también se acostumbrará al conjunto estándar de funciones y tipos predefinidos.
Finalmente, en http://haskel.org podemos encontrar información sobre el lenguaje Haskell y sus implementaciones.
[También hemos tomado la decisión de no exponer demasiado las reglas sintácticas al principio. Más bien, las introducimos de formaincremental según sean demandadas por los ejemplos, y entre corchetes, tal como éste párrafo. Esto contrasta con el orden de exposición del Informe, aunque éste contiene una fuente de detalles bien documentada (las referencias tales como "Informe-Sección 2.1" se refieren a las secciones del Informe).]
Haskell es un lenguaje de programación fuertemente tipado (en términos anglófilos, a typefulprogramming language; término atribuido a Luca Cardelli.) Los tipos son penetrantes (pervasive), y el principiante deberá acostumbrarse desde el comienzo a la potencia y complejidad del sistema de tipos de Haskell . Para aquellos lectores que conozcan únicamente lenguajes no tipados, como Perl, Tcl, o Scheme, esto puede ser una dificultad adicional; para aquellos familiarizados con Java, C, Modula, oincluso ML, el acomodo a nuestro lenguaje será más significativo, puesto que el sistema de tipos de Haskell es diferente y algo más rico. En cualquier caso, la programación fuertemente tipada forma parte de la experiencia de la programación en Haskell, y no puede ser evitada.
2 Valores, Tipos, y otras Golosinas
Puesto que Haskell es un lenguaje funcional puro, todos los cómputos vienen descritosa través de la evaluación de expresiones (términos sintácticos) para producir valores (entidades abstractas que son vistas como respuestas). Todo valor tiene asociado un tipo. (Intuitivamente, podemos pensar que los tipos son conjuntos de valores.) Ejemplos de expresiones son los valores atómicos tales como el entero 5, o el carácter 'a', o la función \x -> x+1, y los valores estructurados como...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Haskell
  • Haskell
  • haskell
  • programas de haskell
  • Resumen Haskell
  • Haskell
  • Haskell
  • Haskell

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS