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:2016-1:tarea1 [2016/04/08 15:27] fmossoteaching:cc4101:tareas:2016-1:tarea1 [2016/04/17 00:03] (current) – [Tarea 1 (Entrega: 20 de Abril 2016)] fmosso
Line 2: Line 2:
  
  
-Esta tarea se distribuye con un archivo zip {{teaching:cc4101:201601-tarea1-base.zip|}} que contiene **3 carpetas A, B, y C**, correspondientes a los conjuntos de archivos que tienen que entregar. Noten que la carpeta C es para entregar la pregunta opcional (bonus) descrita al final de la tarea.+Esta tarea se distribuye con un archivo zip {{:teaching:cc4101:tareas:2016-1:2016-tarea1ver2.zip|}} que contiene **3 carpetas A, B, y C**, correspondientes a los conjuntos de archivos que tienen que entregar. Noten que la carpeta C es para entregar la pregunta opcional (bonus) descrita al final de la tarea.
  
     * La **carpeta A** contiene 3 archivos: main.rkt, tests.rkt, y machine.rkt. Los archivos main.rkt y tests.rkt son incompletos, y en ellos tienen que implementar lo que se solicita en las preguntas 1, 2, y 3. **No deben modificar el archivo machine.rkt**: es una implementación completa de la máquina a la cual van a compilar su lenguaje.     * La **carpeta A** contiene 3 archivos: main.rkt, tests.rkt, y machine.rkt. Los archivos main.rkt y tests.rkt son incompletos, y en ellos tienen que implementar lo que se solicita en las preguntas 1, 2, y 3. **No deben modificar el archivo machine.rkt**: es una implementación completa de la máquina a la cual van a compilar su lenguaje.
Line 135: Line 135:
 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: 
 <code scheme> <code scheme>
-"Type error in expression <E> position <n>: expected <T1>found <T2>"+"Type error in expression <E> position <n>: expected <T1> found <T2>"
 </code> </code>
  
Line 155: Line 155:
   (TFun (TNum) (TBool))   (TFun (TNum) (TBool))
   > (typeof (parse '{fun {f : Num} : Bool 10}))   > (typeof (parse '{fun {f : Num} : Bool 10}))
-  "Type error in expression fun position 1: expected Boolfound Num"+  "Type error in expression fun position 3: expected Bool found Num"
   > (typeof (parse '{{fun {f : Num} : Bool #t} #t}))   > (typeof (parse '{{fun {f : Num} : Bool #t} #t}))
-  "Type error in expression app position 2: expected Numfound Bool"+  "Type error in expression app position 2: expected Num found Bool"
   > (typeof (parse 'y))   > (typeof (parse 'y))
   "Type error in expression id position 1: No type for identifier: y"     "Type error in expression id position 1: No type for identifier: y"  
Line 170: Line 170:
 >(typecheck  '{fun {f : Num} : Bool #t}) >(typecheck  '{fun {f : Num} : Bool #t})
 '{Num -> Bool} '{Num -> Bool}
 +
 +>(typecheck  '{+ 2 #t})
 +  "Type error in expression + position 2: expected Num found Bool"
  
 >(typecheck  '{if #t 1 #t}) >(typecheck  '{if #t 1 #t})
-  "Type error in expression if position 3: expected Numfound Bool"+  "Type error in expression if position 3: expected Num found Bool"
  
 </code>     </code>