I1M2013: Definiciones de tipos de datos en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado las definiciones de nuevos tipos de datos y de funciones sobre dichos tipos. Concretamente, se ha estudiado

  • 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.

Como caso de estudio se ha iniciado la construcción de un programa para determinar si una fórmula es una tautología. Para ello se ha definido el tipo de dato de las fórmulas proposicionales, el de las interpretaciones y una función para definir el valor de una fórmula respecto de una interpretación. Se ha dejado como ejercicio la definición de las restantes funciones para completar el programa.

El código correspondiente es

Las transparencias usadas en la clase son las páginas 1 a 23 del tema 9: