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:2023-1:tarea1 [2023/04/10 16:40] – typo tvallejosteaching:cc4101:tareas:2023-1:tarea1 [2023/04/24 13:07] (current) – [Parte 3. Contratos en funciones de primer orden (1.5 ptos.)] tvallejos
Line 92: Line 92:
   * Al implementar el lenguaje, asegúrese de hacerlo [[https://users.dcc.uchile.cl/~etanter/play-interps/Functions_with_Environments.html|utilizando ambientes]], y no una función de substitución.   * Al implementar el lenguaje, asegúrese de hacerlo [[https://users.dcc.uchile.cl/~etanter/play-interps/Functions_with_Environments.html|utilizando ambientes]], y no una función de substitución.
   * La semántica debe considerar alcance léxico, no dinámico.   * La semántica debe considerar alcance léxico, no dinámico.
-  * Verifique en tiempo de ejecución que los argumentos de los operadores numéricos sean numéricos. Y que los argumentos de los operadores de pares sean pares (En la parse 2 se alineará la verificación dinámica con la verificación estática).+  * Verifique en tiempo de ejecución que los argumentos de los operadores numéricos sean numéricos. Y que los argumentos de los operadores de pares sean pares (En la parte 2 se alineará la verificación dinámica con la verificación estática).
   * Considere que la igualdad solo es válida sobre números.   * Considere que la igualdad solo es válida sobre números.
   * La condición de una expresión ''if'' deben ser un booleano.   * La condición de una expresión ''if'' deben ser un booleano.
Line 236: Line 236:
  
 <code scheme> <code scheme>
-{{define {pair-non-zero? {p : {Pair Num Num}}} {and {} {}}}+{{define {pair-non-zero? {p : {Pair Num Num}}} {&& {= 0 {fst p}} {= 0 {snd p}}}}
  {define {pair-div {p : {Pair Num Num} @ pair-non-zero?}} {/ {fst x} {snd x}}}  {define {pair-div {p : {Pair Num Num} @ pair-non-zero?}} {/ {fst x} {snd x}}}
  {+ {pair-div {cons 30 5}} {pair-div {cons 60 0}}}  {+ {pair-div {cons 30 5}} {pair-div {cons 60 0}}}