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:2016-2:tarea2 [2016/11/02 00:46] – [P2 - Sistema de Tipos (2.0pt)] fmosso | teaching:cc4101:tareas:2016-2:tarea2 [2016/11/02 00:54] – [P1 - Estructuras Inductivas y Pattern Matching (2.0pt)] fmosso | ||
---|---|---|---|
Line 6: | Line 6: | ||
En esta tarea se le pide construir un lenguaje capaz de definir sus propios tipos. Use el archivo base.rkt como punto de partida. | En esta tarea se le pide construir un lenguaje capaz de definir sus propios tipos. Use el archivo base.rkt como punto de partida. | ||
- | ===== P1 - Estructuras Inductivas y Pattern Matching (2.0pt) ===== | + | ===== P1 - Estructuras Inductivas y Pattern Matching (3.0pt) ===== |
En esta primera parte defina un lenguaje con funciones de primera clase de múltiples argumentos, en donde los únicos otros valores son estructuras definibles por el usuario. | En esta primera parte defina un lenguaje con funciones de primera clase de múltiples argumentos, en donde los únicos otros valores son estructuras definibles por el usuario. | ||
Line 121: | Line 121: | ||
Funciones definidas con '' | Funciones definidas con '' | ||
+ | |||
+ | <code scheme> | ||
+ | (run ' | ||
+ | {O : nat} | ||
+ | {S : {nat -> nat}}} | ||
+ | {def byZero {n : nat} : nat | ||
+ | | ||
+ | | ||
+ | {case {S {O}} => {byZero {O}}} | ||
+ | {case {S {S {O}}} => {byZero {S {O}}}}}}} | ||
+ | | ||
+ | >" | ||
+ | </ | ||
<code scheme> | <code scheme> |