Haskell

Páginas: 35 (8576 palabras) Publicado: 17 de enero de 2013
Introducción al lenguaje Haskell
Jose E. Labra G.
e-mail: labra@lsi.uniovi.es http://lsi.uniovi.es/~labra Octubre 1998

Universidad de Oviedo
Departamento de Informática

Introducción al lenguaje Haskell

1.- Introducción Haskell es un lenguaje funcional puro, de propósito general, que incluye muchas de las últimas innovaciones en el desarrollo de los lenguajes de programaciónfuncional, como son las funciones de orden superior, evaluación perezosa, tipos polimórficos estáticos, tipos definidos por el usuario, encaje por patrones, y definiciones de listas por comprehensió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 puramentefuncional y la posibilidad de utilización de módulos. El contenido de este cuaderno se divide en dos partes, en la primera se introduce el modelo funcional indicando sus ventajas respecto al modelo imperativo sin referirse a ningún lenguaje funcional en concreto. En la segunda parte se describe el lenguaje Haskell y sus principales características. Se utiliza como referencia el entorno de programaciónHugs y se supone que el lector tiene unos mínimos conocimientos del modelo de programación imperativo o tradicional. Referencias: Aunque al final de estos apuntes se incluye una bibliografía consultada para su realización, las principales fuentes han sido el manual "An Introduction to Gofer" de Mark P. Jones incluido en la distribución del sistema Gofer y el artículo "A gentle Introduction toHaskell" de P. Hudak.

1

Introducción al lenguaje Haskell

2.- Introducción a la Programación funcional 2.1.-Crisis del Software A principios de la década de los setenta aparecieron los primeros síntomas de lo que se ha denominado crisis del software. Los programadores que se enfrentan a la construcción de grandes sistemas de software observan que sus productos no son fiables. La alta tasa deerrores conocidos ( ugs) o por conocer pone en peligro la confianza que los usuarios b depositan en sus sistemas. Cuando los programadores quieren corregir los errores detectados se enfrentan a una dura tarea de mantenimiento. Cuando se intenta corregir un error detectado, una pequeña modificación trae consigo una serie de efectos no deseados sobre otras partes del sistema que, en la mayoría delas ocasiones, empeora la situación inicial. La raíz del problema radica en la dificultad de demostrar que el sistema cumple los requisitos especificados. La verificación formal de programas es una técnica costosa que en raras ocasiones se aplica. Por otro lado, el incremento en la potencia de procesamiento lleva consigo un incremento en la complejidad del software. Los usuarios exigen cada vezmayores prestaciones cuyo cumplimiento sigue poniendo en evidencia las limitaciones de recursos y la fragilidad del sistema. Las posibles soluciones podrían englobarse en las siguientes líneas de investigación: • Ofrecer nuevos desarrollos de la Ingeniería del Software que permitan solucionar el problema del Análisis y Diseño de grandes Proyectos Informáticos. Actualmente las Metodologías Orientadas aObjetos han aportado una evolución importante dentro de este campo. • Proporcionar Sistemas de Prueba y Verificación de programas cuya utilización no sea costosa. • Construir técnicas de Síntesis de Programas que permitan obtener, a partir de unas especificaciones formales, código ejecutable. • Diseñar nuevas Arquitecturas de Computadoras, en particular, técnicas de procesamiento en paralelo. •Proponer un modelo de computación diferente al modelo imperativo tradicional. Esta última solución se basa en la idea de que los problemas mencionados son inherentes al modelo computacional utilizado y su solución no se encontrará a menos que se utilice un modelo diferente. Entre los modelos propuestos se encuentra la programación funcional o aplicativa, cuyo objetivo es describir los problemas...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

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

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS