Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| teaching:cc4101:tareas:2026-1:tarea2:parte3 [2026/05/11 15:20] – [3.3 Transformación a CL] msegur | teaching:cc4101:tareas:2026-1:tarea2:parte3 [2026/05/11 15:48] (current) – [3.3 Transformación a CL] msegur | ||
|---|---|---|---|
| Line 88: | 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 | ||
| + | |||
| + | <note tip> | ||
| + | Algunas cosas que se debe tener en cuenta: | ||
| + | * Recuerde | ||
| + | * 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 95: | 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 " | ||
| - | </ | ||

