Buenas, me estoy preparando un exámen y tento este ejercicio:
Dado el siguiente código:
do 0 x y = y
do n x y = do (n-1) x (x y)
a) Escribe la declaración de esta función, y justifica si es de alto orden, si usa politipos, y pon un ejemplo de su uso con diferentes tipos.
b) Incluye también un ejemplo de parametrización parcial.
c) Modifica do para que use paso de parámetros por tuplas, incluye su definición y muestra un ejemplo de parametrización parcial si es posible.
Solución:
a) do :: Integer -> (a->a) -> a
Es de alto orden ya que x es una función pasada por parámetro,
Usa politipos ya que y puede ser int, string, etc..
Ejemplo:
- do 3 suma_2 4
- do 3 añade_punto "hola"
b) do3 x y = do 3 x y
c) Ni idea
La a) y la b) creo que están bien ¿no? ¿Y la modificación por tuplas alguien la sabria hacer?
Bueno pues gracias, los de la uni no quieren colgar soluciones así que así estamos.
Un saludo.