[S15] Boletín Semanal 8

Gaspar Ricci 27 Nov 202327/11/23 a las 08:00 hrs.2023-11-27 08:00:27
Boletines Semanales

Hitos Evaluativos
  • Entrega 5: Atrasos hasta este domingo 3 de diciembre.
  • Ya no quedan más quizzes :)

Temas de la Semana
Plazo Recomendado:
Lunes 4 de diciembre.

Representaciones Intermedias y Optimizaciones
[Videos: Comments on IRs & Optimisations] [Apuntes: Michel Steuwer's SPLV Talk 1Talk 3]
El video es una breve discusión sobre los siguientes puntos:
  • ¿En qué momento es conveniente hacer las optimizaciones?
  • Relación entre representaciones intermedias y optimizaciones
  • Algunos ejemplos
Las charlas de Michel Steuwer abordan estos temas con más detalle.

[OPCIONAL] Optimización de Recursión por la Cola (TRO)
[Videos: Tail Recursion] [Apuntes: Tail Recursion & Tail Calls]
  • Motivación: Stack overflow
  • ¿Cómo optimizan la recursión los distintos lenguajes?
  • Comparación entre iteración y recursión
  • ¿Qué es recursión por la cola y cómo podemos optimizarla?
  • Esquemas de compilación de la optimización

Anuncios y Recordatorios
  • Recuerden que pueden (re)entregar hasta la última semana de exámenes.
  • Los contenidos de estas 2 últimas semanas no son evaluados, pero recomendamos mucho que los revisen pues son súper interesantes ;D
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 30 a las 16:15 hrs.

Mucho éxito en todo! :D

[S14] Boletín Semanal 7

Gaspar Ricci 20 Nov 202320/11/23 a las 07:11 hrs.2023-11-20 07:11:20
Boletines Semanales

Hitos Evaluativos
  • Entrega 5: Plazo hasta este domingo 26 de noviembre.
  • Quiz 5: Cierra mañana martes a las 23:59.

Temas de la Semana
Plazo Recomendado:
Lunes 27 de noviembre.

Demostrar la Correctitud de un Compilador
[Apuntes: CPDT] [Videos: Intro to Coq & Definitions | Proving Compiler Correct]
Video 1:
  • Breve introducción a Coq
  • Definición del lenguaje source (AST)
  • Implementación del evaluador
  • Implementación de la máquina de pila
Video 2:
  • Implementación del compilador
  • ¿Cómo podemos enunciar el teorema de correctitud?
  • Demostración de la correctitud

Anuncios y Recordatorios
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 23 a las 16:15 hrs.

Mucho éxito en todo! :D

[S13] Boletín Semanal 5

Gaspar Ricci 13 Nov 202313/11/23 a las 08:26 hrs.2023-11-13 08:26:13
Boletines Semanales

Hitos Evaluativos
  • Entrega 5: Recién publicada! Plazo hasta domingo 26 de noviembre.
  • Quiz 5: Se publicará este jueves 16 de noviembre.

Temas de la Semana
Plazo Recomendado:
Lunes 20 de noviembre.

Gestión de Memoria [Parte 2/2]
[Apuntes: Memory Management][Videos: Garbage CollectionCalling the GC]
  • Recolección de Basura con «Mark-and-Sweep»
  • Problema: Fragmentación del Heap
  • Recolector con dos espacios
  • Algoritmo de Cheney
  • Algunas desventajas del algoritmo de Cheney
  • ¿Cómo activamos el GC?
  • Interacción entre el runtime system y el assembly generado por el compilador
  • Presentación del código base y testeo del GC

Anuncios y Recordatorios
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 16 a las 16:15 hrs.

Mucho éxito en todo! :D

[S12] Boletín Semanal 5

Gaspar Ricci 6 Nov 202306/11/23 a las 08:16 hrs.2023-11-06 08:16:06
Boletines Semanales

Hitos Evaluativos
  • Entrega 4: Plazo hasta este domingo 12 de noviembre.
  • Quiz 4: Cierra mañana martes 7 de noviembre.

Temas de la Semana
Plazo Recomendado:
Lunes 13 de noviembre.

Gestión de Memoria [Parte 1/2]
[Apuntes: Memory Management] [Videos: Memory Management (Part 1/2)]
  • ¿Qué es la gestión de memoria? ¿Por qué y para qué sirve?
  • ¿Qué alternativas existen para administrar la memoria?
  • «Conteo de Referencias»
  • Mutación y las dificultades que puede introducir
  • Recolección de basura (garbage collection)
  • Correctitud (soundness) vs. Completitud (completeness)

Anuncios y Recordatorios
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 9 a las 16:15 hrs.

Mucho éxito en todo! :D

[S11] Boletín Semanal 7

Gaspar Ricci 23 Oct 202323/10/23 a las 08:11 hrs.2023-10-23 08:11:23
Boletines Semanales

Hitos Evaluativos
  • Entrega 4: Publicada! Plazo hasta domingo 12 de noviembre.
  • Quiz 4: Se abrirá este jueves 26 de octubre.

Temas de la Semana
Plazo Recomendado:
Lunes 6 de noviembre.

Funciones de Primera Clase [Fin 3/3]
[Apuntes: 1st Class Funs][Videos: 1st Class Funs (Parte 3/3)]
  • Cómo construir la clausura (al fin :D)
  • ¿Cómo se compila el cuerpo de una lambda?
  • ¿Cómo se accede a las variables libres del cuerpo de una lambda?
  • Resumen y ejemplo completo de compilación

Anuncios y Recordatorios
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 26 a las 16:15 hrs.

Mucho éxito en todo! :D

[S10] Boletín Semanal 9

Gaspar Ricci 16 Oct 202316/10/23 a las 08:16 hrs.2023-10-16 08:16:16
Boletines Semanales

Hitos Evaluativos
  • Entrega 3: Plazo hasta este domingo 22 de octubre.
  • Quiz 4: Se abrirá el jueves 26 de octubre (próxima semana)

Temas de la Semana
Plazo Recomendado:
Próximo lunes 23 de octubre.

Funciones de Primera Clase [Parte 2/3]
[Apuntes: 1st Class Funs] [Videos: 1st Class Funs (Part 2/3)]
  • ¿Cómo se puede unificar los llamados a funciones?
  • Problemas al compilar let-lambdas
  • Variables libres en el cuerpo de una función
  • Funciones como clausura
  • ¿Cómo se calculan las variables libres en el cuerpo de una función?
  • ¿Cómo se calculan los accesos a dichas variables?

Anuncios y Recordatorios
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 19 a las 16:15 hrs.

Mucho éxito en todo! :D

[S9] Boletín Semanal 6

Gaspar Ricci 10 Oct 202310/10/23 a las 06:32 hrs.2023-10-10 06:32:10
Boletines Semanales

Hitos Evaluativos
  • Entrega 3: Publicada! Plazo hasta el domingo 22 de octubre.
  • Quiz 3: Cierra hoy martes a las 23:59!

Temas de la Semana
Plazo Recomendado:
Próximo lunes 16 de octubre.

Funciones de Primera Clase [Parte 1/3]
[Apuntes: 1st Class Funs][Videos: 1st Class Funs]
  • ¿Cómo podemos pasar una función como parámetro?
  • Compilar una función que recibe otra como parámetro
  • ¿Cuál es el «valor» que representa a una función?
  • Representar una función con tagging
  • Verificar aridad de una función

Anuncios y Recordatorios
  • La materia de funciones de primera clase se verá a lo largo de 3 semanas, siendo esta la primera. Hay bastante que ver, por lo que recomendamos que revisen los videos y apuntes en los plazos sugeridos para que los «digieran» con calma.
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 12 a las 16:15 hrs.

Mucho éxito en todo! :D

[S8] Boletín Semanal 7

Gaspar Ricci 2 Oct 202302/10/23 a las 10:28 hrs.2023-10-02 10:28:02
Boletines Semanales

Hitos Evaluativos
  • Entrega 2: Plazo hasta este domingo 8 de octubre.
  • Quiz 3: Se abrirá este jueves 5 de octubre, y evaluará la materia vista esta semana.

Temas de la Semana
Plazo Recomendado:
Próximo lunes 9 de octubre.

Tuplas y Mutación
[Apuntes: Tuplas & Heap | Mutación] [Videos: Tuplas & Heap | Mutación]
  • Agregar tuplas como valores al lenguaje usando tagging.
  • Reservar espacio en el heap para las tuplas.
  • Alineación del heap.
  • Mutación de tuplas y variables.
  • Secuenciar operaciones.

Anuncios y Recordatorios
  • Recuerden que el profesor está con licencia hasta el 10/10. De todas formas, pueden seguir contactándolo por correo o el foro, sólo que podría tardar más de lo normal en responder.
  • El servidor de Discord es una herramienta del curso, pues ahí tendremos las reuniones de seguimiento y es el canal de comunicación más directo con su «auxiliar tutor». Por favor revísenlo regularmente.
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread que se abrirá para estos efectos. Si el miércoles en la noche hay suficientes dudas, habrá una sesión de consultas este jueves 5 a las 16:15 hrs.

Mucho éxito en todo! :D

[S7] Boletín Semanal 6

Gaspar Ricci 25 Sep 202325/09/23 a las 10:10 hrs.2023-09-25 10:10:25
Boletines Semanales

Hitos Evaluativos
  • Entrega 2: Publicada hoy! Plazo hasta el domingo 8 de octubre.
  • Quiz 2: Está abierto hasta mañana martes 26 a las 23:59.

Temas de la Semana
Recuerden que como esta semana es una extensión, seguimos viendo los contenidos de la semana pasada.

Plazo Recomendado: Próximo lunes 2 de octubre

Funciones de Primer Orden
[Apuntes: Funs 1er Orden] [Videos: Funs 1er Orden]
  • Extender el lenguaje con funciones de primer orden (al top-level)
  • Generalizar llamados a funciones
  • Compilar una aplicación de función
  • Compilar una declaración de función

Anuncios y Recordatorios
  • IMPORTANTE: Recuerden que el servidor de Discord es una herramienta del curso, pues ahí tendremos las reuniones de seguimiento y es el canal de comunicación más directo con su «auxiliar tutor». Por favor revísenlo regularmente.
  • Si tienen dudas de la materia de esta semana, publíquenlas en este thread que el profesor abrió la semana pasada. Si hay suficientes dudas, habrá una sesión de consultas este jueves 28 a las 16:15 hrs.

Mucho éxito en todo! :D

[S6] Boletín Semanal 6

Gaspar Ricci 20 Sep 202320/09/23 a las 08:30 hrs.2023-09-20 08:30:20
Boletines Semanales

Hitos Evaluativos
  • Entrega 2: Será publicada el lunes 25 de septiembre.
  • Quiz 2: Será publicado este jueves 21 de septiembre, y evaluará los contenidos vistos hasta esta semana.

Temas de la Semana
Plazo Recomendado: Próximo lunes 25/9

Funciones de Primer Orden
[Apuntes: Funs 1er Orden] [Videos: Funs 1er Orden]
  • Extender el lenguaje con funciones de primer orden (al top-level)
  • Generalizar llamados a funciones
  • Compilar una aplicación de función
  • Compilar una declaración de función

Anuncios y Recordatorios
  • La próxima semana (S7) está marcada como ~extension~ en el cronograma de contenidos. El propósito de esto es que puedan consolidar los contenidos vistos hasta ahora, y dar la oportunidad de ponerse al día antes de seguir introduciendo nuevos temas. A pesar de esto, recomendamos ver la materia de funciones de primer orden durante estos días para que el lunes tengan todos los conocimientos para comenzar la entrega 2.
  • Si tienen dudas de la materia de esta semana, publíquenlas en el thread del foro que abrirá el profesor para dichos efectos. Como esta semana es corta, la sesión de preguntas no sería mañana, sino que el próximo jueves 28.

Mucho éxito en todo! :D