PFH: Programas, funciones y dibujos (Introducción a la programación funcional con CodeWorld/Haskell)

He añadido a la lista Programación funcional con Haskell el vídeo Programas, funciones y dibujos (Introducción a la programación funcional con CodeWorld/Haskell) en el que se explica cómo escribir las funciones de los programas para hacer dibujos. En concreto,

  • cómo programar dibujos elementales
  • cómo programar dibujos compuestos
  • cómo transformar dibujos con traslaciones, rotaciones, escalamiento y
  • cómo colorear.
  • cómo programar animaciones

El vídeo es

Los apuntes correspondientes son

PFH: Definiciones de tipos en Haskell

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones de tipos en Haskell en el que se ha estudiado la definición de nuevos tipos de datos y de funciones sobre dichos tipos. Concretamente, se ha visto

  • cómo definir tipos usando type,
  • cómo definir funciones con dominio o rango en tipos definidos usando type,
  • cómo definir tipos usando data,
  • cómo definir funciones con dominio o rango en tipos definidos usando data y
  • cómo definir tipos de datos recursivos usando como ejemplo los naturales, las listas y los árboles.

Se ha insistido en la metodología de definición de funciones recursivas sobre tipos de datos escribiendo una ecuación por cada uno de los constructores del tipo de dato.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Funciones de orden superior en Haskell (Parte 2 de 3): Plegados

He añadido a la lista Programación funcional con Haskell el vídeo Funciones de orden superior en Haskell (Parte 2 de:3): Plegados en el que se continúa el estudio de las funciones de orden superior con las funciones de plegados y la composición de funciones.

En primer lugar, se ha estudiado cómo puede abstraerse los esquemas definición de funciones de recursión sobre listas mediante la función de plegado (foldr) y cómo con dicha función puede simplificarse la definición de funciones.

A continuación se ha visto cómo definir funciones con acumuladores y cómo simplificarlas con el patrón de plegado por la izquierda (foldl).

Finalmente, se ha visto cómo puede simplificarse la definición de funciones usando el operador de composición.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Funciones de orden superior en Haskell (Parte 1 de 3)

He añadido a la lista Programación funcional con Haskell el vídeo Funciones de orden superior en Haskell (Parte 1 de 3) en el que se ha iniciado el estudio de las funciones de orden superior.

En primer lugar, se ha explicado en qué consiste lo de orden superior.

En segundo lugar, se han estudiado las funciones de procesamiento de listas (map) y de filtrado (filter) definiéndolas por comprensión y por recursión. También se ha puesto un ejemplo de utilización de dichas funciones para definir nuevas funciones.

Finalmente, se han explicado otras funciones predefinidas de orden superior: all, any, takeWhile y dropWhile. También se ha comentado cómo buscarlas en Hoogle y cómo consultar sus definiciones.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.

PFH: Definiciones por recursión en Haskell (Parte 2 de 2)

He añadido a la lista Programación funcional con Haskell el vídeo Definiciones por recursión en Haskell (Parte 2 de 2) en el que se completa el estudio de las definiciones por recursión en Haskell comenzado en el vídeo anterior. Concretamente, hemos visto ejemplos de

  • recursión sobre varios argumento,
  • recursión múltiple y
  • de recursión mutua.

El vídeo es

Los apuntes correspondientes son

Una versión interactiva de los apuntes en IHaskell se encuentra aquí.