Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
teaching:cc4101:tareas:2022-1:tarea2:parte3 [2022/05/04 15:58] – created tdiaz | teaching:cc4101:tareas:2022-1:tarea2:parte3 [2023/05/08 16:03] (current) – [3.1 Modificadores] tvallejos | ||
---|---|---|---|
Line 41: | Line 41: | ||
| <id> | | <id> | ||
| {<SL> <SL>} | | {<SL> <SL>} | ||
- | | {fun < | + | | {fun {<sym> : <mtype>} : < |
| {printn <SL>} | | {printn <SL>} | ||
Line 53: | Line 53: | ||
| {< | | {< | ||
</ | </ | ||
- | (Note la definición mutuamente recursiva entre ''< | ||
* (0.1 ptos) Modifique la definición de '' | * (0.1 ptos) Modifique la definición de '' | ||
Line 60: | Line 59: | ||
**Hint**: si bien en la sintaxis solo existen dos modificadores, | **Hint**: si bien en la sintaxis solo existen dos modificadores, | ||
+ | |||
+ | **Observaciones**: | ||
+ | * Note la definición mutuamente recursiva entre ''< | ||
+ | * Se puede pensar '' | ||
+ | * Note también que los modificadores solo se pueden aplicar al dominio y al codominio. Por lo que una funcion no puede tener tipo '' | ||
---- | ---- | ||
Line 82: | Line 86: | ||
Para una correcta transformación, | 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. | * 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 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 es necesario hacer cambios. | * Si tanto la función como el argumento calzan en la estrategia, entonces no es necesario hacer cambios. |