Sinopsis:
La programación tradicional (imperativa u orientada a objetos) se basa en la resolución de problemas mediante algoritmos, los cuales especifican soluciones. Sin embargo existen otros estilos de programación, en los que un programa es una simple especificación formal del problema a resolver, es decir lo importante es el qué y no el cómo. Estos estilos llamados programación funcional y lógica forman la llamada programación declarativa, paradigma de programación basado en diversos tipos de lógica en el que se estudian de forma simple muchos aspectos avanzados de los lenguajes de programacion modernos. Este paradigma encuentra diversas aplicaciones en áreas como las bases de datos, ingeniería de software, procesadores de lenguajes, inteligencia artificial, etc..
El objetivo principal de este curso es revisar brevemente algunos conceptos importantes de la programación lógica, en particular del lenguaje PROLOG, así como dar una introducción sólida a la programación funcional mediante el lenguaje Haskell, a lo cual se dedicará la mayor parte del curso.