====== 75.14. Lenguajes Formales ====== Este es sólo un esqueleto sobre esta materia; te invitamos a que colabores completando la información relativa a la misma; al editar tendrás todas las instrucciones para hacerlo. **Coordinador:** [[monicakuhn2@yahoo.com.ar|Monica Kuhn]]\\ **Página web oficial:** [[http://ar.groups.yahoo.com/group/Lenguajes_Formales/]]\\ ++++Carreras:| ^ Carrera ^ Créditos ^ Correlativas ^ Condición ^ |[[carreras:sistemas|Licenciatura en Análisis de Sistemas]] | 6 | [[materias:61:07|61.07]] | Optativa | |[[carreras:informática|Ingeniería en Informática]] | 6 | [[materias:61:09|61.09]] | Optativa | ++++ ===== Programa ===== ++++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 ++++ ===== Cursos ===== ++++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 ===== Material ===== ++++Guías| - {{:materias:75:14:guias_1_a_7.pdf|Guía de ejercicios}} - [[.14:guia_LISP|Guía de TP de LISP en X-LISP]] - [[.14:adicionales_LISP|Ejercicios adicionales de LISP en X-LISP]] ++++ ++++Parciales| - [[.14:parcial_20070508_1|Primer parcial primera oportunidad, Funcional y APL. Primer cuatrimestre 2007]] - [[.14:parcial_20071906_1|Segundo parcial primera oportunidad, Lambda y LISP. Primer cuatrimestre 2007]] ++++ ++++Enlaces| * [[http://www.cse.sc.edu/~mgv/group9/index1.html | Interactive FP]]: Página que permite resolver ejercicios de FP. * [[http://www.tryapl.org/ | Try APL]]: Página que permite resolver ejercicios de APL. * [[http://ngn.github.io/apl/web/index.html | APL Demo]]: Página que permite resolver ejercicios de APL. * [[http://ellemose.dina.kvl.dk/~sestoft/lamreduce/lamframes.html|Lambda]]: Página que permite resolver ejercicios de cálculo lambda. ++++