Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
teaching:cc4101:tareas:2017-1:tarea2 [2017/05/29 03:29] – [Tarea 2] fmosso | teaching:cc4101:tareas:2017-1:tarea2 [2017/06/04 23:28] (current) – [Listas (1.5 ptos)] elabrada |
---|
{pred {Succ {Succ {Zero}}}}}) | {pred {Succ {Succ {Zero}}}}}) |
{Succ {Zero}} | {Succ {Zero}} |
| > (run '{local {{datatype BinTree |
| {Leaf v} |
| {Node v l r}}} |
| {Node 10 {Leaf 7} {Leaf 2}}}) |
| {Node 10 {Leaf 7} {Leaf 2}} |
</code> | </code> |
Observe que ''%%define%%'' y ''%%datatype%%'' sólo pueden usarse en la zona de declaraciones de una expresión ''local''. Al declarar una estructura, la implementación extiende el ambiente usado en el cuerpo de ''local'' con las funciones constructoras de cada variante; y con predicados para determinar si un valor corresponde a la estructura (en general, y para cada variante). Para más detalles, consulte la implementación y tests provistos. | Observe que ''%%define%%'' y ''%%datatype%%'' sólo pueden usarse en la zona de declaraciones de una expresión ''local''. Al declarar una estructura, la implementación extiende el ambiente usado en el cuerpo de ''local'' con las funciones constructoras de cada variante; y con predicados para determinar si un valor corresponde a la estructura (en general, y para cada variante). Para más detalles, consulte la implementación y tests provistos. |
5 | 5 |
</code> | </code> |
- (0.2) Finalmente, para dar una impresión más cómoda trabajando con listas, modifique el pretty-printer para que en el caso de listas, se use la notación ''{list v1 ... vn}'':<code scheme> | - (0.2) Finalmente, para dar una impresión más cómoda trabajando con listas, modifique el pretty-printing para que en el caso de listas, se use la notación ''{list v1 ... vn}'':<code scheme> |
> (run '{list 1 4 6}) | > (run '{list 1 4 6}) |
{list 1 4 6}</code> | {list 1 4 6}</code> |