Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:cc4101:tareas:2024-1:tarea2:parte2 [2024/05/21 14:53] etanterteaching:cc4101:tareas:2024-1:tarea2:parte2 [2024/05/21 15:03] (current) etanter
Line 29: Line 29:
 **Observaciones**: **Observaciones**:
   * Cada ''mfun'' tiene su propia memoria.   * Cada ''mfun'' tiene su propia memoria.
-  * Si usan los valores del lenguaje como llaves, se van a encontrar con problemas con el mecanismo de hashing normal dado que los valores son mutables debido a las tablas de hash de memoización ((ver [[https://docs.racket-lang.org/reference/hashtables.html#(elem._(caveat._mutable-keys))|documentación]] sobre hash tables y valores mutables.)). Para resolver este problema, en vez de usar ''make-hash'' para crear sus tablas de hash, tienen que usar ''make-hashalw'': este constructor retorna una tabla que usa ''equal-always?''((ver [[https://docs.racket-lang.org/reference/Equality.html#%28def._%28%28quote._~23~25kernel%29._equal-always~3f%29%29|documentación]] sobre igualdad de estructuras mutables)) para comparar llaves y por ende se comporta de manera coherente con llaves mutables.+  * Si usan los valores del lenguaje como llaves, se van a encontrar con problemas con el mecanismo de hashing normal dado que los valores son mutables (por las tablas de hash de memoización((ver [[https://docs.racket-lang.org/reference/hashtables.html#(elem._(caveat._mutable-keys))|documentación]] sobre hash tables y valores mutables.)). Para resolver este problema, en vez de usar ''make-hash'' para crear sus tablas de hash, tienen que usar ''make-hashalw'': este constructor retorna una tabla que usa ''equal-always?''((ver [[https://docs.racket-lang.org/reference/Equality.html#%28def._%28%28quote._~23~25kernel%29._equal-always~3f%29%29|documentación]] sobre igualdad de estructuras y mutación.)) para comparar llaves y por ende se comporta de manera coherente con llaves mutables.