PFH: Ejercicios de definiciones por plegado

He añadido a la colección de Ejercicios de programación funcional con Haskell la relación Definiciones por plegado en la que se muestra cómo se pueden definir funciones por plegado. Además, se comparan dichas definiciones con las definiciones recursivas, con acumuladores y con evaluación impaciente. Finalmente, se define la función de plegado para los árboles binarios y se usa para definir funciones sobre árboles.

El contenido de la relación es el siguiente
Read More “PFH: Ejercicios de definiciones por plegado”

PFH: Ejercicios sobre tablas y diccionarios en Haskell

He añadido a la colección de Ejercicios de programación funcional con Haskell dos nuevas relaciones:

En la primera, se define el tipo abstracto de dato (TAD) de las tablas como lista de asociación de claves y valores. Los procedimientos del TAD son

En la segunda, se comprueba con QuickCheck cómo las anteriores funciones de la tablas se corresponden con funciones de diccionarios de la libreria Data.Map.

El contenido de las relaciones es el siguiente
Read More “PFH: Ejercicios sobre tablas y diccionarios en Haskell”

PFH: Tipos de datos algebraicos en Haskell

He añadido a la colección de Ejercicios de programación funcional con Haskell la relación Tipos de datos algebraicos en Haskell en la que se estudian los tipos abstractos de datos (TAD) tantos los predefinidos (como booleanos, opcionales, pares y listas) como definidos (árboles binarios). Se definen funciones sobre los TAD y se verifican propiedades con QuickCheck (en el caso de los TAD se definen sus generadores de elementos arbitrarios).

El contenido de la relación es el siguiente
Read More “PFH: Tipos de datos algebraicos en Haskell”