Next revision | Previous revision |
teaching:cc4101:tareas:2022-1:tarea2 [2022/05/04 15:55] – created tdiaz | teaching:cc4101:tareas:2022-1:tarea2 [2022/05/04 15:58] (current) – [Partes] tdiaz |
---|
| |
Les entregamos implementaciones de CL y SL, que tendrán que extender. | Les entregamos implementaciones de CL y SL, que tendrán que extender. |
Antes de empezar la tarea, miren en detalle la [[teaching:cc4101:tareas:2022-1:tarea2xyz:parte0|introducción a SL y CL]] para familiarizarse con el código que les entregamos. | Antes de empezar la tarea, miren en detalle la [[teaching:cc4101:tareas:2022-1:tarea2:parte0|introducción a SL y CL]] para familiarizarse con el código que les entregamos. |
| |
---- | ---- |
===== Partes ===== | ===== Partes ===== |
| |
- [[teaching:cc4101:tareas:2022-1:tarea2xyz:parte1|Testing de efectos (2 ptos)]] El lenguaje CL incluye una primitiva para imprimir en pantalla (útil para poder observar si se evalúa una expresión, y cuántas veces). Se darán cuenta que escribir pruebas (//tests//) para corroborar que se imprime lo esperado requiere de un soporte adicional. En esta primera parte, agregarán una forma de testear el efecto de imprimir usando una técnica que usa alcance dinámico. | - [[teaching:cc4101:tareas:2022-1:tarea2:parte1|Testing de efectos (2 ptos)]] El lenguaje CL incluye una primitiva para imprimir en pantalla (útil para poder observar si se evalúa una expresión, y cuántas veces). Se darán cuenta que escribir pruebas (//tests//) para corroborar que se imprime lo esperado requiere de un soporte adicional. En esta primera parte, agregarán una forma de testear el efecto de imprimir usando una técnica que usa alcance dinámico. |
- [[teaching:cc4101:tareas:2022-1:tarea2xyz:parte2|Memoización (2 ptos)]] En la segunda parte, extenderán CL con funciones //memoizadas//, es decir, funciones que "recuerdan" los resultados que produjeron para los argumentos que ya recibieron en el pasado. Esas funciones especiales serán útiles para resolver la parte 3. | - [[teaching:cc4101:tareas:2022-1:tarea2:parte2|Memoización (2 ptos)]] En la segunda parte, extenderán CL con funciones //memoizadas//, es decir, funciones que "recuerdan" los resultados que produjeron para los argumentos que ya recibieron en el pasado. Esas funciones especiales serán útiles para resolver la parte 3. |
- [[teaching:cc4101:tareas:2022-1:tarea2xyz:parte3|Estrategias de evaluación (2 ptos)]] La tercera parte consiste en agregar modificadores de tipos a SL para especificar la estrategia de evaluación a usar, y realizar estos modificadores mediante una modificación de la transformación de programas SL a CL. | - [[teaching:cc4101:tareas:2022-1:tarea2:parte3|Estrategias de evaluación (2 ptos)]] La tercera parte consiste en agregar modificadores de tipos a SL para especificar la estrategia de evaluación a usar, y realizar estos modificadores mediante una modificación de la transformación de programas SL a CL. |
| |
| |