Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
teaching:cc4101:tareas:2026-1:tarea2:parte1 [2026/05/11 01:07] – [Agregando logs: primer intento] Aclaración log bduarteteaching:cc4101:tareas:2026-1:tarea2:parte1 [2026/05/11 02:07] (current) – [Agregando logs: primer intento] tip log con str bduarte
Line 18: Line 18:
 En un primer intento, van a agregar logs a través de una nueva estructura de datos y manteniendo un registro global de impresiones. En seguida, actualizarán su función de interpretación para que utilice este nuevo mecanismo.  En un primer intento, van a agregar logs a través de una nueva estructura de datos y manteniendo un registro global de impresiones. En seguida, actualizarán su función de interpretación para que utilice este nuevo mecanismo. 
  
-Para esta sección y la siguiente, consideren la siguiente estructura, donde se mantiene tanto el valor de ejecución como el log de impresiones (considere que log es una lista de números de Racket, no debería printear ''closV'').+Para esta sección y la siguiente, consideren la siguiente estructura, donde se mantiene tanto el valor de ejecución como el log de impresiones.
  
 <code scheme> <code scheme>
Line 24: Line 24:
     (result val log))     (result val log))
 </code> </code>
 +
 +<note tip>Cuando uno "printea" uno está mandando la representación en ''string'' del valor a la salida estándar, por lo que ''log'' debería ser una lista de strings (considere que solo pueda printear números, no clausuras)</note>
  
 Por otro lado, para mantener un log ergonómico de usar, es necesario utilizar mutación. Para esto,  les recomendamos utilizar el mecanismo de cajas de Racket ([[https://docs.racket-lang.org/reference/boxes.html|documentación]]). A continuación les proveemos una ilustración de la API de cajas, para hacer crecer una lista: Por otro lado, para mantener un log ergonómico de usar, es necesario utilizar mutación. Para esto,  les recomendamos utilizar el mecanismo de cajas de Racket ([[https://docs.racket-lang.org/reference/boxes.html|documentación]]). A continuación les proveemos una ilustración de la API de cajas, para hacer crecer una lista: