Miércoles 11/3. Distintas formas de dar significado a los lenguajes de programación. Sintaxis abstracta: gramáticas abstractas. Definición de la función semántica: ecuaciones semánticas, dirección por sintaxis y composicionalidad.
Semana del 16 al 20 de marzo.
Propiedades de la semántica: Teoremas de Coincidencia y Renombre. Demostraciones: Teorema de coincidencia. Un lenguaje imperativo simple (sin iteración). Sintaxis abstracta. Semántica denotacional. Filminas Eje 1 de 45 a 73.
Dificultades para dar significado a un programa recursivo de Haskell. Ecuaciones recursivas y sus soluciones. Ordenes parciales. Orden discreto y llano. Cadenas. Supremo de un subconjunto. Posets de funciones. Predominios y dominios. Ejemplos. Supremo de cadenas en el posets de funciones. Funciones continuas. Filminas Eje 2 de 1 a 20
Semana del 25 al 27 de marzo.
Supremo de cadenas en el posets de funciones. Funciones continuas. Dominios de funciones continuas. Teorema del Menor Punto Fijo. Aplicacion del TMPF para caracterizar la solución buscada de una ecuación recursiva. Resto de las Filminas del eje 2.
El lenguaje Imperativo Simple (LIS). Sintaxis abstracta. Semántica denotacional. El problema de dar semántica dirigida por sintaxis a la iteración. Uso del TMPF para la semántica de la iteración. Filminas del eje 3, desde la 1 a la 21.
Semana del 1 al 3 de abril.
Uso del TMPF para la semántica de la iteración. Desarrollo de ejemplos. Propiedades de la semántica denotacional: Teoremas de renombre y coincidencia. Noción de sustitución para el LIS. Teorema de sustitución (enunciado). Prueba del Teorema de Coincidencia para LIS.
Semana del 8 al 10 de abril. Sintaxis abstracta y semántica denotacional del Lenguaje Imperativo Simple con Fallas. Semántica operacional de LIS. La relación “small-step”. Configuraciones. Definición axiomática de la relación “small-step”.Semántica de transiciones de LIS. Noción de Ejecución.
Semana del 15 al 17 de abril. Corrección de la semántica de transiciones de LIS respecto de la semántica denotacional. (Ver apunte en Material ccomplementario de la primera parte) Semántica de transiciones de LIS con fallas. (Filminas del Eje 3 Segunda parte) Producto de dominios. Uniones disjuntas de predominios. Definiciones, cadenas y supremos en estas construcciones. (Filminas del Eje 3 tercera parte, diapositivas 1 a 7)
Semana del 22 al 24 de abril Sintaxis y semántica del lenguaje imperativo con fallas y output. Definición del dominio semántico mediante ecuaciones recursivas de dominio. Ejemplos.
Semana del 29 al 1 de mayo Sintaxis y semántica del lenguaje imperativo con fallas, input y output. Definición del dominio semántico mediante ecuaciones recursivas de dominio. Ejemplos.
Semana del 6 al 8 de mayo Cálculo Lambda, su sintaxis. Sustitución. Conversión alpha. Redex beta. Noción de contracción y reducción. Formas normales. Distintos órdenes de reducción. Noción de ejecución: definición de la semántica small-step. Propiedades y ejemplos.
Semana del 11 al 15 de mayo Noción de evaluación. Evaluación normal e eager. Reglas axiomáticas.
Semana del 18 al 22 de mayo Semántica denotacional del CL: el dominio D infinito. Ecuaciones semánticas. Propiedades de la semántica: reglas beta y eta, Teorema de Coincidenia, Sustitución y Renombre. Ejemplos.
Semana del 26 al 29 de mayo Semántica denotacional para las evaluaciones eager y normal del CL. Ecuaciones semánticas. Ejemplos. Análisis de la validez de propiedades de la semántica: regla beta, eta, Teoremas de Coincidencia, renombre y sustitución.
Semana del 1 al 5 de junio Lenguajes aplicativos eager y normal. Fragmento básico. Sintaxis abstracta. Semántica operacional big-step: reglas para las evaluaciones eager y normal. (Los contenidos no reproducen el orden de las diapositivas: ver Diap. 4 a 11, 26 a 29 y 37 a 40)
Semana del 8 al 12 de junio Semántica denotacional eager y normal del lenguaje aplicativo (fragmento básico) Diapositivas 12-25
Semana del 16 al 19 de junio Semántica denotacional eager y normal de la recursión en el lenguaje aplicativo. Diapositivas 40 al final.