Repositorio de recursos de libreim sobre Haskell.
Introducción a Haskell interactiva que describe desde cero el sistema de tipos, cómo definir y utilizar funciones, tipos y constructores de tipos y funtores. Una versión actualizada del código original utilizado en la charla está disponible aquí.
Contiene ejercicios sobre los temas introducidos que pueden realizarse en el mismo cuaderno si se ejecuta con IHaskell.
También se incluyen algunos ejercicios adicionales.
Los primeros apuntes que creamos están revisados y disponibles en pdf. Son una introducción corta que describe desde cero el sistema de tipos, los constructores de tipos más habituales (listas y tuplas) y cómo definir y utilizar funciones y tipos.
También está disponible el código fuente en LaTeX.
Ejemplos autocontenidos de funtores y uso de mónadas. Requieren los conocimientos de las introducciones desde cero.
- Funtores
- Manejo de errores con
Maybe
- Distribuciones de probabilidad con
State
- Ejemplo de parser con
Parsec
Como parte de una reunión de usuarios de Github en Granada dimos una charla en la OSL. Incluimos aquí la presentación con notas.
Ejemplos autocontenidos realizados en Haskell literario. Pueden compilarse a pdf o ejecutarse con ghc mediante el Makefile que incluimos. Requieren conocer los contenidos descritos en las introducciones desde cero:
En el blog de libreim hay disponibles varios posts que expanden distintos temas de Haskell, relacionados con la teoría de tipos y la teoría de categorías:
-
Teoría de tipos una lista de lectura sobre teoría de tipos. Incluye:
- Álgebra de tipos. Construcción de un álgebra sobre los tipos de Haskell
- Inducción estructural. Generalización de la inducción para trabajar sobre tipos
- Isomorfismo de Curry-Howard. Exposición del isomorfismo de Curry-Howard en Haskell y su utilización en Coq
-
Mónadas. Motivación de las mónadas y visión categórica. Esta última parte requiere conocer conceptos de teoría de categorías.
-
Más recursos en nuestra página de recursos