[Práctico 3] Ejercicio 3: operador twice.

[Práctico 3] Ejercicio 3: operador twice.

de Marco Nicolas Rodriguez Alvariza -
Número de respuestas: 2

Hola,

Una duda, tal vez menor, sobre el operador twice del ejercicio 3. Veo dos interpretaciones posibles. Una es que twice recibe como argumentos una función f y un valor x, y lo que hace es aplicar f a x dos veces. Algo así como

"twice f x = f (f x)"

La otra interpretación es que solo reciba la función f y devuelva otra función que sea igual a la doble aplicación de f. Algo como

"twice f = \x -> f (f x)"

¿Cualquier interpretación es correcta?

Gracias. Saludos,

Nicolás

 

En respuesta a Marco Nicolas Rodriguez Alvariza

Re: [Práctico 3] Ejercicio 3: operador twice.

de Carlos Luna -

Hola Marco.

Las dos opciones son correctas.

En Coq:

Definition twice := fun (f:A -> A) (x:A) => f (f x).

Definition twice2 (f:A -> A) (x:A) := f (f x).

Fijate al hacer Check de cada una para ver su tipo:

Check twice.

Check twice2.

Saludos, Carlos