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”

PFH: Sistema de decisión de tautologías en Haskell

He añadido a la lista Programación funcional con Haskell el vídeo Sistema de decisión de tautologías en Haskell en el que se ha estudia cómo construir un programa para determinar si una fórmula es una tautología. Para ello se consideran las siguientes fases:
1. definir un tipo de dato algebraico para las fórmulas proposicionales,
2. definir un tipo de dato para las interpretaciones,
3. definir una función para calcular los valores de las fórmulas en las interpretaciones
4. definir una función para generar todas las posibles interpretaciones de una fórmula y
5. definir una función que para decidir si una fórmula es tautología (es decir, su valor es verdadero en todas sus interpretaciones).

El vídeo es

Los apuntes correspondientes son

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