Objetivos
Que el alumno aprenda programación funcional basándose en los conceptos teóricos básicos del Cálculo
Lambda utilizando en la práctica los lenguajes funcionales Lisp, FP y APL.
Programa sintético
Unidad 1: Sistema FP
Conjuntos de objetos: átomos, secuencias e indefinido.
Funciones primitivas: selectores, distribución, trasposición, rotación, condicional, predicados.
Formas funcionales: composición, construcción, inserción aplicación a todo. Definición de funciones.
Unidad 2: APL
Tipos de datos simples y estructurados. Modo comando y modo programa.
Operadores monádicos y diádicos. Operadores aplicados a vectores y matrices. Producto interno y producto externo.
Definición de funciones y procedimientos. Transmisión de parámetros.
Unidad 3: Cálculo Lambda
Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución.
Reglas de conversión: alfa, beta y etha. Orden de evaluación: o. Normal y o aplicativo. Combinadores. Puntos fijos.
Aplicaciones: Conectivos proposicionales, numerales de Church, Thunks.
Unidad 4: Lisp
Átomos y Listas. Primitivas básicas de Lisp. Predicados y condicionales. Definición de funciones. Pasaje de parámetros. Abstracción de funciones y recursividad. Intérrprete de Basic en Lisp. Intérprete de Lisp en Lisp. Definición de pattern matching. Aplicaciones a la inteligencia artificial: Sistemas de producción.
Programa analítico
Unidad I Sistema FP
Átomos, secuencias e indefinido. Funciones primitivas. Formas funcionales. Definición de funciones
Unidad II APL
Tipos de datos simples y estructurados. Operadores monádicos y diádicos. Operadores aplicados a vectores y matrices. Definición de funciones y procedimientos. Transmisión de parámetros.
Unidad III Cálculo Lambda
Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución. Reglas de conversión alfa beta y etha. Orden de evaluación: o. normal y o. aplicativo. Aplicaciones.
Unidad IV Lisp
Mostrar cursos
Curso | Modalidad | Docentes | Días | Horario |
1 | TPO | KUHN-BERGMAN-CORSI-FRETTE | lunes y martes | L→ 09:00 - 11:00 y M→ 19:00 - 23:00 |
La materia sólamente se dicta los primeros cuatrimestres de cada año