prac 4 ej 1 b) Duda de letra

prac 4 ej 1 b) Duda de letra

de Aldo Martin Plazzotta Aguilera -
Número de respuestas: 2

En la parte b se define la funcion  foldN  y luego se pide :

"Defina las funciones de la parte a) en función de foldN ."

¿ Se refiere a implementar las funciones como foldN  o usando foldN ?

Hago esta distinción la cual ya se hizo en el practico 3.

En respuesta a Aldo Martin Plazzotta Aguilera

Re: prac 4 ej 1 b) Duda de letra

de Aldo Martin Plazzotta Aguilera -
En realidad ahora probando pude implementar todas las funciones "como foldN".

Con un pequeño detalle, la funcion predecesor me quedó:

predecesor (Succ n) = foldN Succ Zero n

Lo cual no define el valor de " predecesor Zero " (en la parte a se definio que predecesor Zero = Zero )
Debería agregar una linea para este caso. Me quedaría:

predecesor:: Nat-> Nat
predecesor Zero = Zero
predecesor ( Succ n ) = foldN Succ Zero n
En respuesta a Aldo Martin Plazzotta Aguilera

Re: prac 4 ej 1 b) Duda de letra

de Alberto Pardo -
Hola,

Todas las funciones de la parte a) de ese ejercicio se pueden escribir como foldN excepto predecesor.

La solución que vos das para predecesor no está mal, pero en realidad la idea es que des una definición de esta forma:

predecesor n = p (foldN f e n)

donde internamente la definición decide los casos de cero y sucesor. En tu definición la decisión del caso se hace afuera. Es algo sutilmente diferente pero impacta en la definición que se obtiene. Hay que determinar entonces quienes son p, f y e.

Saludos,
Alberto.