Exámenes de programación funcional con Haskell (2)

He publicado una actualización del libro Exámenes de programación funcional con Haskell (2009-2014) en el que recopilo los exámenes de la asignatura de Informática (de primero del Grado en Matemáticas) desde el curso 2009-10 hasta el actual. El libro contiene 81 exámenes y 539 ejercicios.

Este libro es el complemento de los anteriores:

I1M2013: Ejercicios sobre funciones de orden superior y plegados (2)

En la clase de hoy del curso Informática (de 1º de Grado en Matemáticas) se han comentado las soluciones de los ejercicios 6 a 11 de la 12ª relación. En los ejercicios se piden definiciones de funciones de orden superior y con plegados.

Los ejercicios y soluciones se muestran a continuación
Read More “I1M2013: Ejercicios sobre funciones de orden superior y plegados (2)”

Structural induction principles for functional programmers

Se ha publicado un artículo sobre la automatización del razonamiento titulado Structural induction principles for functional programmers.

Su autor es James Caldwell (de la Universidad de Wyoming).

Su resumen es

User defined recursive types are a fundamental feature of modern functional programming languages like Haskell, Clean, and the ML family of languages. Properties of programs defined by recursion on the structure of recursive types are generally proved by structural induction on the type. It is well known in the theorem proving community how to generate structural induction principles from data type declarations. These methods deserve to be better know in the functional programming community. Existing functional programming textbooks gloss over this material. And yet, if functional programmers do not know how to write down the structural induction principle for a new type – how are they supposed to reason about it? In this paper we describe an algorithm to generate structural induction principles from data type declarations. We also discuss how these methods are taught in the functional programming course at the University of Wyoming. A Haskell implementation of the algorithm is included in an appendix.

El trabajo se ha publicado en los Proceedings Second Workshop on Trends in Functional Programming In Education.