Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| teaching:cc4101:tareas:2026-1:tarea2:parte3 [2026/05/11 00:26] – created bduarte | teaching:cc4101:tareas:2026-1:tarea2:parte3 [2026/05/11 15:48] (current) – [3.3 Transformación a CL] msegur | ||
|---|---|---|---|
| Line 81: | Line 81: | ||
| * (0.1 ptos) Actualice '' | * (0.1 ptos) Actualice '' | ||
| + | |||
| + | <note tip> | ||
| ---- | ---- | ||
| Line 86: | Line 88: | ||
| ==== 3.3 Transformación a CL ==== | ==== 3.3 Transformación a CL ==== | ||
| - | Ahora que el lenguaje soporta tipos con modificadores, | + | Ahora que el lenguaje soporta tipos con modificadores, |
| + | |||
| + | Por ejemplo, si se requiere un argumento con estrategia lazy o by-name, y se usa un argumento que tiene evaluación temprana, entonces hay que ajustar la expresión de tal manera que se retrase su evaluación. Una forma de retrasar la evaluación de una expresión '' | ||
| + | |||
| + | <note tip> | ||
| + | Algunas cosas que se debe tener en cuenta: | ||
| + | * Recuerde que la diferencia entre lazy (a.k.a. by-need) y by-name es que la primera evalúa una sola vez la expresión y luego " | ||
| + | * En el caso de '' | ||
| + | </ | ||
| * (1.4 pto) Modifique la función de transformación para que se apliquen los ajustes necesarios. | * (1.4 pto) Modifique la función de transformación para que se apliquen los ajustes necesarios. | ||
| Line 93: | Line 104: | ||
| </ | </ | ||
| - | <note tip> | ||
| - | Para una correcta transformación, | ||
| - | * Si se requiere un argumento con estrategia lazy o by-name, y se usa un argumento que tiene evaluación temprana, entonces hay que ajustar la expresión de tal manera que se retrase su evaluación. | ||
| - | * Una forma de retrasar la evaluación de una expresión '' | ||
| - | * Si se requiere una evaluación temprana y el argumento fue declarado lazy o by-name, entonces es necesario ajustarlo para que efectivamente se evalúe en ese punto. | ||
| - | * Si tanto la función como el argumento calzan en la estrategia, entonces no hay nada que hacer. | ||
| - | * Recuerde que la diferencia entre lazy (a.k.a. by-need) y by-name es que la primera evalúa una sola vez la expresión y luego " | ||
| - | </ | ||

