Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
teaching:cc4101:tareas:2020-1:tarea1 [2020/04/13 15:49] – Copia de la tarea 1 de 2019-1 kmaillard | teaching:cc4101:tareas:2020-1:tarea1 [2020/04/21 14:15] (current) – [2. Verificación de Tipos [1.5pt]] kmaillard | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tarea 1 (Entrega: | + | ====== Tarea 1 (Entrega: |
- | Esta tarea se distribuye con un archivo zip {{ :teaching: | + | Esta tarea se distribuye con un archivo zip {{teaching: |
Deben entregar via U-cursos **un archivo .zip** que contenga los archivos main.rkt y tests.rkt. | Deben entregar via U-cursos **un archivo .zip** que contenga los archivos main.rkt y tests.rkt. | ||
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 |
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)" | ||
Line 117: | Line 117: | ||
> | > | ||
- | "Type error in expression + position 2: expected Num found {Num -> Num}" | + | "Type error in expression + position 2: expected Num found (Num -> Num)" |