AMPLIACIÓN DE

PROGRAMACIÓN DECLARATIVA

(Curso 2008/2009:  TEORÍA: aula 0.11, miércoles de 11:30 a 13:30. PRÁCTICAS: soft 3, viernes de 9:30 a 11:30)

Carácter Departamento/Área Profesores
Bibliografía Prácticas Evaluación Objetivos

Buzón

Programa:


1. Ampliación de programación funcional.

Fundamentos de la programación funcional (PF).

Ampliación de Haskell (mónadas, clases, estructuras de datos, E/S, ...).

Introducción a la semántica denotacional y operacional.



2. Ampliación de programación lógica.

Fundamentos de la programación lógica (PL).

Ampliación de Prolog (DCG's, paralelismo, internet,...).

Introducción a la semántica declarativa y operacional.

 

3. Temas complementarios.

Integración de paradigmas declarativos (funcional, lógico y difuso).

Transformación y optimización de programas declarativos.

 

 Estudios: I. Informática

Código: 42.630

Carácter: Optativa

Curso: 5º

Créditos: 4,5 

 

 Departamento: Sistemas Informáticos

Área de Conocimiento: Lenguajes y Sistemas Informáticos

 

Profesores:
GUERRERO ABENZA, JUAN ANTONIO

MORENO VALVERDE, GINES

 

Bibliografía

Bird, R.: Introducción a la Programación Funcional con Haskell (2nd Ed.). Prentice-Hall, 2000 (ed. Inglés 1998).

Burstall,R.M.; Darlington, J. A Transformation System for Developing Recursive Programs. J. of the ACM. 1977.

Clocksin, W.F.; Mellis, C.S.: Programación en Prolog. Gustavo Gili, 1987

Conlon, T. Programming in Parlog. Addison-Wesley. 1989

Lloyd, J.W. Foundations of Logic Programming. Springer-Verlag. 1987.

Fethi, R.; Laplane, G.: Algorithms : a functional programmnig Approach. Addison-Wesley, 1999.

Field, A.J.; Harrison, P.G.: Functional programming. Addison-Wesley, 1988

Hanus, M. The Integration of Functions into Logic Programming: From Theory toPractice. JLP. 1994.

Hudak, P; Fasel, Peterson, J.: A gentle introduction to Haskell 1.4 (en entorno Hugs) 1997 (http://haskell.org) (previo: ACM SIGPLAN Notices, Volumen 27, Nº 5, Mayo 1992.)

Huet, G.P. A Unification Algorithm for l -Calculus. TCS. 1974.

Julián, P., Alpuente, M.: Programación Lógica.
Teoría y Práctica. Pearson-Prentice Hall. 2007

Peyton Jones, S., Hughes, J. (ed.): Report of the Programming Languaje HASKELL 98.
1999 (http://haskell.org) (alternativa: Peterson,J;Hammond,K.(ed.): Report HASKELL 1.4 1997)

Ruiz, B., Gallardo, J., Gutiérrez, F., Guerrero, P.: Programación funcional con Haskell.
Univ. de Málaga. 1994

Sterling, L.; Shapiro, E.: The art of Prolog: Advanced programming techniques. MIT Press, 1986

Thomsom,S.:HASKELL:TheCraft of Functional Programming.Addison-Wesley,1996

 

 Prácticas:

Desarrollo de programas en algunos entornos de programación disponibles (SICStus-Prolog, Haskell, Lisp, PAKCS-Curry, ...).
Viernes de 9:30 a 11:30 en el laboratorio Software 3.

 

 Evaluación:

- Evaluación continua:
    . Desarrollo y exposición de temas: hasta un 30 % de la nota final.
    . Evaluación de ejercicios (por temas) propuestos y resueltos tras la exposición de cada clase y  participación en prácticas: hasta un 40%.
    . Control final : hasta un 30 %.

- Exámenes oficiales en dos convocatorias.

 

 Objetivos:

Partiendo de los conocimientos básicos adquiridos en la asignatura Programación Declarativa de 2º curso, se pretende profundizar en la materia a dos niveles: práctico (características avanzadas de Haskell y Prolog, paralelismo en lenguajes lógicos, ...) y teórico (semánticas operacionales, declarativas, denotacionales, ...). También se pretende ofrecer una panorámica de las tendencias actuales en el campo (integración de esquemas declarativos, lenguajes lógico-funcionales, lógicos-difusos,  transformación de programas, ...).