Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
teaching:cc4101:tareas:2015-2:tarea3 [2016/03/20 01:38] – fmosso | teaching:cc4101:tareas:2015-2:tarea3 [2016/03/20 01:49] – [(1.0)Funciones con n-argumentos] fmosso | ||
---|---|---|---|
Line 95: | Line 95: | ||
- (1.0) Implemente la función '' | - (1.0) Implemente la función '' | ||
===== (0.5) Sistemas de Tipos Simple ===== | ===== (0.5) Sistemas de Tipos Simple ===== | ||
- | En la tarea anterior se abordó el chequeo de tipos en el lenguaje de predicados. En esta ocasión extenderemos | + | Se implementará |
- | - Extienda((Tome la función de la tarea anterior como punto de partida)) | + | - Implemente |
* Para una función se válida que la expresión del cuerpo tenga el mismo tipo declarado en el retorno de la función. En caso de pasar la validación el tipo resultante es '' | * Para una función se válida que la expresión del cuerpo tenga el mismo tipo declarado en el retorno de la función. En caso de pasar la validación el tipo resultante es '' | ||
* Para la aplicación de función se valida que el primer argumento es efectivamente una función y que el tipo del segundo argumento de la aplicación (argumento real) coincide con el tipo del argumento (formal) de la función. En dicho caso la aplicación tiene el tipo del retorno de la función. | * Para la aplicación de función se valida que el primer argumento es efectivamente una función y que el tipo del segundo argumento de la aplicación (argumento real) coincide con el tipo del argumento (formal) de la función. En dicho caso la aplicación tiene el tipo del retorno de la función. | ||
Line 136: | Line 136: | ||
Entienda la función '' | Entienda la función '' | ||
+ | ===== (1.0)Funciones con n-argumentos ===== | ||
+ | Actualmente su lenguaje soporta únicamente funciones con un único argumento. Extienda su lenguaje para que soporte funciones con n-argumentos. La gramática de su lenguaje es | ||
+ | |||
+ | <code scheme> | ||
+ | expr::=... | ||
+ | | {fun {<id> : < | ||
+ | |||
+ | </ |