Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
teaching:cc4101:tareas:2020-1:tarea1 [2020/04/13 12:49] – Copia de la tarea 1 de 2019-1 kmaillardteaching:cc4101:tareas:2020-1:tarea1 [2020/04/14 07:12] – [2. Verificación de Tipos [1.5pt]] kmaillard
Line 68: Line 68:
      * Para la aplicación de función se valida que la expresión en posición de función sea efectivamente una función.      * Para la aplicación de función se valida que la expresión en posición de función sea efectivamente una función.
      * Para la aplicación de función también se valida que el tipo de la expresión de argumento de la aplicación coincide con el tipo esperado del argumento de la función.      * Para la aplicación de función también se valida que el tipo de la expresión de argumento de la aplicación coincide con el tipo esperado del argumento de la función.
-     * Para la aplicación de un operador se valida que sus operandos tengan el tipo correcto.+     * Para la aplicación de un operador numerico se valida que sus operandos tengan el tipo correcto ''%%'Num%%''.
  
 Los mensaje de error de tipo tienen que seguir el siguiente patrón:  Los mensaje de error de tipo tienen que seguir el siguiente patrón: 
Line 97: Line 97:
   "Type error in expression fun position 1: expected (Num -> Num) found Num"   "Type error in expression fun position 1: expected (Num -> Num) found Num"
   > (typeof (parse '{1 2}))   > (typeof (parse '{1 2}))
-  "Type error in expression app position 1: expected (T -> S) found Num"+  "Type error in expression app position 1: expected (?T -> ?S) found Num"
   > (typeof (parse '{{fun {x : Num} : Num {+ x x}} {fun {x : Num} : Num 5}}))   > (typeof (parse '{{fun {x : Num} : Num {+ x x}} {fun {x : Num} : Num 5}}))
   "Type error in expression app position 2: expected Num found (Num -> Num)"   "Type error in expression app position 2: expected Num found (Num -> Num)"